[wpt-sync] Sync PR 38269 - Reland "Update popover post-toggle event naming and behavior"
Categories
(Core :: DOM: Core & HTML, task, P4)
Tracking
()
Tracking | Status | |
---|---|---|
firefox111 | --- | fixed |
People
(Reporter: mozilla.org, Unassigned)
References
()
Details
(Whiteboard: [wptsync downstream])
Sync web-platform-tests PR 38269 into mozilla-central (this bug is closed when the sync is complete).
PR: https://github.com/web-platform-tests/wpt/pull/38269
Details from upstream follow.
Mason Freed <masonf@chromium.org> wrote:
Reland "Update popover post-toggle event naming and behavior"
This is a reland of commit 2e5ee120d7fc5df4b6c101e88d03a5f62a73d8b8
It seems that the event coalescing behavior changes cause a segfault
in the event dispatch code. This reland (compare to Patchset 1) just
includes the event renaming, and not the new behavior. I'll land
the new behavior in a separate CL to make it smaller if it gets
reverted again. This part should be safe.Original change's description:
Update popover post-toggle event naming and behavior
This CL updates the post-toggle event in the following ways:
- Rename the 'aftertoggle' event to 'toggle'.
- Rename PopoverToggleEvent to ToggleEvent.
- Rename the currentState attribute to oldState.
- Add event coalescing behavior. If two transitions occur before the
first 'toggle' event has been fired, cancel the first event and
queue a replacement that has oldState === newState.These changes were driven by the corresponding changes to the spec PR:
https://github.com/whatwg/html/pull/8717Bug: 1307772
Change-Id: Iabc5a9093d7cef3bbd6e54e488d8e571c51ea568
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4195120
Auto-Submit: Mason Freed \<masonf@chromium.org>
Commit-Queue: Joey Arhar \<jarhar@chromium.org>
Reviewed-by: Joey Arhar \<jarhar@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1098728}Bug: 1307772
Change-Id: Iede18bbf05516cec4ee881f1afc663c45380c82e
Reviewed-on: https://chromium-review.googlesource.com/4205710
WPT-Export-Revision: e57a765fc5f1ba7868e61f767f77ac621afdafa8
Assignee | ||
Updated•1 year ago
|
Assignee | ||
Comment 1•1 year ago
|
||
Pushed to try (stability) https://treeherder.mozilla.org/#/jobs?repo=try&revision=c979b410066ce011fd6ca979d2470c4a50f31caf
Assignee | ||
Comment 2•1 year ago
|
||
CI Results
Ran 9 Firefox configurations based on mozilla-central, and Firefox, Chrome, and Safari on GitHub CI
Total 3 tests and 37 subtests
Status Summary
Firefox
OK
: 3
PASS
: 14
FAIL
: 123
Chrome
OK
: 2
PASS
: 87
FAIL
: 50
ERROR
: 1
Safari
OK
: 3
PASS
: 14
FAIL
: 123
Links
Gecko CI (Treeherder)
GitHub PR Head
GitHub PR Base
Details
New Tests That Don't Pass
- /html/semantics/popovers/idlharness.tentative.html [wpt.fyi]
- ToggleEvent interface: existence and properties of interface object:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - ToggleEvent interface object length:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - ToggleEvent interface object name:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - ToggleEvent interface: existence and properties of interface prototype object:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - ToggleEvent interface: existence and properties of interface prototype object's "constructor" property:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - ToggleEvent interface: existence and properties of interface prototype object's @@unscopables property:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - ToggleEvent interface: attribute oldState:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - ToggleEvent interface: attribute newState:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - HTMLElement interface: operation togglePopover(optional boolean):
FAIL
(Chrome:PASS
, Safari:FAIL
) - HTMLElement interface: operation showPopover():
FAIL
(Chrome:PASS
, Safari:FAIL
) - HTMLElement interface: operation hidePopover():
FAIL
(Chrome:PASS
, Safari:FAIL
) - HTMLElement interface: attribute popover:
FAIL
(Chrome:PASS
, Safari:FAIL
) - HTMLElement interface: document.getElementById("p1") must inherit property "togglePopover(optional boolean)" with the proper type:
FAIL
(Chrome:PASS
, Safari:FAIL
) - HTMLElement interface: calling togglePopover(optional boolean) on document.getElementById("p1") with too few arguments must throw TypeError:
FAIL
(Chrome:PASS
, Safari:FAIL
) - HTMLElement interface: document.getElementById("p1") must inherit property "showPopover()" with the proper type:
FAIL
(Chrome:PASS
, Safari:FAIL
) - HTMLElement interface: document.getElementById("p1") must inherit property "hidePopover()" with the proper type:
FAIL
(Chrome:PASS
, Safari:FAIL
) - HTMLElement interface: document.getElementById("p1") must inherit property "popover" with the proper type:
FAIL
(Chrome:PASS
, Safari:FAIL
) - HTMLElement interface: document.getElementById("p2") must inherit property "togglePopover(optional boolean)" with the proper type:
FAIL
(Chrome:PASS
, Safari:FAIL
) - HTMLElement interface: calling togglePopover(optional boolean) on document.getElementById("p2") with too few arguments must throw TypeError:
FAIL
(Chrome:PASS
, Safari:FAIL
) - HTMLElement interface: document.getElementById("p2") must inherit property "showPopover()" with the proper type:
FAIL
(Chrome:PASS
, Safari:FAIL
) - HTMLElement interface: document.getElementById("p2") must inherit property "hidePopover()" with the proper type:
FAIL
(Chrome:PASS
, Safari:FAIL
) - HTMLElement interface: document.getElementById("p2") must inherit property "popover" with the proper type:
FAIL
(Chrome:PASS
, Safari:FAIL
) - HTMLElement interface: document.getElementById("p3") must inherit property "togglePopover(optional boolean)" with the proper type:
FAIL
(Chrome:PASS
, Safari:FAIL
) - HTMLElement interface: calling togglePopover(optional boolean) on document.getElementById("p3") with too few arguments must throw TypeError:
FAIL
(Chrome:PASS
, Safari:FAIL
) - HTMLElement interface: document.getElementById("p3") must inherit property "showPopover()" with the proper type:
FAIL
(Chrome:PASS
, Safari:FAIL
) - HTMLElement interface: document.getElementById("p3") must inherit property "hidePopover()" with the proper type:
FAIL
(Chrome:PASS
, Safari:FAIL
) - HTMLElement interface: document.getElementById("p3") must inherit property "popover" with the proper type:
FAIL
(Chrome:PASS
, Safari:FAIL
) - HTMLInputElement interface: attribute popoverToggleTargetElement:
FAIL
(Chrome:PASS
, Safari:FAIL
) - HTMLInputElement interface: attribute popoverHideTargetElement:
FAIL
(Chrome:PASS
, Safari:FAIL
) - HTMLInputElement interface: attribute popoverShowTargetElement:
FAIL
(Chrome:PASS
, Safari:FAIL
) - HTMLInputElement interface: document.getElementById("i1") must inherit property "popoverToggleTargetElement" with the proper type:
FAIL
(Chrome:PASS
, Safari:FAIL
) - HTMLInputElement interface: document.getElementById("i1") must inherit property "popoverHideTargetElement" with the proper type:
FAIL
(Chrome:PASS
, Safari:FAIL
) - HTMLInputElement interface: document.getElementById("i1") must inherit property "popoverShowTargetElement" with the proper type:
FAIL
(Chrome:PASS
, Safari:FAIL
) - HTMLElement interface: document.getElementById("i1") must inherit property "togglePopover(optional boolean)" with the proper type:
FAIL
(Chrome:PASS
, Safari:FAIL
) - HTMLElement interface: calling togglePopover(optional boolean) on document.getElementById("i1") with too few arguments must throw TypeError:
FAIL
(Chrome:PASS
, Safari:FAIL
) - HTMLElement interface: document.getElementById("i1") must inherit property "showPopover()" with the proper type:
FAIL
(Chrome:PASS
, Safari:FAIL
) - HTMLElement interface: document.getElementById("i1") must inherit property "hidePopover()" with the proper type:
FAIL
(Chrome:PASS
, Safari:FAIL
) - HTMLElement interface: document.getElementById("i1") must inherit property "popover" with the proper type:
FAIL
(Chrome:PASS
, Safari:FAIL
) - HTMLInputElement interface: document.getElementById("i2") must inherit property "popoverToggleTargetElement" with the proper type:
FAIL
(Chrome:PASS
, Safari:FAIL
) - HTMLInputElement interface: document.getElementById("i2") must inherit property "popoverHideTargetElement" with the proper type:
FAIL
(Chrome:PASS
, Safari:FAIL
) - HTMLInputElement interface: document.getElementById("i2") must inherit property "popoverShowTargetElement" with the proper type:
FAIL
(Chrome:PASS
, Safari:FAIL
) - HTMLElement interface: document.getElementById("i2") must inherit property "togglePopover(optional boolean)" with the proper type:
FAIL
(Chrome:PASS
, Safari:FAIL
) - HTMLElement interface: calling togglePopover(optional boolean) on document.getElementById("i2") with too few arguments must throw TypeError:
FAIL
(Chrome:PASS
, Safari:FAIL
) - HTMLElement interface: document.getElementById("i2") must inherit property "showPopover()" with the proper type:
FAIL
(Chrome:PASS
, Safari:FAIL
) - HTMLElement interface: document.getElementById("i2") must inherit property "hidePopover()" with the proper type:
FAIL
(Chrome:PASS
, Safari:FAIL
) - HTMLElement interface: document.getElementById("i2") must inherit property "popover" with the proper type:
FAIL
(Chrome:PASS
, Safari:FAIL
) - HTMLInputElement interface: document.getElementById("i3") must inherit property "popoverToggleTargetElement" with the proper type:
FAIL
(Chrome:PASS
, Safari:FAIL
) - HTMLInputElement interface: document.getElementById("i3") must inherit property "popoverHideTargetElement" with the proper type:
FAIL
(Chrome:PASS
, Safari:FAIL
) - HTMLInputElement interface: document.getElementById("i3") must inherit property "popoverShowTargetElement" with the proper type:
FAIL
(Chrome:PASS
, Safari:FAIL
) - HTMLElement interface: document.getElementById("i3") must inherit property "togglePopover(optional boolean)" with the proper type:
FAIL
(Chrome:PASS
, Safari:FAIL
) - HTMLElement interface: calling togglePopover(optional boolean) on document.getElementById("i3") with too few arguments must throw TypeError:
FAIL
(Chrome:PASS
, Safari:FAIL
) - HTMLElement interface: document.getElementById("i3") must inherit property "showPopover()" with the proper type:
FAIL
(Chrome:PASS
, Safari:FAIL
) - HTMLElement interface: document.getElementById("i3") must inherit property "hidePopover()" with the proper type:
FAIL
(Chrome:PASS
, Safari:FAIL
) - HTMLElement interface: document.getElementById("i3") must inherit property "popover" with the proper type:
FAIL
(Chrome:PASS
, Safari:FAIL
) - HTMLButtonElement interface: attribute popoverToggleTargetElement:
FAIL
(Chrome:PASS
, Safari:FAIL
) - HTMLButtonElement interface: attribute popoverHideTargetElement:
FAIL
(Chrome:PASS
, Safari:FAIL
) - HTMLButtonElement interface: attribute popoverShowTargetElement:
FAIL
(Chrome:PASS
, Safari:FAIL
) - HTMLButtonElement interface: document.getElementById("b1") must inherit property "popoverToggleTargetElement" with the proper type:
FAIL
(Chrome:PASS
, Safari:FAIL
) - HTMLButtonElement interface: document.getElementById("b1") must inherit property "popoverHideTargetElement" with the proper type:
FAIL
(Chrome:PASS
, Safari:FAIL
) - HTMLButtonElement interface: document.getElementById("b1") must inherit property "popoverShowTargetElement" with the proper type:
FAIL
(Chrome:PASS
, Safari:FAIL
) - HTMLElement interface: document.getElementById("b1") must inherit property "togglePopover(optional boolean)" with the proper type:
FAIL
(Chrome:PASS
, Safari:FAIL
) - HTMLElement interface: calling togglePopover(optional boolean) on document.getElementById("b1") with too few arguments must throw TypeError:
FAIL
(Chrome:PASS
, Safari:FAIL
) - HTMLElement interface: document.getElementById("b1") must inherit property "showPopover()" with the proper type:
FAIL
(Chrome:PASS
, Safari:FAIL
) - HTMLElement interface: document.getElementById("b1") must inherit property "hidePopover()" with the proper type:
FAIL
(Chrome:PASS
, Safari:FAIL
) - HTMLElement interface: document.getElementById("b1") must inherit property "popover" with the proper type:
FAIL
(Chrome:PASS
, Safari:FAIL
) - HTMLButtonElement interface: document.getElementById("b2") must inherit property "popoverToggleTargetElement" with the proper type:
FAIL
(Chrome:PASS
, Safari:FAIL
) - HTMLButtonElement interface: document.getElementById("b2") must inherit property "popoverHideTargetElement" with the proper type:
FAIL
(Chrome:PASS
, Safari:FAIL
) - HTMLButtonElement interface: document.getElementById("b2") must inherit property "popoverShowTargetElement" with the proper type:
FAIL
(Chrome:PASS
, Safari:FAIL
) - HTMLElement interface: document.getElementById("b2") must inherit property "togglePopover(optional boolean)" with the proper type:
FAIL
(Chrome:PASS
, Safari:FAIL
) - HTMLElement interface: calling togglePopover(optional boolean) on document.getElementById("b2") with too few arguments must throw TypeError:
FAIL
(Chrome:PASS
, Safari:FAIL
) - HTMLElement interface: document.getElementById("b2") must inherit property "showPopover()" with the proper type:
FAIL
(Chrome:PASS
, Safari:FAIL
) - HTMLElement interface: document.getElementById("b2") must inherit property "hidePopover()" with the proper type:
FAIL
(Chrome:PASS
, Safari:FAIL
) - HTMLElement interface: document.getElementById("b2") must inherit property "popover" with the proper type:
FAIL
(Chrome:PASS
, Safari:FAIL
) - HTMLButtonElement interface: document.getElementById("b3") must inherit property "popoverToggleTargetElement" with the proper type:
FAIL
(Chrome:PASS
, Safari:FAIL
) - HTMLButtonElement interface: document.getElementById("b3") must inherit property "popoverHideTargetElement" with the proper type:
FAIL
(Chrome:PASS
, Safari:FAIL
) - HTMLButtonElement interface: document.getElementById("b3") must inherit property "popoverShowTargetElement" with the proper type:
FAIL
(Chrome:PASS
, Safari:FAIL
) - HTMLElement interface: document.getElementById("b3") must inherit property "togglePopover(optional boolean)" with the proper type:
FAIL
(Chrome:PASS
, Safari:FAIL
) - HTMLElement interface: calling togglePopover(optional boolean) on document.getElementById("b3") with too few arguments must throw TypeError:
FAIL
(Chrome:PASS
, Safari:FAIL
) - HTMLElement interface: document.getElementById("b3") must inherit property "showPopover()" with the proper type:
FAIL
(Chrome:PASS
, Safari:FAIL
) - HTMLElement interface: document.getElementById("b3") must inherit property "hidePopover()" with the proper type:
FAIL
(Chrome:PASS
, Safari:FAIL
) - HTMLElement interface: document.getElementById("b3") must inherit property "popover" with the proper type:
FAIL
(Chrome:PASS
, Safari:FAIL
)
- ToggleEvent interface: existence and properties of interface object:
- /html/semantics/popovers/popover-events.tentative.html [wpt.fyi]
- The "beforetoggle" event (listener) get properly dispatched for popovers:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - The "beforetoggle" event (attribute) get properly dispatched for popovers:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - The "beforetoggle" event is cancelable for the "opening" transition:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - The "beforetoggle" event is not fired for element removal:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - The "toggle" event is coalesced:
FAIL
(Chrome:FAIL
, Safari:FAIL
)
- The "beforetoggle" event (listener) get properly dispatched for popovers:
- /html/semantics/popovers/toggleevent-interface.tentative.html [wpt.fyi]
- the event is an instance of ToggleEvent:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - the event inherts from Event:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - Missing type argument:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - type argument is string:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - type argument is null:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - event type set to undefined:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - oldState has default value of empty string:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - oldState is readonly:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - newState has default value of empty string:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - newState is readonly:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - ToggleEventInit argument is null:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - ToggleEventInit argument is undefined:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - ToggleEventInit argument is empty dictionary:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - oldState set to 'sample':
FAIL
(Chrome:FAIL
, Safari:FAIL
) - oldState set to undefined:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - oldState set to null:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - oldState set to false:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - oldState set to true:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - oldState set to a number:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - oldState set to []:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - oldState set to [1, 2, 3]:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - oldState set to an object:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - oldState set to an object with a valueOf function:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - ToggleEventInit properties set value:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - ToggleEventInit properties set value 2:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - ToggleEventInit properties set value 3:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - ToggleEventInit properties set value 4:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - newState set to 'sample':
FAIL
(Chrome:FAIL
, Safari:FAIL
) - newState set to undefined:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - newState set to null:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - newState set to false:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - newState set to true:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - newState set to a number:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - newState set to []:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - newState set to [1, 2, 3]:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - newState set to an object:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - newState set to an object with a valueOf function:
FAIL
(Chrome:FAIL
, Safari:FAIL
)
- the event is an instance of ToggleEvent:
Pushed by wptsync@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/8c55e14ba3aa [wpt PR 38269] - Reland "Update popover post-toggle event naming and behavior", a=testonly
Comment 4•1 year ago
|
||
bugherder |
Description
•