Skip to content

Commit a410b6f

Browse files
mfreed7moz-wptsync-bot
authored andcommitted
Bug 1809253 [wpt PR 37815] - Change popover invoking attributes to use Element reflection, a=testonly
Automatic update from web-platform-tests Change popover invoking attributes to use Element reflection Per the conversation at [1], we've decided to make the IDL reflections of the invoking attributes (popovertoggletarget, popovershowtarget, and popoverhidetarget) use Element reflection, and be named accordingly. [1] whatwg/html#8221 (comment) Fixed: 1405856 Bug: 1307772 Change-Id: Iace783795c2db7a19e11fbc4f0c4da33a8765779 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4148056 Auto-Submit: Mason Freed <[email protected]> Commit-Queue: Mason Freed <[email protected]> Reviewed-by: Joey Arhar <[email protected]> Commit-Queue: Joey Arhar <[email protected]> Cr-Commit-Position: refs/heads/main@{#1090582} -- wpt-commits: a0ddc451e02afbbe600c679fe1edab0e4f878ecf wpt-pr: 37815
1 parent 04cbb63 commit a410b6f

File tree

3 files changed

+14
-12
lines changed

3 files changed

+14
-12
lines changed

testing/web-platform/tests/html/semantics/popovers/popover-invoking-attribute.tentative.html

+10-6
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,10 @@
3434
return el;
3535
};
3636
}
37+
function setInvokingContentAttribute(invoker,attr,idref) {
38+
invoker.setAttribute(attr,idref);
39+
assert_equals(invoker[attr + "Element"],document.getElementById(idref));
40+
}
3741
const supportedButtonTypes = ['button','reset','submit',''].map(type => {
3842
return {
3943
name: `<button type="${type}">`,
@@ -85,13 +89,13 @@
8589
assert_not_equals(popover1.id,popover2.id);
8690
const invoker = testcase.makeElement(test);
8791
if (use_idl) {
88-
invoker.popoverToggleTarget = t===1 ? popover1.id : (t===2 ? popover2.id : null);
89-
invoker.popoverShowTarget = s===1 ? popover1.id : (s===2 ? popover2.id : null);
90-
invoker.popoverHideTarget = h===1 ? popover1.id : (h===2 ? popover2.id : null);
92+
invoker.popoverToggleTargetElement = t===1 ? popover1 : (t===2 ? popover2 : null);
93+
invoker.popoverShowTargetElement = s===1 ? popover1 : (s===2 ? popover2 : null);
94+
invoker.popoverHideTargetElement = h===1 ? popover1 : (h===2 ? popover2 : null);
9195
} else {
92-
if (t) invoker.setAttribute('popovertoggletarget',t===1 ? popover1.id : popover2.id);
93-
if (s) invoker.setAttribute('popovershowtarget',s===1 ? popover1.id : popover2.id);
94-
if (h) invoker.setAttribute('popoverhidetarget',h===1 ? popover1.id : popover2.id);
96+
if (t) setInvokingContentAttribute(invoker,'popoverToggleTarget',t===1 ? popover1.id : popover2.id);
97+
if (s) setInvokingContentAttribute(invoker,'popoverShowTarget',s===1 ? popover1.id : popover2.id);
98+
if (h) setInvokingContentAttribute(invoker,'popoverHideTarget',h===1 ? popover1.id : popover2.id);
9599
}
96100
assert_true(!document.getElementById(popover1.id));
97101
assert_true(!document.getElementById(popover2.id));

testing/web-platform/tests/html/semantics/popovers/popover-top-layer-combinations.tentative.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@
119119
document.body.appendChild(button);
120120
assert_equals(ex.id,'');
121121
ex.id = 'popover-id';
122-
button.popoverToggleTarget = ex.id;
122+
button.popoverToggleTargetElement = ex;
123123
assert_true(ex.matches(':closed'));
124124
await clickOn(button);
125125
ensureIsOpenPopover(ex,'Invoking element should be able to invoke all popovers');

testing/web-platform/tests/interfaces/popover.tentative.idl

+3-5
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,9 @@ partial interface HTMLElement {
66
};
77

88
interface mixin PopoverTargetElement {
9-
// TODO(crbug.com/1405856): These might change to `Element`, or additional
10-
// attributes like `popoverToggleTargetElement` might be added for that.
11-
[CEReactions] attribute DOMString? popoverToggleTarget;
12-
[CEReactions] attribute DOMString? popoverHideTarget;
13-
[CEReactions] attribute DOMString? popoverShowTarget;
9+
[CEReactions] attribute Element? popoverToggleTargetElement;
10+
[CEReactions] attribute Element? popoverHideTargetElement;
11+
[CEReactions] attribute Element? popoverShowTargetElement;
1412
};
1513
HTMLInputElement includes PopoverTargetElement;
1614
HTMLButtonElement includes PopoverTargetElement;

0 commit comments

Comments
 (0)