[webkit-changes] [WebKit/WebKit] c4e7c9: Eliminate some overrides of `clippedOverflowRect()`

Simon Fraser noreply at github.com
Wed Nov 29 19:25:10 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: c4e7c9cb317654a0921884679cf2c501136aeccd
      https://github.com/WebKit/WebKit/commit/c4e7c9cb317654a0921884679cf2c501136aeccd
  Author: Simon Fraser <simon.fraser at apple.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M Source/WebCore/rendering/RenderBox.cpp
    M Source/WebCore/rendering/RenderBox.h
    M Source/WebCore/rendering/RenderLineBreak.h
    M Source/WebCore/rendering/RenderObject.cpp
    M Source/WebCore/rendering/RenderObject.h
    M Source/WebCore/rendering/RenderReplaced.cpp
    M Source/WebCore/rendering/RenderReplaced.h
    M Source/WebCore/rendering/RenderTableCell.cpp
    M Source/WebCore/rendering/RenderTableCell.h
    M Source/WebCore/rendering/RenderTableCol.cpp
    M Source/WebCore/rendering/RenderTableRow.cpp
    M Source/WebCore/rendering/svg/RenderSVGBlock.cpp
    M Source/WebCore/rendering/svg/RenderSVGGradientStop.h
    M Source/WebCore/rendering/svg/RenderSVGModelObject.cpp
    M Source/WebCore/rendering/svg/RenderSVGModelObject.h

  Log Message:
  -----------
  Eliminate some overrides of `clippedOverflowRect()`
https://bugs.webkit.org/show_bug.cgi?id=265541
rdar://118946413

Reviewed by Alan Baradlay.

The implementations of clippedOverflowRect() in RenderBox, RenderReplaced, RenderTableCell
and RenderSVGModelObject are identical, other than starting with a different repaint rect.
So move the implementation to RenderObject, and have these classes override a new localRectForRepaint()
function instead.

RenderSVGBlock::clippedOverflowRect() can just call the base class when layerBasedSVGEngineEnabled()
is true.

Minor other `auto` improvements.

* Source/WebCore/rendering/RenderBox.cpp:
(WebCore::RenderBox::localRectForRepaint const):
(WebCore::RenderBox::clippedOverflowRect const): Deleted.
* Source/WebCore/rendering/RenderBox.h:
* Source/WebCore/rendering/RenderLineBreak.h:
* Source/WebCore/rendering/RenderObject.cpp:
(WebCore::RenderObject::localRectForRepaint const):
(WebCore::RenderObject::clippedOverflowRect const):
(WebCore::RenderObject::computeRect const):
(WebCore::RenderObject::computeFloatRectForRepaint const):
* Source/WebCore/rendering/RenderObject.h:
* Source/WebCore/rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::localRectForRepaint const):
(WebCore::RenderReplaced::clippedOverflowRect const): Deleted.
* Source/WebCore/rendering/RenderReplaced.h:
* Source/WebCore/rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::localRectForRepaint const):
(WebCore::RenderTableCell::clippedOverflowRect const): Deleted.
* Source/WebCore/rendering/RenderTableCell.h:
* Source/WebCore/rendering/RenderTableCol.cpp:
(WebCore::RenderTableCol::clippedOverflowRect const):
* Source/WebCore/rendering/RenderTableRow.cpp:
(WebCore::RenderTableRow::clippedOverflowRect const):
* Source/WebCore/rendering/svg/RenderSVGBlock.cpp:
(WebCore::RenderSVGBlock::clippedOverflowRect const):
* Source/WebCore/rendering/svg/RenderSVGGradientStop.h:
* Source/WebCore/rendering/svg/RenderSVGModelObject.cpp:
(WebCore::RenderSVGModelObject::localRectForRepaint const):
(WebCore::RenderSVGModelObject::clippedOverflowRect const): Deleted.
* Source/WebCore/rendering/svg/RenderSVGModelObject.h:

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




More information about the webkit-changes mailing list