REGRESSION (r243094): internal media test fairplay-hls-error.html is failing
authorcdumez@apple.com <cdumez@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 19 Mar 2019 18:44:18 +0000 (18:44 +0000)
committercdumez@apple.com <cdumez@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 19 Mar 2019 18:44:18 +0000 (18:44 +0000)
https://bugs.webkit.org/show_bug.cgi?id=195954
<rdar://problem/49005981>

Reviewed by Geoffrey Garen.

TestController::resetStateToConsistentValues() tries to send a "reset" message to its
injected bundle. Part of the "reset" message sets the external hosts that we're allowed
to load. If there is no WebProcess yet when WKPagePostMessageToInjectedBundle() is called,
then this message does not get sent and the allowed hosts do not get set, causing this
test failure.

To address the issue, make sure we launch the initial process if necessary when
WebPageProxy::postMessageToInjectedBundle() is called, in order to maintain backward
compatibility.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::postMessageToInjectedBundle):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@243156 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/WebKit/ChangeLog
Source/WebKit/UIProcess/WebPageProxy.cpp

index c129712..6dc480d 100644 (file)
@@ -1,5 +1,26 @@
 2019-03-19  Chris Dumez  <cdumez@apple.com>
 
+        REGRESSION (r243094): internal media test fairplay-hls-error.html is failing
+        https://bugs.webkit.org/show_bug.cgi?id=195954
+        <rdar://problem/49005981>
+
+        Reviewed by Geoffrey Garen.
+
+        TestController::resetStateToConsistentValues() tries to send a "reset" message to its
+        injected bundle. Part of the "reset" message sets the external hosts that we're allowed
+        to load. If there is no WebProcess yet when WKPagePostMessageToInjectedBundle() is called,
+        then this message does not get sent and the allowed hosts do not get set, causing this
+        test failure.
+
+        To address the issue, make sure we launch the initial process if necessary when
+        WebPageProxy::postMessageToInjectedBundle() is called, in order to maintain backward
+        compatibility.
+
+        * UIProcess/WebPageProxy.cpp:
+        (WebKit::WebPageProxy::postMessageToInjectedBundle):
+
+2019-03-19  Chris Dumez  <cdumez@apple.com>
+
         Unreviewed, rolling out r243142.
 
         Caused assertion hits in WK2 Debug
index 4bb0141..065a9d6 100644 (file)
@@ -5815,6 +5815,9 @@ NativeWebMouseEvent* WebPageProxy::currentlyProcessedMouseDownEvent()
 
 void WebPageProxy::postMessageToInjectedBundle(const String& messageName, API::Object* messageBody)
 {
+    // For backward-compatibility, make sure we launch the initial process if the client asks to post a message to its injected bundle because doing a load.
+    launchInitialProcessIfNecessary();
+
     process().send(Messages::WebPage::PostInjectedBundleMessage(messageName, UserData(process().transformObjectsToHandles(messageBody).get())), m_pageID);
 }