Bug 268471

Summary: [Site Isolation] If testRunner.notifyDone is called from a site isolated process layout test may not complete
Product: WebKit Reporter: Ryan Reno <rreno>
Component: WebKit Process ModelAssignee: Ryan Reno <rreno>
Status: RESOLVED FIXED    
Severity: Normal CC: webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
See Also: https://bugs.webkit.org/show_bug.cgi?id=280403

Ryan Reno
Reported 2024-01-31 08:47:35 PST
...
Attachments
Ryan Reno
Comment 1 2024-01-31 08:47:46 PST
Ryan Reno
Comment 2 2024-01-31 08:58:17 PST
Ryan Reno
Comment 3 2024-02-05 09:19:34 PST
There's a race condition between the main frame and a remote frame calling notifyDone. If the main frame's DocumentLoader makes its finished loading callbacks and checks in with the UIProcess' m_waitUntilDone variable (via the GetWaitUntilDone message) before the remote frame can write to the variable then we'll hang, waiting forever. The fix is going to be identifying whether or not notifyDone is being called from a remote frame and if it is, sending the "Done" message to the UIProcess which will take care of notifying the main frame's WebContent process to wrap up the test.
Ryan Reno
Comment 4 2024-02-05 17:12:51 PST
EWS
Comment 5 2024-02-07 05:53:43 PST
Committed 274211@main (2e5a9d342dc4): <https://commits.webkit.org/274211@main> Reviewed commits have been landed. Closing PR #23893 and removing active labels.
Note You need to log in before you can comment on or make changes to this bug.