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

Changeset 236492 in webkit


Ignore:
Timestamp:
Sep 25, 2018, 6:27:54 PM (8 years ago)
Author:
Chris Dumez
Message:

Unreviewed, rolling out r236471 and r236480.

Seems to be causing some flaky crashes

Reverted changesets:

"UIProcess should process incoming sync IPC from WebProcess
when waiting for a sync IPC reply from it"
https://bugs.webkit.org/show_bug.cgi?id=189927
https://trac.webkit.org/changeset/236471

"Revert some of the changes in r236471"
https://bugs.webkit.org/show_bug.cgi?id=189973
https://trac.webkit.org/changeset/236480

Location:
trunk/Source/WebKit
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit/ChangeLog

    r236491 r236492  
     12018-09-25  Chris Dumez  <cdumez@apple.com>
     2
     3        Unreviewed, rolling out r236471 and r236480.
     4
     5        Seems to be causing some flaky crashes
     6
     7        Reverted changesets:
     8
     9        "UIProcess should process incoming sync IPC from WebProcess
     10        when waiting for a sync IPC reply from it"
     11        https://bugs.webkit.org/show_bug.cgi?id=189927
     12        https://trac.webkit.org/changeset/236471
     13
     14        "Revert some of the changes in r236471"
     15        https://bugs.webkit.org/show_bug.cgi?id=189973
     16        https://trac.webkit.org/changeset/236480
     17
    1182018-09-25  Conrad Shultz  <conrad_shultz@apple.com>
    219
  • trunk/Source/WebKit/UIProcess/WebPageProxy.cpp

    r236485 r236492  
    40144014        m_pageLoadState.clearPendingAPIRequestURL(transaction);
    40154015
    4016     auto* frame = m_process->webFrame(frameID);
     4016    WebFrameProxy* frame = m_process->webFrame(frameID);
    40174017    MESSAGE_CHECK(frame);
    40184018    MESSAGE_CHECK_URL(request.url());
  • trunk/Source/WebKit/WebProcess/WebPage/WebFrame.cpp

    r236480 r236492  
    112112{
    113113    auto frame = create(std::unique_ptr<WebFrameLoaderClient>(static_cast<WebFrameLoaderClient*>(&coreFrame->loader().client())));
    114     // DispatchMessageEvenWhenWaitingForSyncReply SendOption is needed to ensure that this IPC always gets received before the DecidePolicyForNavigationSync synchronous
    115     // IPC for this frame.
    116114    page->send(Messages::WebPageProxy::DidCreateMainFrame(frame->frameID()), page->pageID(), IPC::SendOption::DispatchMessageEvenWhenWaitingForSyncReply);
    117115
     
    125123{
    126124    auto frame = create(std::make_unique<WebFrameLoaderClient>());
    127     // DispatchMessageEvenWhenWaitingForSyncReply SendOption is needed to ensure that this IPC always gets received before the DecidePolicyForNavigationSync synchronous
    128     // IPC for this frame.
    129125    page->send(Messages::WebPageProxy::DidCreateSubframe(frame->frameID()), page->pageID(), IPC::SendOption::DispatchMessageEvenWhenWaitingForSyncReply);
    130126
  • trunk/Source/WebKit/WebProcess/WebProcess.cpp

    r236485 r236492  
    252252
    253253    m_webConnection = WebConnectionToUIProcess::create(this);
     254
     255    // In order to ensure that the asynchronous messages that are used for notifying the UI process
     256    // about when WebFrame objects come and go are always delivered before the synchronous policy messages,
     257    // use this flag to force synchronous messages to be treated as asynchronous messages in the UI process
     258    // unless when doing so would lead to a deadlock.
     259    connection->setOnlySendMessagesAsDispatchWhenWaitingForSyncReplyWhenProcessingSuchAMessage(true);
    254260}
    255261
Note: See TracChangeset for help on using the changeset viewer.