[webkit-changes] [WebKit/WebKit] d59dce: Reduce some costly includes from WebPage.h
Commit Queue
noreply at github.com
Wed Mar 15 13:39:56 PDT 2023
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: d59dce7984adc9a703e58dc2ed19999ff89a2a21
https://github.com/WebKit/WebKit/commit/d59dce7984adc9a703e58dc2ed19999ff89a2a21
Author: Brent Fulgham <bfulgham at webkit.org>
Date: 2023-03-15 (Wed, 15 Mar 2023)
Changed paths:
M Source/WebKit/WebKit.xcodeproj/project.pbxproj
M Source/WebKit/WebProcess/Extensions/API/Cocoa/WebExtensionAPIPermissionsCocoa.mm
M Source/WebKit/WebProcess/Inspector/RemoteWebInspectorUI.cpp
M Source/WebKit/WebProcess/Inspector/WebInspectorUI.cpp
M Source/WebKit/WebProcess/MediaStream/UserMediaPermissionRequestManager.cpp
M Source/WebKit/WebProcess/Model/mac/ARKitInlinePreviewModelPlayerMac.mm
M Source/WebKit/WebProcess/Network/NetworkProcessConnection.cpp
M Source/WebKit/WebProcess/Network/WebLoaderStrategy.cpp
M Source/WebKit/WebProcess/Storage/WebSWClientConnection.cpp
M Source/WebKit/WebProcess/Storage/WebSharedWorkerContextManagerConnection.cpp
M Source/WebKit/WebProcess/UserContent/WebUserContentController.cpp
M Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp
M Source/WebKit/WebProcess/WebCoreSupport/WebDiagnosticLoggingClient.cpp
M Source/WebKit/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp
M Source/WebKit/WebProcess/WebCoreSupport/WebSpeechSynthesisClient.cpp
M Source/WebKit/WebProcess/WebCoreSupport/WebWorkerClient.cpp
M Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinator.cpp
M Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/DrawingAreaCoordinatedGraphics.cpp
M Source/WebKit/WebProcess/WebPage/DrawingArea.h
M Source/WebKit/WebProcess/WebPage/WebBackForwardListProxy.cpp
M Source/WebKit/WebProcess/WebPage/WebCookieJar.cpp
M Source/WebKit/WebProcess/WebPage/WebPage.cpp
M Source/WebKit/WebProcess/WebPage/WebPage.h
A Source/WebKit/WebProcess/WebPage/WebPageInlines.h
M Source/WebKit/WebProcess/WebPage/mac/PageBannerMac.mm
M Source/WebKit/WebProcess/WebPage/mac/RemoteLayerTreeDrawingAreaMac.mm
M Source/WebKit/WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm
M Source/WebKit/WebProcess/WebPage/wc/DrawingAreaWC.cpp
M Source/WebKit/WebProcess/WebProcess.cpp
M Source/WebKit/WebProcess/WebStorage/StorageAreaMap.cpp
M Source/WebKit/WebProcess/WebStorage/StorageNamespaceImpl.cpp
M Source/WebKit/WebProcess/WebStorage/WebStorageNamespaceProvider.cpp
Log Message:
-----------
Reduce some costly includes from WebPage.h
https://bugs.webkit.org/show_bug.cgi?id=253837
<rdar://problem/106655602>
Reviewed by Ryosuke Niwa.
Benchmarking shows that WebPage.h is very costly to parse due to a few heavyweight includes.
We can improve build time by using more specific includes where appropriate, and forward
declare classes when possible.
Before change:
Compilation (10204 times):
Parsing (frontend): 9250.1 s
Codegen & opts (backend): 3311.8 s
After change:
Compilation (10196 times):
Parsing (frontend): 9047.9 s
Codegen & opts (backend): 3239.5 s
* Source/WebKit/WebKit.xcodeproj/project.pbxproj:
* Source/WebKit/WebProcess/Extensions/API/Cocoa/WebExtensionAPIPermissionsCocoa.mm:
* Source/WebKit/WebProcess/Inspector/RemoteWebInspectorUI.cpp:
* Source/WebKit/WebProcess/Inspector/WebInspectorUI.cpp:
* Source/WebKit/WebProcess/MediaStream/UserMediaPermissionRequestManager.cpp:
* Source/WebKit/WebProcess/Model/mac/ARKitInlinePreviewModelPlayerMac.mm:
* Source/WebKit/WebProcess/Network/WebLoaderStrategy.cpp:
* Source/WebKit/WebProcess/Storage/WebSWClientConnection.cpp:
* Source/WebKit/WebProcess/Storage/WebSharedWorkerContextManagerConnection.cpp:
* Source/WebKit/WebProcess/UserContent/WebUserContentController.cpp:
* Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp:
* Source/WebKit/WebProcess/WebCoreSupport/WebDiagnosticLoggingClient.cpp:
* Source/WebKit/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
* Source/WebKit/WebProcess/WebCoreSupport/WebSpeechSynthesisClient.cpp:
* Source/WebKit/WebProcess/WebCoreSupport/WebWorkerClient.cpp:
* Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinator.cpp:
* Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/DrawingAreaCoordinatedGraphics.cpp:
* Source/WebKit/WebProcess/WebPage/DrawingArea.h:
* Source/WebKit/WebProcess/WebPage/WebBackForwardListProxy.cpp:
* Source/WebKit/WebProcess/WebPage/WebCookieJar.cpp:
* Source/WebKit/WebProcess/WebPage/WebPage.cpp:
* Source/WebKit/WebProcess/WebPage/WebPage.h:
(WebKit::WebPage::sessionStorageNamespaceIdentifier const): Deleted.
(WebKit::WebPage::bounds const): Deleted.
(WebKit::WebPage::setHiddenPageDOMTimerThrottlingIncreaseLimit): Deleted.
(WebKit::WebPage::isVisible const): Deleted.
(WebKit::WebPage::isVisibleOrOccluded const): Deleted.
(WebKit::WebPage::userContentControllerIdentifier const): Deleted.
* Source/WebKit/WebProcess/WebPage/WebPageInlines.h: Added.
(WebKit::WebPage::bounds const):
(WebKit::WebPage::sessionStorageNamespaceIdentifier const):
(WebKit::WebPage::setHiddenPageDOMTimerThrottlingIncreaseLimit):
(WebKit::WebPage::isVisible const):
(WebKit::WebPage::isVisibleOrOccluded const):
(WebKit::WebPage::userContentControllerIdentifier const):
* Source/WebKit/WebProcess/WebPage/mac/PageBannerMac.mm:
* Source/WebKit/WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
* Source/WebKit/WebProcess/WebPage/wc/DrawingAreaWC.cpp:
* Source/WebKit/WebProcess/WebProcess.cpp:
* Source/WebKit/WebProcess/WebStorage/StorageAreaMap.cpp:
* Source/WebKit/WebProcess/WebStorage/StorageNamespaceImpl.cpp:
* Source/WebKit/WebProcess/WebStorage/WebStorageNamespaceProvider.cpp:
Canonical link: https://commits.webkit.org/261710@main
More information about the webkit-changes
mailing list