Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 2e5421f37cc928528af98194c3bc1aa5fb1c571e
      
https://github.com/WebKit/WebKit/commit/2e5421f37cc928528af98194c3bc1aa5fb1c571e
  Author: Darin Adler <[email protected]>
  Date:   2023-03-17 (Fri, 17 Mar 2023)

  Changed paths:
    A LayoutTests/fast/css/mask-box-image-parsing-expected.txt
    A LayoutTests/fast/css/mask-box-image-parsing.html
    A LayoutTests/fast/css/mask-box-image-slices-expected.html
    A LayoutTests/fast/css/mask-box-image-slices.html
    M Source/WebCore/css/ComputedStyleExtractor.cpp
    M Source/WebCore/css/parser/CSSPropertyParser.cpp
    M Source/WebCore/style/StyleBuilderCustom.h

  Log Message:
  -----------
  REGRESSION (258767@main): image on studioneat.com is strangely masked
https://bugs.webkit.org/show_bug.cgi?id=254063
rdar://106464942

Reviewed by Oriol Brufau.

The 258767@main change caused -webkit-mask-box-image to set 
-webkit-mask-box-image-slices
to "auto" internally instead of to "0 fill", indirectly, by using an initial 
value.
This was not detectable by computed style, because the computed style code 
covered it up
and converted auto to 0. But it caused incorrect rendering.

* LayoutTests/fast/css/mask-box-image-parsing-expected.txt: Added.
* LayoutTests/fast/css/mask-box-image-parsing.html: Added.
* LayoutTests/fast/css/mask-box-image-slices-expected.html: Added.
* LayoutTests/fast/css/mask-box-image-slices.html: Added.

* Source/WebCore/css/ComputedStyleExtractor.cpp:
(WebCore::valueForImageSliceSide): Removed isAuto case. No auto value will 
eveer get here.

* Source/WebCore/css/parser/CSSPropertyParser.cpp:
(WebCore::initialValueForLonghand): Removed incorrect default value for
CSSPropertyWebkitMaskBoxImageSlice.
(WebCore::isInitialValueForLonghand): Added cases for all 4 of the 
-webkit-mask-box-image
longhands, since the parser expands them out into objects. This is the same as 
what we
already had here for border-image longhands.
(WebCore::initialValueTextForLonghand): Added a special case for
CSSPropertyWebkitMaskBoxImageSlice.
(WebCore::initialValueIDForLonghand): Ditto.

* Source/WebCore/style/StyleBuilderCustom.h:
(WebCore::Style::ApplyPropertyBorderImageModifier::applyInitialValue): Use a 
box of
fixed 0 for -webkit-mask-box-image-slices instead of auto. The auto here was 
incorrect
and is what led to the strange results above.

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


_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to