[webkit-changes] [WebKit/WebKit] aa4461: Prepare SandboxExtensionHandle for generated seria...
Alex Christensen
noreply at github.com
Tue Nov 7 08:35:53 PST 2023
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: aa4461b6312354f0bfe04f9acd39efac5b0e17fd
https://github.com/WebKit/WebKit/commit/aa4461b6312354f0bfe04f9acd39efac5b0e17fd
Author: Alex Christensen <achristensen at apple.com>
Date: 2023-11-07 (Tue, 07 Nov 2023)
Changed paths:
M Source/WebKit/GPUProcess/GPUProcessCreationParameters.serialization.in
M Source/WebKit/GPUProcess/GPUProcessSessionParameters.serialization.in
M Source/WebKit/NetworkProcess/NetworkProcessCreationParameters.serialization.in
M Source/WebKit/NetworkProcess/NetworkSessionCreationParameters.cpp
M Source/WebKit/NetworkProcess/NetworkSessionCreationParameters.h
M Source/WebKit/Platform/IPC/FormDataReference.h
M Source/WebKit/Scripts/generate-serializers.py
M Source/WebKit/Scripts/webkit/messages.py
M Source/WebKit/Scripts/webkit/tests/GeneratedSerializers.cpp
M Source/WebKit/Scripts/webkit/tests/GeneratedSerializers.h
M Source/WebKit/Scripts/webkit/tests/SerializedTypeInfo.cpp
M Source/WebKit/Scripts/webkit/tests/TestSerializedType.serialization.in
M Source/WebKit/Shared/Cocoa/SandboxExtensionCocoa.mm
M Source/WebKit/Shared/Databases/IndexedDB/WebIDBResult.serialization.in
M Source/WebKit/Shared/GoToBackForwardItemParameters.serialization.in
M Source/WebKit/Shared/LoadParameters.cpp
M Source/WebKit/Shared/LoadParameters.h
M Source/WebKit/Shared/PolicyDecision.serialization.in
M Source/WebKit/Shared/ResourceLoadStatisticsParameters.serialization.in
M Source/WebKit/Shared/SandboxExtension.h
M Source/WebKit/Shared/WebPageCreationParameters.serialization.in
M Source/WebKit/Shared/WebProcessDataStoreParameters.serialization.in
M Source/WebKit/Shared/WebsiteDataStoreParameters.serialization.in
M Source/WebKit/UIProcess/Cocoa/GPUProcessProxyCocoa.mm
M Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm
M Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm
M Source/WebKit/UIProcess/Cocoa/WebProcessProxyCocoa.mm
M Source/WebKit/UIProcess/Downloads/DownloadProxy.cpp
M Source/WebKit/UIProcess/GPU/GPUProcessProxy.cpp
M Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp
M Source/WebKit/UIProcess/ProvisionalPageProxy.cpp
M Source/WebKit/UIProcess/RemotePageProxy.cpp
M Source/WebKit/UIProcess/UserMediaPermissionRequestManagerProxy.cpp
M Source/WebKit/UIProcess/WebPageProxy.cpp
M Source/WebKit/UIProcess/WebProcessPool.cpp
M Source/WebKit/UIProcess/WebProcessProxy.cpp
M Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp
M Source/WebKit/WebKit.xcodeproj/project.pbxproj
M Source/WebKit/WebProcess/FileAPI/BlobRegistryProxy.cpp
M Source/WebKit/WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp
M Source/WebKit/WebProcess/MediaStream/MediaDeviceSandboxExtensions.h
M Source/WebKit/WebProcess/MediaStream/MediaDeviceSandboxExtensions.serialization.in
Log Message:
-----------
Prepare SandboxExtensionHandle for generated serialization
https://bugs.webkit.org/show_bug.cgi?id=264302
rdar://118024534
Reviewed by Chris Dumez.
A SandboxExtensionHandle is consumed when serializing, so it should be serialized as an r-value.
This means all structures that contain one must also be serialized as an r-value.
This PR just changes these structures to r-values with no changes in behavior except these 2:
1. Sending a WebPage::MouseEvent message was recently changed to send the sandbox extensions to
an iframe process if site isolation is enabled. This restores behavior to what it was before that change.
2. In WebProcessPool::startMemorySampler we used to send a WebProcess::StartMemorySampler to each
web content process, but only the first would receive a sandbox extension handle. This makes it so
that each process receives a sandbox extension handle. This is a debug tool, so it shouldn't be impactful.
* Source/WebKit/GPUProcess/GPUProcessCreationParameters.serialization.in:
* Source/WebKit/GPUProcess/GPUProcessSessionParameters.serialization.in:
* Source/WebKit/NetworkProcess/NetworkProcessCreationParameters.serialization.in:
* Source/WebKit/NetworkProcess/NetworkSessionCreationParameters.cpp:
(WebKit::NetworkSessionCreationParameters::encode):
(WebKit::NetworkSessionCreationParameters::encode const): Deleted.
* Source/WebKit/NetworkProcess/NetworkSessionCreationParameters.h:
* Source/WebKit/Platform/IPC/FormDataReference.h:
(IPC::FormDataReference::encode const):
* Source/WebKit/Scripts/generate-serializers.py:
(SerializedType.__init__):
(encode_type):
* Source/WebKit/Scripts/webkit/messages.py:
(types_that_must_be_moved):
(headers_for_type):
* Source/WebKit/Scripts/webkit/tests/GeneratedSerializers.cpp:
(IPC::ArgumentCoder<WebKit::RValueWithFunctionCalls>::encode):
(IPC::ArgumentCoder<WebKit::RValueWithFunctionCalls>::decode):
* Source/WebKit/Scripts/webkit/tests/GeneratedSerializers.h:
* Source/WebKit/Scripts/webkit/tests/SerializedTypeInfo.cpp:
(WebKit::allSerializedTypes):
* Source/WebKit/Scripts/webkit/tests/TestSerializedType.serialization.in:
* Source/WebKit/Shared/Cocoa/SandboxExtensionCocoa.mm:
(WebKit::SandboxExtensionHandle::encode):
(WebKit::SandboxExtensionHandle::encode const): Deleted.
* Source/WebKit/Shared/Databases/IndexedDB/WebIDBResult.serialization.in:
* Source/WebKit/Shared/GoToBackForwardItemParameters.serialization.in:
* Source/WebKit/Shared/LoadParameters.cpp:
(WebKit::LoadParameters::encode):
(WebKit::LoadParameters::encode const): Deleted.
* Source/WebKit/Shared/LoadParameters.h:
* Source/WebKit/Shared/PolicyDecision.serialization.in:
* Source/WebKit/Shared/ResourceLoadStatisticsParameters.serialization.in:
* Source/WebKit/Shared/SandboxExtension.h:
* Source/WebKit/Shared/WebPageCreationParameters.serialization.in:
* Source/WebKit/Shared/WebProcessDataStoreParameters.serialization.in:
* Source/WebKit/Shared/WebsiteDataStoreParameters.serialization.in:
* Source/WebKit/UIProcess/Cocoa/GPUProcessProxyCocoa.mm:
(WebKit::GPUProcessProxy::enablePowerLogging):
* Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm:
(WebKit::WebPageProxy::grantAccessToAssetServices):
* Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::platformInitializeWebProcess):
(WebKit::WebProcessPool::registerNotificationObservers):
* Source/WebKit/UIProcess/Cocoa/WebProcessProxyCocoa.mm:
(WebKit::WebProcessProxy::unblockAccessibilityServerIfNeeded):
* Source/WebKit/UIProcess/Downloads/DownloadProxy.cpp:
(WebKit::DownloadProxy::publishProgress):
* Source/WebKit/UIProcess/GPU/GPUProcessProxy.cpp:
(WebKit::GPUProcessProxy::GPUProcessProxy):
(WebKit::GPUProcessProxy::updateSandboxAccess):
* Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::sendCreationParametersToNewProcess):
* Source/WebKit/UIProcess/ProvisionalPageProxy.cpp:
(WebKit::ProvisionalPageProxy::initializeWebPage):
(WebKit::ProvisionalPageProxy::goToBackForwardItem):
* Source/WebKit/UIProcess/RemotePageProxy.cpp:
(WebKit::RemotePageProxy::injectPageIntoNewProcess):
(WebKit::RemotePageProxy::sendMouseEvent):
* Source/WebKit/UIProcess/UserMediaPermissionRequestManagerProxy.cpp:
(WebKit::UserMediaPermissionRequestManagerProxy::finishGrantingRequest):
* Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::loadRequestWithNavigationShared):
(WebKit::WebPageProxy::loadFile):
(WebKit::WebPageProxy::loadDataWithNavigationShared):
(WebKit::WebPageProxy::loadSimulatedRequest):
(WebKit::WebPageProxy::loadAlternateHTML):
(WebKit::WebPageProxy::reload):
(WebKit::WebPageProxy::sendMouseEvent):
(WebKit::WebPageProxy::receivedNavigationPolicyDecision):
(WebKit::WebPageProxy::continueNavigationInNewProcess):
* Source/WebKit/UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::processDidFinishLaunching):
(WebKit::WebProcessPool::startMemorySampler):
* Source/WebKit/UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::shouldSendPendingMessage):
* Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::resumeDownload):
* Source/WebKit/WebKit.xcodeproj/project.pbxproj:
* Source/WebKit/WebProcess/FileAPI/BlobRegistryProxy.cpp:
(WebKit::BlobRegistryProxy::registerInternalFileBlobURL):
* Source/WebKit/WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:
(WebKit::MediaPlayerPrivateRemote::load):
* Source/WebKit/WebProcess/MediaStream/MediaDeviceSandboxExtensions.h:
(WebKit::MediaDeviceSandboxExtensions::ids):
(WebKit::MediaDeviceSandboxExtensions::handles):
(WebKit::MediaDeviceSandboxExtensions::machBootstrapHandle):
(WebKit::MediaDeviceSandboxExtensions::MediaDeviceSandboxExtensions): Deleted.
(WebKit::MediaDeviceSandboxExtensions::ids const): Deleted.
(WebKit::MediaDeviceSandboxExtensions::handles const): Deleted.
(WebKit::MediaDeviceSandboxExtensions::machBootstrapHandle const): Deleted.
* Source/WebKit/WebProcess/MediaStream/MediaDeviceSandboxExtensions.serialization.in:
Canonical link: https://commits.webkit.org/270323@main
More information about the webkit-changes
mailing list