Changeset 250778 in webkit


Ignore:
Timestamp:
Oct 7, 2019 11:35:00 AM (5 years ago)
Author:
commit-queue@webkit.org
Message:

clip-path: <geometry-box> mapping incorrect
https://bugs.webkit.org/show_bug.cgi?id=202075

Patch by Dirk Schulze <krit@webkit.org> on 2019-10-07
Reviewed by Simon Fraser.

For HTML elements:

  • stroke-box, view-box consistently compute to border-box
  • fill-box computes to content-box

Source/WebCore:

Tests: css3/masking/clip-path-border-radius-fill-box-001.html

css3/masking/clip-path-border-radius-stroke-box-000.html
css3/masking/clip-path-border-radius-view-box-000.html

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::nodeAtPoint):

  • rendering/shapes/BoxShape.cpp:

(WebCore::computeRoundedRectForBoxShape):

LayoutTests:

  • css3/masking/clip-path-border-radius-fill-box-001-expected.html: Added.
  • css3/masking/clip-path-border-radius-fill-box-001.html: Added.
  • css3/masking/clip-path-border-radius-stroke-box-000-expected.html: Added.
  • css3/masking/clip-path-border-radius-stroke-box-000.html: Added.
  • css3/masking/clip-path-border-radius-view-box-000-expected.html: Added.
  • css3/masking/clip-path-border-radius-view-box-000.html: Added.
Location:
trunk
Files:
6 added
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r250772 r250778  
     12019-10-07  Dirk Schulze  <krit@webkit.org>
     2
     3        clip-path: <geometry-box> mapping incorrect
     4        https://bugs.webkit.org/show_bug.cgi?id=202075
     5
     6        Reviewed by Simon Fraser.
     7
     8        For HTML elements:
     9        - stroke-box, view-box consistently compute to border-box
     10        - fill-box computes to content-box
     11
     12        * css3/masking/clip-path-border-radius-fill-box-001-expected.html: Added.
     13        * css3/masking/clip-path-border-radius-fill-box-001.html: Added.
     14        * css3/masking/clip-path-border-radius-stroke-box-000-expected.html: Added.
     15        * css3/masking/clip-path-border-radius-stroke-box-000.html: Added.
     16        * css3/masking/clip-path-border-radius-view-box-000-expected.html: Added.
     17        * css3/masking/clip-path-border-radius-view-box-000.html: Added.
     18
    1192019-10-07  Chris Lord  <clord@igalia.com>
    220
  • trunk/Source/WebCore/ChangeLog

    r250777 r250778  
     12019-10-07  Dirk Schulze  <krit@webkit.org>
     2
     3        clip-path: <geometry-box> mapping incorrect
     4        https://bugs.webkit.org/show_bug.cgi?id=202075
     5
     6        Reviewed by Simon Fraser.
     7
     8        For HTML elements:
     9        - stroke-box, view-box consistently compute to border-box
     10        - fill-box computes to content-box
     11
     12        Tests: css3/masking/clip-path-border-radius-fill-box-001.html
     13               css3/masking/clip-path-border-radius-stroke-box-000.html
     14               css3/masking/clip-path-border-radius-view-box-000.html
     15
     16        * rendering/RenderBlock.cpp:
     17        (WebCore::RenderBlock::nodeAtPoint):
     18        * rendering/shapes/BoxShape.cpp:
     19        (WebCore::computeRoundedRectForBoxShape):
     20
    1212019-10-07  Tim Horton  <timothy_horton@apple.com>
    222
  • trunk/Source/WebCore/rendering/RenderBlock.cpp

    r248846 r250778  
    20142014                referenceBoxRect = marginBoxRect();
    20152015                break;
    2016             case CSSBoxType::BorderBox:
    2017                 referenceBoxRect = borderBoxRect();
    2018                 break;
    20192016            case CSSBoxType::PaddingBox:
    20202017                referenceBoxRect = paddingBoxRect();
    20212018                break;
     2019            case CSSBoxType::FillBox:
    20222020            case CSSBoxType::ContentBox:
    20232021                referenceBoxRect = contentBoxRect();
    20242022                break;
    2025             case CSSBoxType::BoxMissing:
    2026             case CSSBoxType::FillBox:
    20272023            case CSSBoxType::StrokeBox:
    20282024            case CSSBoxType::ViewBox:
     2025            case CSSBoxType::BorderBox:
     2026            case CSSBoxType::BoxMissing:
    20292027                referenceBoxRect = borderBoxRect();
    20302028            }
  • trunk/Source/WebCore/rendering/shapes/BoxShape.cpp

    r245543 r250778  
    7878    case CSSBoxType::PaddingBox:
    7979        return style.getRoundedInnerBorderFor(renderer.borderBoxRect());
     80    // fill-box compute to content-box for HTML elements.
     81    case CSSBoxType::FillBox:
    8082    case CSSBoxType::ContentBox:
    8183        return style.getRoundedInnerBorderFor(renderer.borderBoxRect(),
    8284            renderer.paddingTop() + renderer.borderTop(), renderer.paddingBottom() + renderer.borderBottom(),
    8385            renderer.paddingLeft() + renderer.borderLeft(), renderer.paddingRight() + renderer.borderRight());
    84     // fill, stroke, view-box compute to border-box for HTML elements.
     86    // stroke-box, view-box compute to border-box for HTML elements.
    8587    case CSSBoxType::BorderBox:
    86     case CSSBoxType::FillBox:
    8788    case CSSBoxType::StrokeBox:
    8889    case CSSBoxType::ViewBox:
Note: See TracChangeset for help on using the changeset viewer.