Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: c1781e4c96e876267a65d2bd977f23ecfba0c886
https://github.com/WebKit/WebKit/commit/c1781e4c96e876267a65d2bd977f23ecfba0c886
Author: Jer Noble <[email protected]>
Date: 2026-05-07 (Thu, 07 May 2026)
Changed paths:
M Source/WTF/wtf/FastTLS.h
M Source/WTF/wtf/FlipBytes.h
M Source/WTF/wtf/Int128.h
M Source/WTF/wtf/RawHex.h
M Source/WTF/wtf/SaturatedArithmetic.h
M Source/WebCore/Headers.cmake
M Source/WebCore/Modules/gamepad/Gamepad.cpp
M Source/WebCore/Modules/mediastream/MediaStreamTrackHandle.h
M Source/WebCore/Modules/notifications/NotificationResourcesLoader.h
M Source/WebCore/Modules/storage/StorageConnection.h
M Source/WebCore/Modules/webxr/WebXRGamepad.h
M Source/WebCore/WebCore.xcodeproj/project.pbxproj
M Source/WebCore/accessibility/AXGeometryManager.cpp
M Source/WebCore/accessibility/AXObjectCache.cpp
M Source/WebCore/accessibility/AXObjectCache.h
A Source/WebCore/accessibility/AXObjectTypes.h
M Source/WebCore/accessibility/AccessibilityNodeObject.h
M Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.h
M Source/WebCore/accessibility/playstation/AXObjectCachePlayStation.cpp
M Source/WebCore/bindings/IDLTypes.h
M Source/WebCore/bindings/js/DOMWrapperWorld.h
M Source/WebCore/bindings/js/JSDOMWrapper.h
M Source/WebCore/bindings/js/JSDOMWrapperCache.h
M Source/WebCore/bindings/js/SerializedScriptValue.cpp
M Source/WebCore/bindings/js/SerializedScriptValue.h
A Source/WebCore/bindings/js/SerializedScriptValueInternals.h
M Source/WebCore/css/CSSProperty.h
M Source/WebCore/css/CSSSelector.h
M Source/WebCore/css/CSSValueList.h
M Source/WebCore/css/ImmutableStyleProperties.h
M Source/WebCore/css/StyleProperties.h
M Source/WebCore/css/parser/CSSParserContext.h
M Source/WebCore/dom/ActiveDOMObject.h
M Source/WebCore/dom/Document.h
M Source/WebCore/dom/EventLoop.h
M Source/WebCore/dom/EventTarget.h
M Source/WebCore/dom/Exception.h
M Source/WebCore/dom/ExceptionOr.h
M Source/WebCore/dom/MessagePort.h
M Source/WebCore/dom/Node.h
M Source/WebCore/dom/NodeList.h
M Source/WebCore/dom/ScriptExecutionContext.h
M Source/WebCore/dom/TreeScope.h
M Source/WebCore/dom/UserGestureIndicator.h
M Source/WebCore/editing/AlternativeTextController.cpp
M Source/WebCore/editing/ApplyBlockElementCommand.cpp
M Source/WebCore/editing/CompositeEditCommand.h
M Source/WebCore/editing/DeleteSelectionCommand.cpp
M Source/WebCore/editing/FormatBlockCommand.cpp
M Source/WebCore/editing/InsertListCommand.cpp
M Source/WebCore/editing/InsertNestedListCommand.cpp
M Source/WebCore/editing/InsertTextCommand.cpp
M Source/WebCore/editing/ModifySelectionListLevel.cpp
M Source/WebCore/editing/RemoveFormatCommand.cpp
M Source/WebCore/editing/ReplaceRangeWithTextCommand.h
M Source/WebCore/editing/SimplifyMarkupCommand.cpp
M Source/WebCore/editing/SpellingCorrectionCommand.h
M Source/WebCore/editing/TypingCommand.h
M Source/WebCore/editing/WritingToolsCompositionCommand.cpp
M Source/WebCore/editing/WritingToolsCompositionCommand.h
M Source/WebCore/fileapi/NetworkSendQueue.h
M Source/WebCore/history/CachedFrame.cpp
M Source/WebCore/html/HTMLElement.h
M Source/WebCore/inspector/FrameDebugger.cpp
M Source/WebCore/page/DOMTimer.cpp
M Source/WebCore/page/DOMTimer.h
M Source/WebCore/page/Frame.h
M Source/WebCore/page/LocalFrame.h
M Source/WebCore/page/LocalFrameView.h
M Source/WebCore/page/Page.h
M Source/WebCore/page/RemoteFrame.h
M Source/WebCore/page/RemoteFrameClient.h
M Source/WebCore/page/SecurityOrigin.h
M Source/WebCore/platform/Logging.h
M Source/WebCore/platform/RectEdges.h
M Source/WebCore/platform/RegistrableDomain.h
M Source/WebCore/platform/SharedBuffer.h
M Source/WebCore/platform/Supplementable.h
M Source/WebCore/platform/Timer.h
M Source/WebCore/platform/gamepad/PlatformGamepad.h
M Source/WebCore/platform/gamepad/cocoa/GameControllerGamepad.h
M Source/WebCore/platform/gamepad/libwpe/GamepadLibWPE.cpp
M Source/WebCore/platform/gamepad/mac/HIDGamepad.h
M Source/WebCore/platform/gamepad/mac/MultiGamepadProvider.h
M Source/WebCore/platform/gamepad/manette/ManetteGamepad.cpp
M Source/WebCore/platform/graphics/Color.h
M Source/WebCore/platform/graphics/FloatPoint.h
M Source/WebCore/platform/graphics/FloatSize.h
M Source/WebCore/platform/graphics/GraphicsContext.h
M Source/WebCore/platform/graphics/Image.h
M Source/WebCore/platform/graphics/IntSize.h
M Source/WebCore/platform/graphics/NativeImage.h
M Source/WebCore/platform/graphics/TextRun.h
M Source/WebCore/platform/graphics/filters/FEDropShadow.h
M Source/WebCore/platform/graphics/filters/FEFlood.h
M
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayerBufferExternalOES.cpp
M
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayerBufferRGB.cpp
M
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayerBufferYUV.cpp
M Source/WebCore/platform/image-decoders/skia/ImageBackingStoreSkia.cpp
M Source/WebCore/platform/text/TextChecking.h
M Source/WebCore/platform/text/TextFlags.h
M Source/WebCore/style/StyleExtractorCustom.h
M Source/WebCore/style/values/StyleValueTypes.h
M Source/WebCore/svg/SVGElement.h
M Source/WebCore/testing/MockGamepad.h
M Source/WebCore/testing/MockGamepadProvider.h
M Source/WebCore/workers/WorkerGlobalScopeProxy.h
M Source/WebCore/workers/shared/SharedWorkerGlobalScope.cpp
M Source/WebKit/Shared/SerializedNode.serialization.in
M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in
M Source/WebKitLegacy/mac/WebCoreSupport/WebFrameLoaderClient.mm
Log Message:
-----------
[Build Speed] Reduce the cost of SerializedScriptValue.h and AXObjectCache.h
rdar://176421722
https://bugs.webkit.org/show_bug.cgi?id=314279
Reviewed by Geoffrey Garen.
Slim WebCore headers to reduce build times
Reduce frontend parsing time by ~352s (2.5%) across a full debug build
by removing unnecessary includes from widely-used headers, replacing
heavy includes with forward declarations, and extracting inner structures
into separate headers.
Key changes:
- SerializedScriptValue.h: Extract Internals struct to a separate
private header (SerializedScriptValueInternals.h) behind a
unique_ptr. Reduces per-include cost from 578ms to 7ms (62 includers).
- AXObjectCache.h: Remove Document.h and RenderView.h includes by
moving inline functions out-of-line. Extract lightweight types to new
AXObjectTypes.h. Reduce inclusion count from 145 to 55 (saves ~166s).
- Remove unnecessary AXObjectCache.h from RemoteFrame.h,
RemoteFrameClient.h, and CompositeEditCommand.h, replacing with
lightweight AXObjectTypes.h or forward declarations.
- Remove redundant includes from Color.h, Node.h, Timer.h,
EventTarget.h, Document.h, Page.h, LocalFrameView.h, GraphicsContext.h,
SharedBuffer.h, and ~20 other widely-included headers.
- Use forward declarations for DestinationColorSpace, WritingMode,
PseudoElementType, UserGestureToken, SharedGamepadValue, and
ColorInterpolation where only pointers/references are needed.
- Add compensating includes to .cpp files that relied on transitive
includes through the slimmed headers.
CBA measurements (full debug build, arm64e):
Baseline: 14160.8s frontend parsing
Branch: 13808.8s frontend parsing
Saved: 352.0s (2.5%)
Canonical link: https://commits.webkit.org/312862@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications