[webkit-changes] [WebKit/WebKit] 8c959e: Revert 9c2ad9a13f93. rdar://problem/103003585

Alex Christensen noreply at github.com
Fri Jan 20 14:08:43 PST 2023


  Branch: refs/heads/safari-7615.1.18-branch
  Home:   https://github.com/WebKit/WebKit
  Commit: 8c959ec15e5044422bec220467606222cbcb962d
      https://github.com/WebKit/WebKit/commit/8c959ec15e5044422bec220467606222cbcb962d
  Author: Alan Coon <alancoon at apple.com>
  Date:   2023-01-20 (Fri, 20 Jan 2023)

  Changed paths:
    M Source/WebKit/NetworkProcess/NetworkProcess.cpp
    M Source/WebKit/NetworkProcess/NetworkProcess.h
    M Source/WebKit/NetworkProcess/NetworkProcess.messages.in
    M Source/WebKit/NetworkProcess/NetworkResourceLoader.cpp
    M Source/WebKit/NetworkProcess/NetworkSession.cpp
    M Source/WebKit/NetworkProcess/SharedWorker/WebSharedWorkerServer.cpp
    R Source/WebKit/Shared/LoadedWebArchive.h
    M Source/WebKit/UIProcess/WebPageProxy.cpp
    M Source/WebKit/UIProcess/WebProcessPool.cpp
    M Source/WebKit/WebKit.xcodeproj/project.pbxproj
    M Tools/TestWebKitAPI/Tests/WebKitCocoa/CreateWebArchive.mm

  Log Message:
  -----------
  Revert 9c2ad9a13f93. rdar://problem/103003585

This reverts commit 8907b7a225ed08e647c76120b08a6ac66e64c6ac.

Canonical link: https://commits.webkit.org/258608.25@safari-7615.1.18-branch


  Commit: 897199a224682896f2a7b641ddbf6887856356e4
      https://github.com/WebKit/WebKit/commit/897199a224682896f2a7b641ddbf6887856356e4
  Author: Chris Dumez <cdumez at apple.com>
  Date:   2023-01-20 (Fri, 20 Jan 2023)

  Changed paths:
    M Source/WebKit/UIProcess/WebPageProxy.cpp

  Log Message:
  -----------
  Cherry-pick 696c77d0b3f0. rdar://problem/103382619

    Potential crash under WebPageProxy::continueNavigationInNewProcess()
    https://bugs.webkit.org/show_bug.cgi?id=250404
    rdar://103382619

    Reviewed by Alex Christensen.

    Make sure the navigation and m_mainframe are still valid after receiving
    the async response to the NetworkProcess::AddAllowedFirstPartyForCookies
    IPC. We would previously crash on a null dereference of m_mainFrame in
    some cases.

    * Source/WebKit/UIProcess/WebPageProxy.cpp:
    (WebKit::WebPageProxy::triggerBrowsingContextGroupSwitchForNavigation):

    Canonical link: https://commits.webkit.org/258750@main

Canonical link: https://commits.webkit.org/258608.26@safari-7615.1.18-branch


  Commit: 07563f7fb7a1a15023a32638bdbf4b3ed3bc2160
      https://github.com/WebKit/WebKit/commit/07563f7fb7a1a15023a32638bdbf4b3ed3bc2160
  Author: Alex Christensen <achristensen at apple.com>
  Date:   2023-01-20 (Fri, 20 Jan 2023)

  Changed paths:
    M Source/WebKit/NetworkProcess/NetworkProcess.cpp
    M Source/WebKit/NetworkProcess/NetworkProcess.h
    M Source/WebKit/NetworkProcess/NetworkProcess.messages.in
    M Source/WebKit/NetworkProcess/NetworkResourceLoader.cpp
    M Source/WebKit/NetworkProcess/NetworkSession.cpp
    M Source/WebKit/NetworkProcess/SharedWorker/WebSharedWorkerServer.cpp
    A Source/WebKit/Shared/LoadedWebArchive.h
    M Source/WebKit/UIProcess/WebPageProxy.cpp
    M Source/WebKit/UIProcess/WebProcessPool.cpp
    M Source/WebKit/WebKit.xcodeproj/project.pbxproj
    M Tools/TestWebKitAPI/Tests/WebKitCocoa/CreateWebArchive.mm

  Log Message:
  -----------
  Cherry-pick 9c2ad9a13f93. rdar://problem/103003585

    WebArchive content should not terminate web process when accessing cookies
    https://bugs.webkit.org/show_bug.cgi?id=250537
    rdar://103003585

    Reviewed by Chris Dumez.

    There are 3 different ways I'm aware of to load WebArchives.  All of them needed fixing.
    When we load a web archive, it is only parsed in the web process, which is the only place
    we can find out what domain it was originally fetched from, which is contained inside the
    web archive data, which only has a way to parse it in its entirety.  Rather than parse
    the whole thing in the UI process or buffer it in the network process memory then parse it,
    I just disable cookie domain checks when a web archive has been loaded, which is rare.

    * Source/WebCore/loader/DocumentLoader.cpp:
    (WebCore::DocumentLoader::maybeCreateArchive):
    * Source/WebCore/loader/FrameLoaderClient.h:
    * Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp:
    (WebKit::NetworkConnectionToWebProcess::allowCookieAccessForWebArchive):
    * Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.h:
    * Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.messages.in:
    * Source/WebKit/NetworkProcess/NetworkProcess.cpp:
    (WebKit::NetworkProcess::initializeNetworkProcess):
    (WebKit::NetworkProcess::addAllowedFirstPartyForCookies):
    (WebKit::NetworkProcess::webProcessWillLoadWebArchive):
    (WebKit::NetworkProcess::webProcessDidLoadWebArchive):
    (WebKit::NetworkProcess::allowsFirstPartyForCookies):
    * Source/WebKit/NetworkProcess/NetworkProcess.h:
    * Source/WebKit/NetworkProcess/NetworkProcess.messages.in:
    * Source/WebKit/NetworkProcess/NetworkResourceLoader.cpp:
    (WebKit::NetworkResourceLoader::didReceiveMainResourceResponse):
    * Source/WebKit/NetworkProcess/NetworkSession.cpp:
    (WebKit::NetworkSession::ensureSWServer):
    * Source/WebKit/NetworkProcess/SharedWorker/WebSharedWorkerServer.cpp:
    (WebKit::WebSharedWorkerServer::createContextConnection):
    * Source/WebKit/Shared/LoadedWebArchive.h: Added.
    * Source/WebKit/UIProcess/WebPageProxy.cpp:
    (WebKit::WebPageProxy::loadAlternateHTML):
    (WebKit::WebPageProxy::loadWebArchiveData):
    (WebKit::WebPageProxy::triggerBrowsingContextGroupSwitchForNavigation):
    * Source/WebKit/UIProcess/WebProcessPool.cpp:
    (WebKit::WebProcessPool::processForNavigation):
    * Source/WebKit/WebKit.xcodeproj/project.pbxproj:
    * Source/WebKit/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
    (WebKit::WebFrameLoaderClient::allowCookieAccessForWebArchive):
    * Source/WebKit/WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
    * Tools/TestWebKitAPI/Tests/WebKitCocoa/CreateWebArchive.mm:

    Canonical link: https://commits.webkit.org/258901@main

Canonical link: https://commits.webkit.org/258608.27@safari-7615.1.18-branch


Compare: https://github.com/WebKit/WebKit/compare/f6c1625e8954...07563f7fb7a1


More information about the webkit-changes mailing list