[wpt-sync] Sync PR 38562 - Refactor NavigateEvent state checks
Categories
(Testing :: web-platform-tests, task, P4)
Tracking
(firefox112 fixed)
| Tracking | Status | |
|---|---|---|
| firefox112 | --- | fixed |
People
(Reporter: wpt-sync, Unassigned)
References
()
Details
(Whiteboard: [wptsync downstream])
Sync web-platform-tests PR 38562 into mozilla-central (this bug is closed when the sync is complete).
PR: https://github.com/web-platform-tests/wpt/pull/38562
Details from upstream follow.
Nate Chapin <japhet@chromium.org> wrote:
Refactor NavigateEvent state checks
- Add a PerformSharedChecks() helper for entry point checks that
apply to all functions on NavigateEvent (e.g., checking for
detached window, whether the event is trusted, etc.)- Add a state machine for NavigateEvent. Current states are
Initial, Committed, Scrolled, Finished, and transitions must
increase. This is of marginal utility now, but will be more useful
once commit is deferable.- Adding the state machine shows that it's possible to scroll before
commit by calling scroll() during navigate event dispatch (and in
fact, several tests do so). Fix that.Change-Id: I48095b97a3463d6bc145114639dbfc5711822b27
Reviewed-on: https://chromium-review.googlesource.com/4262131
WPT-Export-Revision: 1a4437278d88ae1d21b28645e337206190db499e
| Assignee | ||
Comment 1•3 years ago
|
||
| Assignee | ||
Comment 2•3 years ago
|
||
CI Results
Ran 9 Firefox configurations based on mozilla-central, and Firefox, Chrome, and Safari on GitHub CI
Total 6 tests and 1 subtests
Status Summary
Firefox
OK : 6
FAIL : 7
Chrome
OK : 4
PASS : 2
FAIL : 5
ERROR: 2
Safari
OK : 6
FAIL : 7
Links
Gecko CI (Treeherder)
GitHub PR Head
GitHub PR Base
Details
New Tests That Don't Pass
- /navigation-api/focus-reset/focus-reset-timing.html [wpt.fyi]
- Focus should be reset before navigatesuccess:
FAIL(Chrome:FAIL, Safari:FAIL) - Focus should be reset before navigateerror:
FAIL(Chrome:FAIL, Safari:FAIL)
- Focus should be reset before navigatesuccess:
- /navigation-api/scroll-behavior/after-transition-explicit-scroll.html [wpt.fyi]
- scroll: scroll() should preempt after-transition:
FAIL(Chrome:PASS, Safari:FAIL)
- scroll: scroll() should preempt after-transition:
- /navigation-api/scroll-behavior/manual-immediate-scroll.html [wpt.fyi]
- scroll: scroll() should not work inside a navigate event handler:
FAIL(Chrome:FAIL, Safari:FAIL)
- scroll: scroll() should not work inside a navigate event handler:
- /navigation-api/scroll-behavior/manual-scroll-repeated.html [wpt.fyi]
- scroll: scroll() should throw if called a second time:
FAIL(Chrome:PASS, Safari:FAIL)
- scroll: scroll() should throw if called a second time:
- /navigation-api/scroll-behavior/scroll-after-preventDefault.html [wpt.fyi]
- scroll: scroll() should throw after preventDefault:
FAIL(Chrome:FAIL, Safari:FAIL)
- scroll: scroll() should throw after preventDefault:
- /navigation-api/scroll-behavior/scroll-on-synthetic-event.html [wpt.fyi]
- scroll: scroll() should throw if invoked on a synthetic event.:
FAIL(Chrome:FAIL, Safari:FAIL)
- scroll: scroll() should throw if invoked on a synthetic event.:
Comment 4•3 years ago
|
||
| bugherder | ||
https://hg.mozilla.org/mozilla-central/rev/008ea5749c23
https://hg.mozilla.org/mozilla-central/rev/6684a007b8e0
Description
•