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

Reply via email to