[webkit-changes] [WebKit/WebKit] 2e5421: REGRESSION (258767 at main): image on studioneat.com ...

Darin Adler noreply at github.com
Fri Mar 17 14:22:36 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 2e5421f37cc928528af98194c3bc1aa5fb1c571e
      https://github.com/WebKit/WebKit/commit/2e5421f37cc928528af98194c3bc1aa5fb1c571e
  Author: Darin Adler <darin at apple.com>
  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 at 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 at 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




More information about the webkit-changes mailing list