Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: cc46e22d520a8fb84cbe314537d6297fffb485c4
https://github.com/WebKit/WebKit/commit/cc46e22d520a8fb84cbe314537d6297fffb485c4
Author: Chris Dumez <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M Source/WebKit/CMakeLists.txt
M Source/WebKit/DerivedSources-input.xcfilelist
M Source/WebKit/DerivedSources.make
M Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp
M Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.h
M Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.messages.in
M Source/WebKit/Shared/NetworkProcessConnectionParameters.h
M Source/WebKit/Shared/NetworkProcessConnectionParameters.serialization.in
A Source/WebKit/Shared/NetworkProcessPreferencesForWebProcess.h
A
Source/WebKit/Shared/NetworkProcessPreferencesForWebProcess.serialization.in
M Source/WebKit/UIProcess/API/APIPageConfiguration.cpp
M Source/WebKit/UIProcess/API/APIPageConfiguration.h
M Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp
M Source/WebKit/UIProcess/SuspendedPageProxy.cpp
M Source/WebKit/UIProcess/WebPageProxy.cpp
M Source/WebKit/UIProcess/WebPageProxy.h
M Source/WebKit/UIProcess/WebProcessCache.cpp
M Source/WebKit/UIProcess/WebProcessPool.cpp
M Source/WebKit/UIProcess/WebProcessPool.h
M Source/WebKit/UIProcess/WebProcessProxy.cpp
M Source/WebKit/UIProcess/WebProcessProxy.h
M Source/WebKit/WebKit.xcodeproj/project.pbxproj
M Source/WebKit/WebProcess/Network/NetworkProcessConnection.cpp
M Source/WebKit/WebProcess/Network/WebTransportSession.cpp
M Source/WebKit/WebProcess/WebPage/WebPage.cpp
M Source/WebKit/WebProcess/WebPage/WebPage.h
M Source/WebKit/WebProcess/WebProcess.cpp
M Source/WebKit/WebProcess/WebProcess.h
Log Message:
-----------
Disable Web Transport-related IPC endpoints when the feature is disabled at
runtime
https://bugs.webkit.org/show_bug.cgi?id=269742
rdar://122108912
Reviewed by Alex Christensen.
Follow the same pattern as for the GPUProcess, introduce a
NetworkProcessPreferencesForWebProcess struct which contains the set of
WebProcess preferences the NetworkProcess needs to know about (for now
"isWebTransportEnabled"). These preferences are passed to the network
process when the WebProcess initiates the connection to the network
process.
The NetworkProcess can then use these preferences to decide whether
or not to enable particular IPC endpoints with the WebProcess, using
[EnabledIf] in messages.in.
* Source/WebKit/CMakeLists.txt:
* Source/WebKit/DerivedSources.make:
* Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::m_preferencesForWebProcess):
(WebKit::m_allowTestOnlyIPC): Deleted.
* Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.h:
(WebKit::NetworkConnectionToWebProcess::isWebTransportEnabled const):
* Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.messages.in:
* Source/WebKit/Shared/NetworkProcessConnectionParameters.h:
* Source/WebKit/Shared/NetworkProcessConnectionParameters.serialization.in:
* Source/WebKit/Shared/NetworkProcessPreferencesForWebProcess.h: Copied from
Source/WebKit/Shared/NetworkProcessConnectionParameters.h.
* Source/WebKit/Shared/NetworkProcessPreferencesForWebProcess.serialization.in:
Copied from
Source/WebKit/Shared/NetworkProcessConnectionParameters.serialization.in.
* Source/WebKit/UIProcess/API/APIPageConfiguration.cpp:
(API::PageConfiguration::preferences const):
(API::PageConfiguration::preferencesForNetworkProcess const):
(API::PageConfiguration::preferences): Deleted.
* Source/WebKit/UIProcess/API/APIPageConfiguration.h:
* Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::getNetworkProcessConnection):
* Source/WebKit/UIProcess/SuspendedPageProxy.cpp:
(WebKit::SuspendedPageProxy::findReusableSuspendedPageProcess):
* Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::hasSameGPUAndNetworkProcessPreferencesAs const):
(WebKit::WebPageProxy::launchProcess):
(WebKit::WebPageProxy::preferencesForNetworkProcess const):
(WebKit::WebPageProxy::hasSameGPUProcessPreferencesAs const): Deleted.
* Source/WebKit/UIProcess/WebPageProxy.h:
* Source/WebKit/UIProcess/WebProcessCache.cpp:
(WebKit::WebProcessCache::takeProcess):
* Source/WebKit/UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::createWebPage):
(WebKit::WebProcessPool::processForNavigationInternal):
* Source/WebKit/UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::initializePreferencesForGPUAndNetworkProcesses):
(WebKit::WebProcessProxy::hasSameGPUAndNetworkProcessPreferencesAs const):
(WebKit::WebProcessProxy::addProvisionalPageProxy):
(WebKit::WebProcessProxy::addRemotePageProxy):
(WebKit::WebProcessProxy::addExistingWebPage):
(WebKit::WebProcessProxy::initializePreferencesForGPUProcess): Deleted.
(WebKit::WebProcessProxy::hasSameGPUProcessPreferencesAs const): Deleted.
* Source/WebKit/UIProcess/WebProcessProxy.h:
(WebKit::WebProcessProxy::preferencesForNetworkProcess const):
* Source/WebKit/WebKit.xcodeproj/project.pbxproj:
* Source/WebKit/WebProcess/Network/NetworkProcessConnection.cpp:
(WebKit::NetworkProcessConnection::didReceiveMessage):
* Source/WebKit/WebProcess/Network/WebTransportSession.cpp:
(WebKit::WebTransportSession::WebTransportSession):
* Source/WebKit/WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::isWebTransportEnabled const):
* Source/WebKit/WebProcess/WebPage/WebPage.h:
* Source/WebKit/WebProcess/WebProcess.cpp:
(WebKit::WebProcess::updateIsWebTransportEnabled):
(WebKit::WebProcess::createWebPage):
(WebKit::WebProcess::removeWebPage):
* Source/WebKit/WebProcess/WebProcess.h:
(WebKit::WebProcess::isWebTransportEnabled const):
Canonical link: https://commits.webkit.org/275218@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