⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 243156 in webkit


Ignore:
Timestamp:
Mar 19, 2019, 11:44:18 AM (7 years ago)
Author:
Chris Dumez
Message:

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):

Location:
trunk/Source/WebKit
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit/ChangeLog

    r243154 r243156  
     12019-03-19  Chris Dumez  <cdumez@apple.com>
     2
     3        REGRESSION (r243094): internal media test fairplay-hls-error.html is failing
     4        https://bugs.webkit.org/show_bug.cgi?id=195954
     5        <rdar://problem/49005981>
     6
     7        Reviewed by Geoffrey Garen.
     8
     9        TestController::resetStateToConsistentValues() tries to send a "reset" message to its
     10        injected bundle. Part of the "reset" message sets the external hosts that we're allowed
     11        to load. If there is no WebProcess yet when WKPagePostMessageToInjectedBundle() is called,
     12        then this message does not get sent and the allowed hosts do not get set, causing this
     13        test failure.
     14
     15        To address the issue, make sure we launch the initial process if necessary when
     16        WebPageProxy::postMessageToInjectedBundle() is called, in order to maintain backward
     17        compatibility.
     18
     19        * UIProcess/WebPageProxy.cpp:
     20        (WebKit::WebPageProxy::postMessageToInjectedBundle):
     21
    1222019-03-19  Chris Dumez  <cdumez@apple.com>
    223
  • trunk/Source/WebKit/UIProcess/WebPageProxy.cpp

    r243154 r243156  
    58165816void WebPageProxy::postMessageToInjectedBundle(const String& messageName, API::Object* messageBody)
    58175817{
     5818    // 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.
     5819    launchInitialProcessIfNecessary();
     5820
    58185821    process().send(Messages::WebPage::PostInjectedBundleMessage(messageName, UserData(process().transformObjectsToHandles(messageBody).get())), m_pageID);
    58195822}
Note: See TracChangeset for help on using the changeset viewer.