[webkit-changes] [WebKit/WebKit] 44b526: Cherry-pick 261808 at main (2e5421f37cc9). https://bu...

Adrian Perez noreply at github.com
Sun Mar 26 14:42:36 PDT 2023


  Branch: refs/heads/webkitglib/2.40
  Home:   https://github.com/WebKit/WebKit
  Commit: 44b5267d03398106b2ea65fd62a5086708d67c70
      https://github.com/WebKit/WebKit/commit/44b5267d03398106b2ea65fd62a5086708d67c70
  Author: Darin Adler <darin at apple.com>
  Date:   2023-03-26 (Sun, 26 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:
  -----------
  Cherry-pick 261808 at main (2e5421f37cc9). https://bugs.webkit.org/show_bug.cgi?id=254063

    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


  Commit: e31d2a47bb439710ec5847dc254c58f1653ca33f
      https://github.com/WebKit/WebKit/commit/e31d2a47bb439710ec5847dc254c58f1653ca33f
  Author: Razvan Caliman <rcaliman at apple.com>
  Date:   2023-03-26 (Sun, 26 Mar 2023)

  Changed paths:
    M Source/WebInspectorUI/UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.js

  Log Message:
  -----------
  Cherry-pick 261804 at main (bc8856c0306b). https://bugs.webkit.org/show_bug.cgi?id=250136

    Web Inspector: Styles Panel: Filtering for the text `@media` does not find @media CSS rules
    https://bugs.webkit.org/show_bug.cgi?id=250136

    Reviewed by Patrick Angle.

    Check for the filter string on the grouping parent element which also includes the grouping type.

    * Source/WebInspectorUI/UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.js:
    (WI.SpreadsheetCSSStyleDeclarationSection.prototype._handleEditorFilterApplied):

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


  Commit: 7acc99273b9872b52c9d4bf95a10776fde261745
      https://github.com/WebKit/WebKit/commit/7acc99273b9872b52c9d4bf95a10776fde261745
  Author: Fujii Hironori <Hironori.Fujii at sony.com>
  Date:   2023-03-26 (Sun, 26 Mar 2023)

  Changed paths:
    M Source/WebCore/layout/formattingContexts/inline/text/TextUtil.cpp

  Log Message:
  -----------
  Cherry-pick 261406 at main (b625b7e2bbd3). https://bugs.webkit.org/show_bug.cgi?id=253547

    The 'length' argument of U16_FWD_1 in TextUtil::breakWord is wrong
    https://bugs.webkit.org/show_bug.cgi?id=253547

    Reviewed by Alan Baradlay.

    The test fast/text/midword-break-before-surrogate-pair.html was
    failing as the following assertion failure for WinCairo debug, and
    timing out by an infinite loop for WinCairo release.

    > ASSERTION FAILED: middle >= left && middle < right
    > Source/WebCore/layout/formattingContexts/inline/text/TextUtil.cpp(276) : WebCore::Layout::TextUtil::breakWord::<lambda_1>::operator ()

    U16_FWD_1 in nextUserPerceivedCharacterIndex didn't work as expected
    because the third argument was wrong. It should be a length of the
    input string, but 'length' is the length of the substring starting at
    'startPosition'.

    * LayoutTests/platform/wincairo/TestExpectations:
    * Source/WebCore/layout/formattingContexts/inline/text/TextUtil.cpp:
    (WebCore::Layout::TextUtil::breakWord):

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


  Commit: 911ce2ba429b84302b8e7e2a3592cd4ccfb53235
      https://github.com/WebKit/WebKit/commit/911ce2ba429b84302b8e7e2a3592cd4ccfb53235
  Author: Antti Koivisto <antti at apple.com>
  Date:   2023-03-26 (Sun, 26 Mar 2023)

  Changed paths:
    A LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/transition-important-expected.txt
    A LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/transition-important.html
    M Source/WebCore/style/PropertyCascade.cpp
    M Source/WebCore/style/PropertyCascade.h
    M Source/WebCore/style/StyleTreeResolver.cpp
    M Source/WebCore/style/StyleTreeResolver.h

  Log Message:
  -----------
  Cherry-pick 260880 at main (e0fa0f2073f1). https://bugs.webkit.org/show_bug.cgi?id=111329

    REGRESSION (258514 at main): Transition of !important property fails to animate
    https://bugs.webkit.org/show_bug.cgi?id=111329
    rdar://105929421

    Reviewed by Antoine Quint.

    The cascade precedence is (https://drafts.csswg.org/css-cascade-5/#cascade-sort)

    1) Transition declarations [css-transitions-1]
    2) Important user agent declarations
    3) Important user declarations
    4) Important author declarations
    5) Animation declarations [css-animations-1]
    6) Normal author declarations
    7) Normal user declarations
    8) Normal user agent declarations

    but we were treating transitions and animations similarly.

    * LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/transition-important-expected.txt: Added.
    * LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/transition-important.html: Added.
    * Source/WebCore/style/PropertyCascade.cpp:
    (WebCore::Style::PropertyCascade::addMatch):
    (WebCore::Style::PropertyCascade::shouldApplyAfterAnimation):

    Don't let !important properties override transitions.

    * Source/WebCore/style/PropertyCascade.h:
    * Source/WebCore/style/StyleTreeResolver.cpp:
    (WebCore::Style::TreeResolver::createAnimatedElementUpdate):

    Tell the cascade if this is a transition or animation.
    Note that this is still incorrect in the (rare) case where you would have both running on an element at the same time.

    (WebCore::Style::TreeResolver::applyCascadeAfterAnimation):
    * Source/WebCore/style/StyleTreeResolver.h:

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


  Commit: 1a1594e526ac7393a332843f69b2462d253d64e5
      https://github.com/WebKit/WebKit/commit/1a1594e526ac7393a332843f69b2462d253d64e5
  Author: Simon Fraser <simon.fraser at apple.com>
  Date:   2023-03-26 (Sun, 26 Mar 2023)

  Changed paths:
    A LayoutTests/platform/ios-wk2/scrollingcoordinator/scrolling-tree/fixed-inside-relative-inside-stacking-overflow-inside-transformed-expected.txt
    A LayoutTests/platform/wpe/scrollingcoordinator/scrolling-tree/fixed-inside-stacking-overflow-inside-transformed-expected.txt
    A LayoutTests/scrollingcoordinator/scrolling-tree/fixed-inside-relative-inside-stacking-overflow-inside-transformed-expected.txt
    A LayoutTests/scrollingcoordinator/scrolling-tree/fixed-inside-relative-inside-stacking-overflow-inside-transformed.html
    M Source/WebCore/rendering/RenderLayerCompositor.cpp

  Log Message:
  -----------
  Cherry-pick 262118 at main (cf604717c41c). https://bugs.webkit.org/show_bug.cgi?id=253503

    REGRESSION: Top bar is jumpy and glitchy on scmp.com
    https://bugs.webkit.org/show_bug.cgi?id=253503
    rdar://106407870

    Reviewed by Alan Baradlay and Myles C. Maxfield.

    The South China Morning Post has a content structure that looks like this:

    <div style="transform:translateZ(0)">
      <div style="overflow: scroll">
        <div style="position: relative">
          <div class="masthead" style="position: fixed"></div>
          <div style="something that triggers compositing"></div>
        </div>
      </div>
    </div>

    So the position:fixed is inside a transformed ancestor (which becomes its containing block),
    crossing the overflow boundary, and there's a relative position element in between.

    In this configuration, the containing block tree walk done in
    collectStationaryLayerRelatedOverflowNodes() for the fixedpos element would bail at the
    non-composited relpos element, so failing to find the overflow scrolling ancestor. This means that
    the scrolling tree would fail to reposition the "fixed" element on scrolling.

    The check for a non-composted layer in this tree walk was added in 247609 at main, but the relevant
    content no longer hits this condition, probably because of other dialog-related fixes. So remove it.

    * LayoutTests/platform/ios-wk2/scrollingcoordinator/scrolling-tree/fixed-inside-relative-inside-stacking-overflow-inside-transformed-expected.txt: Added.
    * LayoutTests/platform/wpe/scrollingcoordinator/scrolling-tree/fixed-inside-stacking-overflow-inside-transformed-expected.txt: Added.
    * LayoutTests/scrollingcoordinator/scrolling-tree/fixed-inside-relative-inside-stacking-overflow-inside-transformed-expected.txt: Added.
    * LayoutTests/scrollingcoordinator/scrolling-tree/fixed-inside-relative-inside-stacking-overflow-inside-transformed.html: Added.
    * Source/WebCore/rendering/RenderLayerCompositor.cpp:
    (WebCore::collectStationaryLayerRelatedOverflowNodes):

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


  Commit: 973060e57be64d02f61ff0075b8c573878383751
      https://github.com/WebKit/WebKit/commit/973060e57be64d02f61ff0075b8c573878383751
  Author: Adrian Perez de Castro <aperez at igalia.com>
  Date:   2023-03-27 (Mon, 27 Mar 2023)

  Changed paths:
    M Source/WebCore/html/BaseDateAndTimeInputType.cpp
    M Source/WebCore/html/HTMLInputElement.cpp

  Log Message:
  -----------
  Unreviewed non-unified build fixes.

* Source/WebCore/html/BaseDateAndTimeInputType.cpp: Add missing
  RenderElement.h header inclusion.
* Source/WebCore/html/HTMLInputElement.cpp: Add missing EventLoop.h
  header inclusion.


Compare: https://github.com/WebKit/WebKit/compare/7629cf06b588...973060e57be6


More information about the webkit-changes mailing list