Title: [258588] trunk/Source/WebKit
Revision
258588
Author
[email protected]
Date
2020-03-17 14:04:20 -0700 (Tue, 17 Mar 2020)

Log Message

REGRESSION(r256882): WebDriver commands that run before initial navigation do not complete
https://bugs.webkit.org/show_bug.cgi?id=209185
<rdar://problem/60010248>

Reviewed by Brian Weinstein.

No new tests, covered by w3c/webdriver/tests/back/back.py.

* UIProcess/Automation/WebAutomationSession.cpp:
(WebKit::WebAutomationSession::createBrowsingContext):
Force eager creation of WebProcess when a browsing context is created. This allows
all subsequent commands that use WebProcess IPC to proceed instead of hanging.

Modified Paths

Diff

Modified: trunk/Source/WebKit/ChangeLog (258587 => 258588)


--- trunk/Source/WebKit/ChangeLog	2020-03-17 20:52:00 UTC (rev 258587)
+++ trunk/Source/WebKit/ChangeLog	2020-03-17 21:04:20 UTC (rev 258588)
@@ -1,3 +1,18 @@
+2020-03-17  Brian Burg  <[email protected]>
+
+        REGRESSION(r256882): WebDriver commands that run before initial navigation do not complete
+        https://bugs.webkit.org/show_bug.cgi?id=209185
+        <rdar://problem/60010248>
+
+        Reviewed by Brian Weinstein.
+
+        No new tests, covered by w3c/webdriver/tests/back/back.py.
+
+        * UIProcess/Automation/WebAutomationSession.cpp:
+        (WebKit::WebAutomationSession::createBrowsingContext):
+        Force eager creation of WebProcess when a browsing context is created. This allows
+        all subsequent commands that use WebProcess IPC to proceed instead of hanging.
+
 2020-03-17  Alex Christensen  <[email protected]>
 
         Fix GTK build.

Modified: trunk/Source/WebKit/UIProcess/Automation/WebAutomationSession.cpp (258587 => 258588)


--- trunk/Source/WebKit/UIProcess/Automation/WebAutomationSession.cpp	2020-03-17 20:52:00 UTC (rev 258587)
+++ trunk/Source/WebKit/UIProcess/Automation/WebAutomationSession.cpp	2020-03-17 21:04:20 UTC (rev 258588)
@@ -346,6 +346,8 @@
         if (!page)
             ASYNC_FAIL_WITH_PREDEFINED_ERROR_AND_DETAILS(InternalError, "The remote session failed to create a new browsing context.");
 
+        // WebDriver allows running commands in a browsing context which has not done any loads yet. Force WebProcess to be created so it can receive messages.
+        page->launchInitialProcessIfNecessary();
         callback->sendSuccess(protectedThis->handleForWebPageProxy(*page), toProtocol(protectedThis->m_client->currentPresentationOfPage(protectedThis.get(), *page)));
     });
 }
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to