Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 3178ad3c3b9909bdead3bfc0df4dba93ddc01568
      
https://github.com/WebKit/WebKit/commit/3178ad3c3b9909bdead3bfc0df4dba93ddc01568
  Author: bench <bench@local>
  Date:   2026-06-11 (Thu, 11 Jun 2026)

  Changed paths:
    A .metadata_never_index
    M Source/WTF/Scripts/generate-unified-source-bundles.py
    M Source/WebCore/CMakeLists.txt
    M Source/WebCore/SaferCPPExpectations/NoUncountedMemberCheckerExpectations
    M Source/WebCore/WebCoreDOMAndRenderingPrefix.h
    R Source/WebCore/WebCoreRenderStyleInlinesPrefix.h
    M Source/WebCore/accessibility/AXUtilities.cpp
    M Source/WebCore/accessibility/AccessibilityObject.cpp
    M Source/WebCore/accessibility/AccessibilityScrollView.cpp
    M Source/WebCore/accessibility/cocoa/AXCoreObjectCocoa.mm
    M Source/WebCore/accessibility/cocoa/AccessibilityObjectCocoa.mm
    M Source/WebCore/accessibility/ios/AccessibilityObjectIOS.mm
    M Source/WebCore/accessibility/mac/AXObjectCacheMac.mm
    M Source/WebCore/accessibility/mac/AccessibilityObjectMac.mm
    M Source/WebCore/editing/InsertNestedListCommand.cpp
    M Source/WebCore/editing/ModifySelectionListLevel.cpp
    M Source/WebCore/editing/RemoveFormatCommand.cpp
    M Source/WebCore/editing/SimplifyMarkupCommand.cpp
    M Source/WebCore/editing/cocoa/DataDetection.mm
    M Source/WebCore/html/HTMLMeterElement.cpp
    M Source/WebCore/html/HTMLSelectElement.cpp
    M Source/WebCore/html/ModelDocument.cpp
    M Source/WebCore/html/canvas/CanvasRenderingContext2D.cpp
    M Source/WebCore/inspector/agents/frame/FrameDOMAgent.cpp
    M Source/WebCore/page/writing-tools/WritingToolsController.mm
    M Source/WebCore/rendering/PaintInfo.h
    M Source/WebCore/rendering/RenderBox.cpp
    M Source/WebCore/rendering/RenderBoxModelObject.cpp
    M Source/WebCore/rendering/RenderBoxModelObject.h
    M Source/WebCore/rendering/RenderElement.cpp
    M Source/WebCore/rendering/RenderElement.h
    M Source/WebCore/rendering/RenderObject.h
    M Source/WebCore/rendering/RenderObjectDocument.h
    M Source/WebCore/rendering/RenderObjectInlines.h
    M Source/WebCore/rendering/RenderTheme.cpp
    M Source/WebCore/rendering/RenderTheme.h
    M Source/WebCore/rendering/TextDecorationPainter.h
    M Source/WebCore/rendering/cocoa/RenderThemeCocoa.h
    M Source/WebCore/style/computed/StyleComputedStyle.cpp
    M Source/WebCore/style/computed/StyleComputedStyle.h
    M Source/WebCore/style/values/color/StyleColor.cpp
    M Source/WebKit/WebProcess/FullScreen/WebFullScreenManager.cpp
    M Source/WebKit/WebProcess/Plugins/PluginView.cpp
    M Source/WebKit/WebProcess/WebCoreSupport/ShareableBitmapUtilities.cpp
    M Source/WebKit/WebProcess/WebPage/Cocoa/WebPageCocoa.mm
    M Source/WebKit/WebProcess/WebPage/ViewGestureGeometryCollector.cpp
    M Source/WebKit/WebProcess/WebPage/mac/WebPageMac.mm
    M Source/WebKit/WebProcess/cocoa/PlaybackSessionManager.mm
    M Source/WebKit/WebProcess/cocoa/VideoPresentationManager.mm
    M Source/WebKitLegacy/mac/DOM/DOM.mm
    M Source/WebKitLegacy/mac/DOM/WebDOMOperations.mm
    M Source/WebKitLegacy/mac/WebView/WebFrame.mm
    M Source/WebKitLegacy/mac/WebView/WebFullScreenController.mm
    M Source/WebKitLegacy/mac/WebView/WebHTMLView.mm
    M Source/WebKitLegacy/mac/WebView/WebImmediateActionController.mm
    M Source/WebKitLegacy/mac/WebView/WebView.mm
    M Source/cmake/WebKitMacros.cmake

  Log Message:
  -----------
  [Build Time] Reduce and centralize #includes of 
StyleComputedStyle+[GS]ettersInlines.h
https://bugs.webkit.org/show_bug.cgi?id=316885
rdar://179310619

Reviewed by Mike Wyrzykowski.

Saves ~10s wall time in a clean build.

This patch removes #includes of StyleComputedStyle+[GS]ettersInlines.h from
outside style/, layout/, and rendering/.

