Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 8c9e68623fb3277a2c982acff730ce3d18789247 https://github.com/WebKit/WebKit/commit/8c9e68623fb3277a2c982acff730ce3d18789247 Author: Alex Christensen <achristen...@apple.com> Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths: M Source/WebCore/Sources.txt M Source/WebCore/WebCore.xcodeproj/project.pbxproj M Source/WebCore/dom/Document.cpp M Source/WebCore/editing/MarkupAccumulator.cpp M Source/WebCore/loader/DocumentLoader.cpp M Source/WebCore/loader/EmptyClients.cpp M Source/WebCore/loader/FrameLoader.cpp M Source/WebCore/loader/HistoryController.cpp M Source/WebCore/loader/PolicyChecker.cpp M Source/WebCore/loader/ProgressTracker.cpp M Source/WebCore/loader/ResourceLoader.cpp M Source/WebCore/loader/ResourceMonitor.cpp M Source/WebCore/loader/SubresourceLoader.cpp M Source/WebCore/loader/archive/cf/LegacyWebArchive.cpp M Source/WebCore/loader/cache/CachedResource.cpp M Source/WebCore/loader/cache/CachedResourceLoader.cpp M Source/WebCore/page/DebugPageOverlays.cpp A Source/WebCore/page/FrameIdentifier.cpp M Source/WebCore/page/FrameIdentifier.h M Source/WebCore/page/LocalFrameView.cpp M Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp M Source/WebCore/platform/ProcessIdentifier.cpp M Source/WebCore/platform/ProcessIdentifier.h M Source/WebCore/rendering/RenderLayerCompositor.cpp M Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp M Source/WebKit/NetworkProcess/NetworkResourceLoader.cpp M Source/WebKit/NetworkProcess/cocoa/NetworkDataTaskCocoa.mm M Source/WebKit/NetworkProcess/cocoa/NetworkTaskCocoa.mm M Source/WebKit/Scripts/webkit/messages.py M Source/WebKit/Scripts/webkit/tests/MessageArgumentDescriptions.cpp M Source/WebKit/Shared/API/Cocoa/_WKFrameHandle.mm M Source/WebKit/Shared/Extensions/WebExtensionFrameIdentifier.cpp M Source/WebKit/Shared/FrameInfoData.cpp M Source/WebKit/Shared/ProcessQualified.serialization.in M Source/WebKit/UIProcess/API/C/WKFrameHandleRef.cpp M Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm M Source/WebKit/UIProcess/AuxiliaryProcessProxy.h M Source/WebKit/UIProcess/ProvisionalPageProxy.cpp M Source/WebKit/UIProcess/UserMediaPermissionRequestManagerProxy.cpp M Source/WebKit/UIProcess/WebAuthentication/Cocoa/WebAuthenticatorCoordinatorProxy.mm M Source/WebKit/UIProcess/WebFrameProxy.cpp M Source/WebKit/UIProcess/WebPageProxy.cpp M Source/WebKit/UIProcess/WebProcessPool.cpp M Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm M Source/WebKit/WebProcess/Automation/WebAutomationSessionProxy.cpp M Source/WebKit/WebProcess/InjectedBundle/API/glib/WebKitFrame.cpp M Source/WebKit/WebProcess/Network/WebLoaderStrategy.cpp M Source/WebKit/WebProcess/Network/WebResourceLoader.cpp M Source/WebKit/WebProcess/WebAuthentication/WebAuthenticatorCoordinator.cpp M Source/WebKit/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp M Source/WebKit/WebProcess/WebCoreSupport/WebLocalFrameLoaderClient.cpp M Source/WebKit/WebProcess/WebPage/IPCTestingAPI.cpp M Source/WebKit/WebProcess/WebPage/WebFrame.cpp M Source/WebKit/WebProcess/WebPage/WebPage.cpp M Source/WebKit/WebProcess/WebPage/WebURLSchemeTaskProxy.cpp M Source/WebKit/WebProcess/WebPage/wc/DrawingAreaWC.cpp M Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm M Source/WebKitLegacy/mac/WebView/WebFrame.mm M Source/WebKitLegacy/mac/WebView/WebView.mm Log Message: ----------- Reduce sizeof(FrameIdentifier) from 16 to 8 https://bugs.webkit.org/show_bug.cgi?id=290891 Reviewed by Ryosuke Niwa and Timothy Hatcher. This not only saves a bit of memory and makes it so FrameIdentifiers can fit in one register, but it also will allow us to use a FrameIdentifier as an IPC destination identifier without either wasting 8 bytes per IPC and making MessageReceiverMap need to do more expensive hashes or doing a lot of branches per IPC to only get 128 bits if the message reciever is a WebFrame or WebFrameProxy. * Source/WebCore/Sources.txt: * Source/WebCore/WebCore.xcodeproj/project.pbxproj: * Source/WebCore/dom/Document.cpp: * Source/WebCore/editing/MarkupAccumulator.cpp: (WebCore::MarkupAccumulator::resolveURLIfNeeded const): (WebCore::MarkupAccumulator::replaceAttributeIfNecessary): (WebCore::MarkupAccumulator::appendURLAttributeForReplacementIfNecessary): * Source/WebCore/loader/DocumentLoader.cpp: * Source/WebCore/loader/EmptyClients.cpp: (WebCore::pageConfigurationWithEmptyClients): * Source/WebCore/loader/FrameLoader.cpp: (WebCore::FrameLoader::finishedParsing): (WebCore::FrameLoader::commitProvisionalLoad): * Source/WebCore/loader/HistoryController.cpp: (WebCore::HistoryController::saveDocumentState): (WebCore::HistoryController::restoreDocumentState): * Source/WebCore/loader/PolicyChecker.cpp: * Source/WebCore/loader/ProgressTracker.cpp: (WebCore::ProgressTracker::progressStarted): (WebCore::ProgressTracker::progressCompleted): (WebCore::ProgressTracker::finalProgressComplete): * Source/WebCore/loader/ResourceLoader.cpp: * Source/WebCore/loader/ResourceMonitor.cpp: * Source/WebCore/loader/SubresourceLoader.cpp: * Source/WebCore/loader/archive/cf/LegacyWebArchive.cpp: (WebCore::LegacyWebArchive::create): * Source/WebCore/loader/cache/CachedResource.cpp: * Source/WebCore/loader/cache/CachedResourceLoader.cpp: * Source/WebCore/page/DebugPageOverlays.cpp: (WebCore::SiteIsolationOverlay::drawRect): * Source/WebCore/page/FrameIdentifier.cpp: Copied from Source/WebCore/page/FrameIdentifier.h. (WebCore::generateFrameIdentifier): * Source/WebCore/page/FrameIdentifier.h: * Source/WebCore/page/LocalFrameView.cpp: * Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp: (WebCore::AsyncScrollingCoordinator::scrollingStateTreeAsText const): * Source/WebCore/platform/ProcessIdentifier.cpp: (WebCore::Process::generateIdentifier): (WebCore::Process::identifier): * Source/WebCore/platform/ProcessIdentifier.h: * Source/WebCore/rendering/RenderLayerCompositor.cpp: (WebCore::RenderLayerCompositor::updateCompositingLayers): * Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp: (WebKit::NetworkConnectionToWebProcess::resolveBlobReferences): (WebKit::NetworkConnectionToWebProcess::scheduleResourceLoad): (WebKit::NetworkConnectionToWebProcess::performSynchronousLoad): (WebKit::NetworkConnectionToWebProcess::loadPing): (WebKit::NetworkConnectionToWebProcess::preconnectTo): * Source/WebKit/NetworkProcess/NetworkResourceLoader.cpp: * Source/WebKit/NetworkProcess/cocoa/NetworkDataTaskCocoa.mm: (WebKit::NetworkDataTaskCocoa::NetworkDataTaskCocoa): * Source/WebKit/NetworkProcess/cocoa/NetworkTaskCocoa.mm: (WebKit::NetworkTaskCocoa::willPerformHTTPRedirection): * Source/WebKit/Scripts/webkit/messages.py: (serialized_identifiers): * Source/WebKit/Shared/API/Cocoa/_WKFrameHandle.mm: (-[_WKFrameHandle hash]): (-[_WKFrameHandle frameID]): (-[_WKFrameHandle initWithCoder:]): (-[_WKFrameHandle encodeWithCoder:]): * Source/WebKit/Shared/Extensions/WebExtensionFrameIdentifier.cpp: (WebKit::toWebCoreFrameIdentifier): (WebKit::matchesFrame): (WebKit::toWebExtensionFrameIdentifier): * Source/WebKit/Shared/FrameInfoData.cpp: (WebKit::legacyEmptyFrameInfo): * Source/WebKit/Shared/ProcessQualified.serialization.in: * Source/WebKit/UIProcess/API/C/WKFrameHandleRef.cpp: (WKFrameHandleGetFrameID): * Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm: (-[WKWebView _startTextManipulationsWithConfiguration:completion:]): (coreTextManipulationItemIdentifierFromString): * Source/WebKit/UIProcess/AuxiliaryProcessProxy.h: * Source/WebKit/UIProcess/ProvisionalPageProxy.cpp: (WebKit::ProvisionalPageProxy::ProvisionalPageProxy): (WebKit::ProvisionalPageProxy::didStartProvisionalLoadForFrame): (WebKit::ProvisionalPageProxy::didFailProvisionalLoadForFrame): (WebKit::ProvisionalPageProxy::didCommitLoadForFrame): * Source/WebKit/UIProcess/UserMediaPermissionRequestManagerProxy.cpp: (WebKit::UserMediaPermissionRequestManagerProxy::didCommitLoadForFrame): (WebKit::UserMediaPermissionRequestManagerProxy::resetAccess): * Source/WebKit/UIProcess/WebAuthentication/Cocoa/WebAuthenticatorCoordinatorProxy.mm: (WebKit::setGlobalFrameIDForContext): * Source/WebKit/UIProcess/WebFrameProxy.cpp: (WebKit::WebFrameProxy::didCreateSubframe): * Source/WebKit/UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::initializeWebPage): (WebKit::WebPageProxy::receivedNavigationActionPolicyDecision): (WebKit::WebPageProxy::didStartProvisionalLoadForFrameShared): (WebKit::WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrameShared): (WebKit::WebPageProxy::willPerformClientRedirectForFrame): (WebKit::WebPageProxy::didCancelClientRedirectForFrame): (WebKit::WebPageProxy::didFailProvisionalLoadForFrameShared): (WebKit::WebPageProxy::didCommitLoadForFrame): (WebKit::WebPageProxy::didFinishDocumentLoadForFrame): (WebKit::WebPageProxy::didFinishLoadForFrame): (WebKit::WebPageProxy::didFailLoadForFrame): (WebKit::WebPageProxy::didSameDocumentNavigationForFrame): (WebKit::WebPageProxy::didSameDocumentNavigationForFrameViaJS): (WebKit::WebPageProxy::decidePolicyForNavigationAction): (WebKit::WebPageProxy::didPerformClientRedirectShared): (WebKit::WebPageProxy::requestStorageSpace): * Source/WebKit/UIProcess/WebProcessPool.cpp: (WebKit::m_ipcTester): * Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm: (-[WKContentView _autofillContext]): * Source/WebKit/WebProcess/Automation/WebAutomationSessionProxy.cpp: (WebKit::evaluateJavaScriptCallback): (WebKit::WebAutomationSessionProxy::evaluateJavaScriptFunction): * Source/WebKit/WebProcess/Network/WebLoaderStrategy.cpp: (WebKit::WebLoaderStrategy::loadResource): * Source/WebKit/WebProcess/Network/WebResourceLoader.cpp: * Source/WebKit/WebProcess/WebAuthentication/WebAuthenticatorCoordinator.cpp: * Source/WebKit/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction): * Source/WebKit/WebProcess/WebCoreSupport/WebLocalFrameLoaderClient.cpp: * Source/WebKit/WebProcess/WebPage/IPCTestingAPI.cpp: (WebKit::IPCTestingAPI::JSIPC::frameID): * Source/WebKit/WebProcess/WebPage/WebFrame.cpp: (WebKit::WebFrame::createSubframe): * Source/WebKit/WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::runJavaScriptInFrameInScriptWorld): * Source/WebKit/WebProcess/WebPage/WebURLSchemeTaskProxy.cpp: (WebKit::frameIDFromWebFrame): * Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm: (WebKit::WebProcess::bindAccessibilityFrameWithData): * Source/WebKitLegacy/mac/WebView/WebFrame.mm: (+[WebFrame _createFrameWithPage:frameName:frameView:ownerElement:]): * Source/WebKitLegacy/mac/WebView/WebView.mm: (-[WebView _commonInitializationWithFrameName:groupName:]): (-[WebView initSimpleHTMLDocumentWithStyle:frame:preferences:groupName:]): Canonical link: https://commits.webkit.org/293103@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications _______________________________________________ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes