Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: a17d6b420950a4898a721204b6e80035e74d2729
https://github.com/WebKit/WebKit/commit/a17d6b420950a4898a721204b6e80035e74d2729
Author: Alan Baradlay <[email protected]>
Date: 2026-09-15 (Tue, 15 Sep 2026)
Changed paths:
M Source/WebCore/rendering/OutlinePainter.cpp
M Source/WebCore/rendering/RenderBlock.cpp
M Source/WebCore/rendering/RenderBlock.h
M Source/WebCore/rendering/RenderBox.cpp
M Source/WebCore/rendering/RenderBox.h
M Source/WebCore/rendering/RenderBoxModelObject.cpp
M Source/WebCore/rendering/RenderBoxModelObject.h
M Source/WebCore/rendering/RenderInline.cpp
M Source/WebCore/rendering/RenderInline.h
M Source/WebCore/rendering/RenderLineBreak.cpp
M Source/WebCore/rendering/RenderLineBreak.h
M Source/WebCore/rendering/RenderView.cpp
M Source/WebCore/rendering/RenderView.h
M Source/WebCore/rendering/svg/RenderSVGBlock.cpp
M Source/WebCore/rendering/svg/RenderSVGBlock.h
M Source/WebCore/rendering/svg/RenderSVGRoot.cpp
M Source/WebCore/rendering/svg/RenderSVGRoot.h
Log Message:
-----------
[cleanup] Compute boundingRects() once from each renderer's local border box
rects
https://bugs.webkit.org/show_bug.cgi?id=324042
<rdar://problem/187280208>
Reviewed by Antti Koivisto.
1. localBorderBoxRects() on RenderBoxModelObject: each renderer reports the
rects it encloses in its own coordinates: a box has one border box, an inline
box has one per line, a line break has its line box.
2. boundingRects() is written once: all it does is offset those rects by the
caller's offset, so the copies in RenderBox, RenderBlock, RenderView,
RenderLineBreak and RenderInline go away; RenderBlock's was identical to
RenderBox's.
(RenderInline::collectLineBoxRects only differed by skipping empty rects, which
OutlinePainter now does itself instead of downcasting to RenderInline)
* Source/WebCore/rendering/OutlinePainter.cpp:
(WebCore::OutlinePainter::collectFocusRingRectsForInline):
* Source/WebCore/rendering/RenderBlock.cpp:
(WebCore::RenderBlock::boundingRects): Deleted.
* Source/WebCore/rendering/RenderBlock.h:
* Source/WebCore/rendering/RenderBox.cpp:
(WebCore::RenderBox::localBorderBoxRects const):
(WebCore::RenderBox::boundingRects const): Deleted.
* Source/WebCore/rendering/RenderBox.h:
* Source/WebCore/rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::localBorderBoxRects const):
(WebCore::RenderBoxModelObject::boundingRects const):
* Source/WebCore/rendering/RenderBoxModelObject.h:
* Source/WebCore/rendering/RenderInline.cpp:
(WebCore::RenderInline::absoluteQuads const):
(WebCore::RenderInline::lineBoxRects const): Deleted.
(WebCore::RenderInline::boundingRects const): Deleted.
(WebCore::RenderInline::collectLineBoxRects const): Deleted.
* Source/WebCore/rendering/RenderInline.h:
* Source/WebCore/rendering/RenderLineBreak.cpp:
(WebCore::RenderLineBreak::localBorderBoxRects const):
(WebCore::RenderLineBreak::boundingRects const): Deleted.
* Source/WebCore/rendering/RenderLineBreak.h:
* Source/WebCore/rendering/RenderView.cpp:
(WebCore::RenderView::localBorderBoxRects const):
(WebCore::RenderView::boundingRects const): Deleted.
* Source/WebCore/rendering/RenderView.h:
Canonical link: https://commits.webkit.org/321188@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications