Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: dccc9fb7ac8e6ae61fbe3f4cda674b7c65baa021
      
https://github.com/WebKit/WebKit/commit/dccc9fb7ac8e6ae61fbe3f4cda674b7c65baa021
  Author: Jer Noble <[email protected]>
  Date:   2026-03-13 (Fri, 13 Mar 2026)

  Changed paths:
    M Source/WebCore/accessibility/AXLocalFrame.cpp
    M Source/WebCore/accessibility/AccessibilityObject.cpp
    M Source/WebCore/css/CSSToLengthConversionData.cpp
    M Source/WebCore/dom/XMLDocument.h
    M Source/WebCore/html/HTMLSelectElement.cpp
    M Source/WebCore/inspector/agents/page/PageTimelineAgent.cpp
    M Source/WebCore/loader/cache/CachedFont.cpp
    M Source/WebCore/mathml/MathMLElement.cpp
    M Source/WebCore/page/LocalFrameView.cpp
    M Source/WebCore/page/LocalFrameView.h
    M Source/WebCore/page/LocalFrameViewLayoutContext.h
    M Source/WebCore/platform/win/PasteboardWin.cpp
    M Source/WebCore/rendering/BackgroundPainter.cpp
    M Source/WebCore/rendering/InlineBoxPainter.cpp
    M Source/WebCore/rendering/PositionedLayoutConstraints.cpp
    M Source/WebCore/rendering/RenderBlockFlow.cpp
    M Source/WebCore/rendering/RenderBox.h
    M Source/WebCore/rendering/RenderElement.cpp
    M Source/WebCore/rendering/RenderFrameBase.h
    M Source/WebCore/rendering/RenderLayer.cpp
    M Source/WebCore/rendering/RenderLayer.h
    M Source/WebCore/rendering/RenderLayerBacking.cpp
    M Source/WebCore/rendering/RenderLayerInlines.h
    M Source/WebCore/rendering/RenderLayerModelObject.cpp
    M Source/WebCore/rendering/RenderLayerModelObject.h
    M Source/WebCore/rendering/RenderLayerScrollableArea.cpp
    M Source/WebCore/rendering/RenderLayoutState.cpp
    M Source/WebCore/rendering/RenderMultiColumnFlow.cpp
    M Source/WebCore/rendering/RenderObject.cpp
    M Source/WebCore/rendering/RenderObject.h
    M Source/WebCore/rendering/RenderObjectDocument.h
    M Source/WebCore/rendering/RenderObjectInlines.h
    M Source/WebCore/rendering/RenderReplaced.cpp
    M Source/WebCore/rendering/RenderScrollbarPart.cpp
    M Source/WebCore/rendering/RenderSearchField.cpp
    M Source/WebCore/rendering/RenderView.cpp
    M Source/WebCore/rendering/RenderView.h
    M Source/WebCore/rendering/svg/SVGPaintServerHandlingInlines.h
    M Source/WebCore/rendering/svg/legacy/LegacyRenderSVGContainer.cpp
    M Source/WebCore/rendering/svg/legacy/LegacyRenderSVGResource.cpp
    M Source/WebCore/rendering/svg/legacy/LegacyRenderSVGResourceSolidColor.cpp
    M Source/WebCore/style/AnchorPositionEvaluator.cpp
    M Source/WebCore/xml/XSLTProcessor.cpp
    M Source/WebCore/xml/parser/XMLDocumentParser.h

  Log Message:
  -----------
  [Build Speed] Remove LocalFrameView.h from RenderView.h, RenderBox.h, and 
other headers
https://bugs.webkit.org/show_bug.cgi?id=309581
<rdar://172202765>

Reviewed by Tim Horton and Ryosuke Niwa.

LocalFrameView.h was the most expensive header in WebCore by total parse time 
(328 inclusions ×
1110ms avg = 364s). This patch removes it from RenderView.h, RenderBox.h, 
RenderFrameBase.h,
XMLDocumentParser.h, and XMLDocument.h, replacing with forward declarations 
where needed.

After this change, LocalFrameView.h drops to 174 inclusions × 159ms avg = 28s, 
and total WebCore
frontend parsing time is reduced by ~430s(8559s → 8129s), a 5% improvement.

RenderView::frameView() is moved out-of-line since its inline body required the 
full LocalFrameView
definition.

RenderFrameBase::childView() is removed as it had no callers.

Two layerAccessPrevented() assertions in RenderLayerInlines.h are removed as 
they required the full
LocalFrameView definition.

Several .cpp files gain explicit includes they previously obtained transitively.

* Source/WebCore/accessibility/AXLocalFrame.cpp:
* Source/WebCore/css/CSSToLengthConversionData.cpp:
* Source/WebCore/dom/XMLDocument.h:
* Source/WebCore/html/HTMLSelectElement.cpp:
* Source/WebCore/loader/cache/CachedFont.cpp:
* Source/WebCore/mathml/MathMLElement.cpp:
* Source/WebCore/rendering/InlineBoxPainter.cpp:
* Source/WebCore/rendering/RenderBox.h:
* Source/WebCore/rendering/RenderFrameBase.h:
(WebCore::RenderFrameBase::childView const): Deleted.
* Source/WebCore/rendering/RenderLayer.h:
* Source/WebCore/rendering/RenderLayerInlines.h:
* Source/WebCore/rendering/RenderObjectInlines.h:
* Source/WebCore/rendering/RenderView.cpp:
(WebCore::RenderView::frameView const):
* Source/WebCore/rendering/RenderView.h:
* Source/WebCore/rendering/svg/legacy/LegacyRenderSVGContainer.cpp:
* Source/WebCore/xml/XSLTProcessor.cpp:
* Source/WebCore/xml/parser/XMLDocumentParser.h:

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



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

Reply via email to