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

Reply via email to