Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 1b6a2d49b73b499f03bfd3270d7d55d6e78999cc
      
https://github.com/WebKit/WebKit/commit/1b6a2d49b73b499f03bfd3270d7d55d6e78999cc
  Author: Brady Eidson <[email protected]>
  Date:   2024-11-06 (Wed, 06 Nov 2024)

  Changed paths:
    M Source/WebCore/Headers.cmake
    M Source/WebCore/WebCore.xcodeproj/project.pbxproj
    M Source/WebCore/loader/EmptyClients.cpp
    M Source/WebCore/loader/EmptyFrameLoaderClient.h
    M Source/WebCore/loader/LocalFrameLoaderClient.h
    M Source/WebCore/page/LocalFrame.cpp
    M Source/WebCore/page/Page.cpp
    M Source/WebCore/page/Page.h
    M Source/WebCore/page/PageConfiguration.cpp
    M Source/WebCore/page/PageConfiguration.h
    A Source/WebCore/page/ProcessSyncClient.h
    M Source/WebKit/Sources.txt
    M Source/WebKit/WebKit.xcodeproj/project.pbxproj
    M Source/WebKit/WebProcess/WebCoreSupport/WebLocalFrameLoaderClient.cpp
    M Source/WebKit/WebProcess/WebCoreSupport/WebLocalFrameLoaderClient.h
    A Source/WebKit/WebProcess/WebCoreSupport/WebProcessSyncClient.cpp
    A Source/WebKit/WebProcess/WebCoreSupport/WebProcessSyncClient.h
    M Source/WebKit/WebProcess/WebPage/WebPage.cpp
    M Source/WebKitLegacy/mac/WebCoreSupport/WebFrameLoaderClient.h
    M Source/WebKitLegacy/mac/WebView/WebView.mm

  Log Message:
  -----------
  Introduce ProcessSyncClient, and move 
broadcastMainFrameURLChangeToOtherProcesses to it
rdar://139370028
https://bugs.webkit.org/show_bug.cgi?id=282700

Reviewed by Alex Christensen.

With site isolation, there will be many fields of data set by one process that 
need to be broadcast to all processes.

The existing, ad-hoc one-off "mainFrameURLChange" was the first of these. It 
won't be the last.

We need a better mechanism to handle synchronizing all this data.
And that mechanism is the ProcessSyncClient that is added to Page.

For now, I move the main frame URL broadcast away from FrameLoaderClient to 
ProcessSyncClient.
In the next patch, I autogenerate the relevant code.
Then after that, I'll start adding more properties that need to be broadcast.

* Source/WebCore/WebCore.xcodeproj/project.pbxproj:

* Source/WebCore/loader/EmptyClients.cpp:
(WebCore::pageConfigurationWithEmptyClients):
(WebCore::EmptyFrameLoaderClient::broadcastMainFrameURLChangeToOtherProcesses): 
Deleted.
* Source/WebCore/loader/EmptyFrameLoaderClient.h:

* Source/WebCore/loader/LocalFrameLoaderClient.h:

* Source/WebCore/page/LocalFrame.cpp:
(WebCore::LocalFrame::documentURLDidChange):

* Source/WebCore/page/Page.cpp:
(WebCore::Page::Page):
* Source/WebCore/page/Page.h:
(WebCore::Page::processSyncClient):
(WebCore::Page::processSyncClient const):

* Source/WebCore/page/PageConfiguration.cpp:
(WebCore::PageConfiguration::PageConfiguration):
* Source/WebCore/page/PageConfiguration.h:

* Source/WebCore/page/ProcessSyncClient.h: Added.
(WebCore::ProcessSyncClient::broadcastMainFrameURLChangeToOtherProcesses):

* Source/WebKit/Sources.txt:

* Source/WebKit/WebKit.xcodeproj/project.pbxproj:

* Source/WebKit/WebProcess/WebCoreSupport/WebLocalFrameLoaderClient.cpp:
(WebKit::WebLocalFrameLoaderClient::broadcastMainFrameURLChangeToOtherProcesses):
 Deleted.
* Source/WebKit/WebProcess/WebCoreSupport/WebLocalFrameLoaderClient.h:

* Source/WebKit/WebProcess/WebCoreSupport/WebProcessSyncClient.cpp: Added.
(WebKit::WebProcessSyncClient::WebProcessSyncClient):
(WebKit::WebProcessSyncClient::protectedPage const):
(WebKit::WebProcessSyncClient::siteIsolationEnabled):
(WebKit::WebProcessSyncClient::broadcastMainFrameURLChangeToOtherProcesses):
* Source/WebKit/WebProcess/WebCoreSupport/WebProcessSyncClient.h: Added.

* Source/WebKit/WebProcess/WebPage/WebPage.cpp:
(WebKit::m_textAnimationController):

* Source/WebKitLegacy/mac/WebCoreSupport/WebFrameLoaderClient.h:
(WebFrameLoaderClient::updateOpener):

* Source/WebKitLegacy/mac/WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:]):
(-[WebView initSimpleHTMLDocumentWithStyle:frame:preferences:groupName:]):

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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to