Closed Bug 1646978 Opened 1 year ago Closed 1 year ago

[wpt-sync] Sync PR 24251 - [Portals] Disallow activation during unload

Categories

(Testing :: web-platform-tests, task, P4)

task

Tracking

(firefox79 fixed)

RESOLVED FIXED
mozilla79
Tracking Status
firefox79 --- fixed

People

(Reporter: mozilla.org, Unassigned)

References

()

Details

(Whiteboard: [wptsync downstream])

Sync web-platform-tests PR 24251 into mozilla-central (this bug is closed when the sync is complete).

PR: https://github.com/web-platform-tests/wpt/pull/24251
Details from upstream follow.

David Bokan <bokan@chromium.org> wrote:

[Portals] Disallow activation during unload

This CL makes it so that portal activation is blocked when the document
enters a beforeunload handler. If the unload proceeds, portal activation
will continue to be blocked

This must be implemented inside the renderer as the renderer can
initiate navigations which the browser won't hear about until after
beforeunload is confirmed. We do this by looking at the Document's
LoadEventProgress state.

Unfortunately, the current behavior is that, following a beforeunload,
this state would progress unconditionally to
kBeforeUnloadEventCompleted. This prevents us from distinguishing the
case where the navigation is canceled, which should once again allow
portal activation. This CL updates this state to only progress to the
(renamed for consistency and clarity) kBeforeUnloadEventCompleted state
only after we confirm the unload will proceed.

Bug: 1043764
Change-Id: I80363ccf2228e3dc5434486c95c62c17e00743aa

Reviewed-on: https://chromium-review.googlesource.com/2251104
WPT-Export-Revision: 4267cdc29590b78b840c71ca7699cb1948b1664c

CI Results

Ran 11 Firefox configurations based on mozilla-central, and Firefox, Chrome, and Safari on GitHub CI

Total 1 tests and 3 subtests

Status Summary

Firefox

TIMEOUT: 2
NOTRUN : 2

Chrome

OK : 1
FAIL : 3

Safari

FAIL : 1
TIMEOUT: 2
NOTRUN : 1

Links

Gecko CI (Treeherder)
GitHub PR Head
GitHub PR Base

Details

New Tests That Don't Pass

/portals/portals-activate-while-unloading.html: SKIP [Gecko-android-em-7.0-x86_64-debug-geckoview, Gecko-linux1804-64-debug, Gecko-linux1804-64-opt, Gecko-linux1804-64-qr-debug, Gecko-linux1804-64-qr-opt, Gecko-windows10-64-debug, Gecko-windows10-64-opt, Gecko-windows10-64-qr-debug, Gecko-windows10-64-qr-opt, Gecko-windows7-32-debug, Gecko-windows7-32-opt], TIMEOUT [GitHub] (Chrome: OK, Safari: TIMEOUT)
cannot activate portal from unload: NOTRUN (Chrome: FAIL, Safari: NOTRUN)
cannot activate portal from beforeunload: TIMEOUT (Chrome: FAIL, Safari: FAIL)
cannot activate portal from pagehide: NOTRUN (Chrome: FAIL, Safari: TIMEOUT)

Tests Disabled in Gecko Infrastructure

/portals/portals-activate-while-unloading.html: SKIP [Gecko-android-em-7.0-x86_64-debug-geckoview, Gecko-linux1804-64-debug, Gecko-linux1804-64-opt, Gecko-linux1804-64-qr-debug, Gecko-linux1804-64-qr-opt, Gecko-windows10-64-debug, Gecko-windows10-64-opt, Gecko-windows10-64-qr-debug, Gecko-windows10-64-qr-opt, Gecko-windows7-32-debug, Gecko-windows7-32-opt], TIMEOUT [GitHub] (Chrome: OK, Safari: TIMEOUT)

Pushed by wptsync@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/1e94519c3c73
[wpt PR 24251] - [Portals] Disallow activation during unload, a=testonly
Status: NEW → RESOLVED
Closed: 1 year ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla79
You need to log in before you can comment on or make changes to this bug.