[webkit-changes] [WebKit/WebKit] cb5500: Switch border/background fragmentation to accommod...

fantasai noreply at github.com
Thu Jan 2 14:58:21 PST 2025


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: cb550060dd71424174b84691489eab222e7109a9
      https://github.com/WebKit/WebKit/commit/cb550060dd71424174b84691489eab222e7109a9
  Author: Elika Etemad <fantasai.bugs at inkedblade.net>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    M LayoutTests/imported/w3c/web-platform-tests/css/css-writing-modes/sideways-inline-002-expected.html
    M LayoutTests/imported/w3c/web-platform-tests/css/css-writing-modes/sideways-inline-002.html
    M Source/WebCore/layout/integration/inline/InlineIteratorInlineBox.cpp
    M Source/WebCore/layout/integration/inline/InlineIteratorInlineBox.h
    M Source/WebCore/platform/RectEdges.h
    M Source/WebCore/platform/graphics/RoundedRect.cpp
    M Source/WebCore/platform/graphics/RoundedRect.h
    M Source/WebCore/rendering/BackgroundPainter.cpp
    M Source/WebCore/rendering/BackgroundPainter.h
    M Source/WebCore/rendering/BorderEdge.cpp
    M Source/WebCore/rendering/BorderEdge.h
    M Source/WebCore/rendering/BorderPainter.cpp
    M Source/WebCore/rendering/BorderPainter.h
    M Source/WebCore/rendering/BorderShape.cpp
    M Source/WebCore/rendering/BorderShape.h
    M Source/WebCore/rendering/InlineBoxPainter.cpp
    M Source/WebCore/rendering/RenderBoxModelObject.cpp
    M Source/WebCore/rendering/RenderBoxModelObject.h
    M Source/WebCore/rendering/style/RenderStyle.cpp
    M Source/WebCore/rendering/style/RenderStyle.h

  Log Message:
  -----------
  Switch border/background fragmentation to accommodate sideways-lr
https://bugs.webkit.org/show_bug.cgi?id=285285
rdar://problem/142246277

Reviewed by Alan Baradlay.

Converts border/background fragmentation handling to use a phyiscal
RectEdges<bool> instead of passing around the logical building blocks
and making the painting code figure it out over and over again.
Also updates the now-unified conversion logic to handle sideways-lr.

* LayoutTests/imported/w3c/web-platform-tests/css/css-writing-modes/sideways-inline-002-expected.html:
* LayoutTests/imported/w3c/web-platform-tests/css/css-writing-modes/sideways-inline-002.html:
* Source/WebCore/layout/integration/inline/InlineIteratorInlineBox.cpp:
(WebCore::InlineIterator::InlineBox::closedEdges const):
(WebCore::InlineIterator::InlineBox::hasClosedLeftAndRightEdge const): Deleted.
* Source/WebCore/layout/integration/inline/InlineIteratorInlineBox.h:
* Source/WebCore/platform/RectEdges.h:
* Source/WebCore/platform/graphics/RoundedRect.cpp:
(WebCore::RoundedRect::Radii::setRadiiForEdges):
(WebCore::RoundedRect::Radii::includeLogicalEdges): Deleted.
(WebCore::RoundedRect::Radii::excludeLogicalEdges): Deleted.
(WebCore::RoundedRect::includeLogicalEdges): Deleted.
(WebCore::RoundedRect::excludeLogicalEdges): Deleted.
* Source/WebCore/platform/graphics/RoundedRect.h:
(WebCore::RoundedRect::setRadiiForEdges):
* Source/WebCore/rendering/BackgroundPainter.cpp:
(WebCore::BackgroundPainter::paintFillLayer const):
(WebCore::BackgroundPainter::paintBoxShadow const):
* Source/WebCore/rendering/BackgroundPainter.h:
(WebCore::BackgroundPainter::paintBoxShadow):
* Source/WebCore/rendering/BorderEdge.cpp:
(WebCore::borderEdges):
* Source/WebCore/rendering/BorderEdge.h:
(WebCore::borderEdges):
* Source/WebCore/rendering/BorderPainter.cpp:
(WebCore::BorderPainter::pathForBorderArea):
(WebCore::BorderPainter::paintBorder const):
(WebCore::BorderPainter::paintOutline const):
(WebCore::BorderPainter::paintSides const):
(WebCore::BorderPainter::paintTranslucentBorderSides const):
(WebCore::BorderPainter::paintBorderSides const):
(WebCore::BorderPainter::paintOneBorderSide const):
(WebCore::BorderPainter::drawBoxSideFromPath const):
* Source/WebCore/rendering/BorderPainter.h:
(WebCore::BorderPainter::paintBorder):
(WebCore::BorderPainter::pathForBorderArea):
* Source/WebCore/rendering/BorderShape.cpp:
(WebCore::BorderShape::shapeForBorderRect):
* Source/WebCore/rendering/BorderShape.h:
(WebCore::BorderShape::shapeForBorderRect):
* Source/WebCore/rendering/InlineBoxPainter.cpp:
(WebCore::clipRectForNinePieceImageStrip):
(WebCore::InlineBoxPainter::paintDecorations):
(WebCore::InlineBoxPainter::paintBoxShadow):
* Source/WebCore/rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::borderShapeForContentClipping const):
* Source/WebCore/rendering/RenderBoxModelObject.h:
(WebCore::RenderBoxModelObject::borderShapeForContentClipping):
* Source/WebCore/rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::getRoundedInnerBorderFor const):
(WebCore::RenderStyle::getRoundedInnerBorderFor):
* Source/WebCore/rendering/style/RenderStyle.h:

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



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


More information about the webkit-changes mailing list