[Webkit-unassigned] [Bug 282137] New: [Navigation] Synchronous navigations block between committed and finished

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Sat Oct 26 10:10:26 PDT 2024


https://bugs.webkit.org/show_bug.cgi?id=282137

            Bug ID: 282137
           Summary: [Navigation] Synchronous navigations block between
                    committed and finished
           Product: WebKit
           Version: WebKit Nightly Build
          Hardware: Unspecified
                OS: Unspecified
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: WebCore Misc.
          Assignee: webkit-unassigned at lists.webkit.org
          Reporter: pgriffis at igalia.com
            Blocks: 258384

An example of this is in the navigation-api/focus-reset/ tests, such as basic.html.

It includes the JS file navigation-api/focus-reset/resources/helpers.mjs which has code like:

    const { committed, finished } = navigation.navigate("#foo");

    await committed;
    assert_equals(document.activeElement, button, "Focus stays on the button during the transition");

    await finished.catch(() => {});
    assert_equals(document.activeElement, button, "Focus stays on the button after the transition");

The issue is that the navigation blocks all the way until the point where `finished` is fulfilled.

The `committed` promise is resolved at the correct time, however the JS after it is not able to execute
until after the navigation is complete (by which point `finished` has been resolved also).


Referenced Bugs:

https://bugs.webkit.org/show_bug.cgi?id=258384
[Bug 258384] Implement the navigation API
-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20241026/a6c38738/attachment-0001.htm>


More information about the webkit-unassigned mailing list