As a consequence, the CMake build does not need @header anymore to work around
the cost of StyleComputedStyle+[GS]ettersInlines.h anymore. The jubmo unified
build naturally amortizes the header const per directory, and the
DOMAndRendering prefix header amortizes it even more.

* Source/WTF/Scripts/generate-unified-source-bundles.py: Support ignoring
@header for the CMake build.

* Source/WebCore/CMakeLists.txt: Remove the WebCoreRenderStyleInlines sub-target
because we rely on the jumbo unified build + prefix header now.

* Source/WebCore/WebCoreDOMAndRenderingPrefix.h: #include 
StyleComputedStyle+[GS]ettersInlines.h
because they're super expensive and used by many translation units.

* Source/WebCore/WebCoreRenderStyleInlinesPrefix.h: Removed. There's no special
grouping just for files that #include this header anymore.

* Source/WebCore/accessibility/AXUtilities.cpp: Unified build fix -- include
what you use.

* Source/WebCore/accessibility/AccessibilityObject.cpp: Unified build fix -- be
specific to avoid a name conflict.

* Source/WebCore/accessibility/AccessibilityScrollView.cpp: Call an out of
line function to avoid huge header cost.

* Source/WebCore/accessibility/cocoa/AXCoreObjectCocoa.mm: Remove a dead include
to avoid huge header cost.

* Source/WebCore/accessibility/cocoa/AccessibilityObjectCocoa.mm: Call an out of
line function to avoid huge header cost.

* Source/WebCore/accessibility/mac/AXObjectCacheMac.mm: Unified build fix -- 
include
what you use.

* Source/WebCore/accessibility/mac/AccessibilityObjectMac.mm: Use the cheaper
header.

* Source/WebCore/editing/InsertNestedListCommand.cpp:
* Source/WebCore/editing/ModifySelectionListLevel.cpp:
* Source/WebCore/editing/RemoveFormatCommand.cpp:
* Source/WebCore/editing/SimplifyMarkupCommand.cpp:
* Source/WebCore/editing/cocoa/DataDetection.mm: Remove expensive dead includes.

* Source/WebCore/html/HTMLMeterElement.cpp: Unified build fix -- include
what you use.

* Source/WebCore/html/ModelDocument.cpp: Remove dead include.

* Source/WebCore/inspector/agents/frame/FrameDOMAgent.cpp: Unified build fix -- 
be
specific to avoid a name conflict.

* Source/WebCore/page/writing-tools/WritingToolsController.mm: Use an out of
line function to avoid header explosion.

* Source/WebCore/rendering/RenderBox.cpp: Moved a function from WebKit into
WebCore because it does rendering things and may benefit from inlining.

* Source/WebCore/rendering/RenderBoxModelObject.cpp:
* Source/WebCore/rendering/RenderBoxModelObject.h:
* Source/WebCore/rendering/RenderElement.cpp:
* Source/WebCore/rendering/RenderElement.h:
* Source/WebCore/rendering/RenderObject.h: Added out of line helpers for
WebKit clients that don't need to trade build speed for runtime speed.

* Source/WebCore/rendering/RenderObjectDocument.h: Added a frame() accessor
that doesn't require including the whole style system.

* Source/WebCore/rendering/RenderTheme.cpp:
* Source/WebCore/rendering/RenderTheme.h:
* Source/WebCore/style/computed/StyleComputedStyle.cpp:
* Source/WebCore/style/computed/StyleComputedStyle.h: Use out of line functions
for clients that are not core engine code.

* Source/WebKit/WebProcess/FullScreen/WebFullScreenManager.cpp: Use the less
expensive header.

* Source/WebKit/WebProcess/Plugins/PluginView.cpp:
* Source/WebKit/WebProcess/WebCoreSupport/ShareableBitmapUtilities.cpp:
* Source/WebKit/WebProcess/WebPage/Cocoa/WebPageCocoa.mm:
* Source/WebKit/WebProcess/WebPage/ViewGestureGeometryCollector.cpp: Use out of 
line functions.

* Source/WebKit/WebProcess/WebPage/mac/WebPageMac.mm  Unified build fix -- 
include
what you use.

* Source/WebKit/WebProcess/cocoa/VideoPresentationManager.mm:
* Source/WebKitLegacy/mac/DOM/DOM.mm: Use out of line functions.

* Source/WebKitLegacy/mac/DOM/WebDOMOperations.mm:
* Source/WebKitLegacy/mac/WebView/WebFrame.mm:
* Source/WebKitLegacy/mac/WebView/WebFullScreenController.mm: Removed dead 
include.

* Source/WebKitLegacy/mac/WebView/WebHTMLView.mm: Use out of line function.

* Source/WebKitLegacy/mac/WebView/WebImmediateActionController.mm: Removed dead
include.

* Source/WebKitLegacy/mac/WebView/WebView.mm: Use out of line functions.

* Source/cmake/WebKitMacros.cmake: Ignore @header because it's not the optimal
grouping for the jumbo unified build.

Canonical link: https://commits.webkit.org/315023@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to