[webkit-changes] [WebKit/WebKit] d5a72f: Merge 254470 at main - [ANGLE] build failing with gcc 12

Chris Dumez noreply at github.com
Thu Sep 15 13:59:15 PDT 2022


  Branch: refs/heads/webkitglib/2.38
  Home:   https://github.com/WebKit/WebKit
  Commit: d5a72fad5df8765b444395aa860e6f6c759444e4
      https://github.com/WebKit/WebKit/commit/d5a72fad5df8765b444395aa860e6f6c759444e4
  Author: Philippe Normand <philn at igalia.com>
  Date:   2022-09-15 (Thu, 15 Sep 2022)

  Changed paths:
    M Source/ThirdParty/ANGLE/src/libANGLE/renderer/serial_utils.h

  Log Message:
  -----------
  Merge 254470 at main - [ANGLE] build failing with gcc 12
https://bugs.webkit.org/show_bug.cgi?id=245127

Reviewed by Kenneth Russell.

bool std::__atomic_base<_IntTp>::is_lock_free() is not constexpr, so the AtomicQueueSerial
constructor can't be either.

* Source/ThirdParty/ANGLE/src/libANGLE/renderer/serial_utils.h:

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

(cherry picked from commit ce99e018cd906ece56f7494baa3e6eb17214293e)


  Commit: 8b6ccecb81c580517a4db410e48ff65f9c111692
      https://github.com/WebKit/WebKit/commit/8b6ccecb81c580517a4db410e48ff65f9c111692
  Author: Enrique Ocaña González <eocanha at igalia.com>
  Date:   2022-09-15 (Thu, 15 Sep 2022)

  Changed paths:
    M Source/WebCore/Modules/mediasource/SourceBuffer.cpp

  Log Message:
  -----------
  Merge 254472 at main - [MSE] Round SourceBuffer removal range
https://bugs.webkit.org/show_bug.cgi?id=245081

Reviewed by Xabier Rodriguez-Calvar.

Representation of removal times as double in SourceBuffer::remove() can cause
problems in HBOMax due to precision/rounding problems.

In some problematic cases an unintended frame would be marked for removal because
of the very small overlap that could come from precision lost. For instance,
HBOMax uses the PTS of the next sample as removal 'end' and unexpectedly removes
the next segment (as it's a sync frame) sometimes.

Rounding the double removal range delimiters to nanoseconds would help to avoid
those problematic cases.

Original author: Andrzej Surdej <Andrzej_Surdej at comcast.com>
See: https://github.com/WebPlatformForEmbedded/WPEWebKit/pull/921

* Source/WebCore/Modules/mediasource/SourceBuffer.cpp:
(WebCore::SourceBuffer::remove): Round the removal range start/end values to millisecond precision.

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

(cherry picked from commit 2fc32818fdd29c1ec7d7570727a5d68d057c446f)


  Commit: 86e509e05f460f04ec28f822be1766aa5e78d0e1
      https://github.com/WebKit/WebKit/commit/86e509e05f460f04ec28f822be1766aa5e78d0e1
  Author: Matthieu Dubet <m_dubet at apple.com>
  Date:   2022-09-15 (Thu, 15 Sep 2022)

  Changed paths:
    M Source/WebCore/rendering/style/RenderStyle.h
    M Source/WebCore/rendering/style/StyleRareInheritedData.cpp
    M Source/WebCore/rendering/style/StyleRareNonInheritedData.cpp

  Log Message:
  -----------
  Merge 254458 at main - Correctly initialize some CSS color properties.
https://bugs.webkit.org/show_bug.cgi?id=245138

Reviewed by Tim Nguyen.

Before this commit, those properties didn't have their own
initialization function and default-initialized to Color {},
which is an invalid color and thus is later "interpreted" as
currentcolor, correctly having an "implicit" current color behavior.
This commit makes this behavior explicit, and will allow changing the
underlying representation of "current color" in the future.

* Source/WebCore/rendering/style/RenderStyle.h:
(WebCore::RenderStyle::initialTextStrokeColor):
(WebCore::RenderStyle::initialTextFillColor):
(WebCore::RenderStyle::initialTextEmphasisColor):
(WebCore::RenderStyle::initialTextDecorationColor):
* Source/WebCore/rendering/style/StyleRareInheritedData.cpp:
(WebCore::StyleRareInheritedData::StyleRareInheritedData):
* Source/WebCore/rendering/style/StyleRareNonInheritedData.cpp:
(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):

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

(cherry picked from commit 466a830e85aa4a1de3a745421fa8c968196668cb)


  Commit: 96fd65822f587306820d8fd01f7fd1f1d1b8fb2b
      https://github.com/WebKit/WebKit/commit/96fd65822f587306820d8fd01f7fd1f1d1b8fb2b
  Author: Chris Dumez <cdumez at apple.com>
  Date:   2022-09-15 (Thu, 15 Sep 2022)

  Changed paths:
    M LayoutTests/imported/w3c/web-platform-tests/html/browsers/browsing-the-web/history-traversal/persisted-user-state-restoration/scroll-restoration-fragment-scrolling-samedoc-expected.txt
    M Source/WebCore/loader/FrameLoader.cpp

  Log Message:
  -----------
  Merge 254493 at main - html/browsers/browsing-the-web/history-traversal/persisted-user-state-restoration/scroll-restoration-fragment-scrolling-samedoc.html is failing in WebKit
https://bugs.webkit.org/show_bug.cgi?id=245163

Reviewed by Brent Fulgham.

The issue was that the loadType would get ignored in FrameLoader::loadItem()
when the navigation is same-document. As a result, m_loadType wouldn't get
set and FrameLoader::scrollToFragmentWithParentBoundary() would call
isSameDocumentReload() with an inaccurate loadType.

* LayoutTests/imported/w3c/web-platform-tests/html/browsers/browsing-the-web/history-traversal/persisted-user-state-restoration/scroll-restoration-fragment-scrolling-samedoc-expected.txt:
* Source/WebCore/loader/FrameLoader.cpp:
(WebCore::FrameLoader::loadItem):

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

(cherry picked from commit 3b0345e4d4e277783583964c2ff3b9697c5aa1cc)


  Commit: 49355e2cbe78585cd3e74cf99b952922a0272630
      https://github.com/WebKit/WebKit/commit/49355e2cbe78585cd3e74cf99b952922a0272630
  Author: Simon Fraser <simon.fraser at apple.com>
  Date:   2022-09-15 (Thu, 15 Sep 2022)

  Changed paths:
    M Source/WebCore/platform/graphics/GraphicsLayer.cpp
    M Source/WebCore/platform/graphics/GraphicsLayer.h
    M Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp
    M Source/WebCore/platform/graphics/ca/GraphicsLayerCA.h

  Log Message:
  -----------
  Merge 253606 at main - Add a way to have GraphicsLayerCA create a single CATransformLayer
https://bugs.webkit.org/show_bug.cgi?id=244127

Reviewed by Tim Horton.

In a future patch I need to make a GraphicsLayerCA that just creates a single CATransformLayer in
the CALayer tree. Currently, setting preserves3D() does create a CATransformLayer, but also creates
a child CALayer for any rendered content.

Fix by adding GraphicsLayer::Type::Structural. A GraphicsLayer of this type will always have
`preserves3D == true` behavior, and does not support any kind of rendered content or effect (filters
or opacity); add some assertions to catch common misuses.

* Source/WebCore/platform/graphics/GraphicsLayer.cpp:
(WebCore::GraphicsLayer::supportsLayerType):
(WebCore::GraphicsLayer::GraphicsLayer):
(WebCore::GraphicsLayer::setPreserves3D):
(WebCore::GraphicsLayer::setMasksToBounds):
(WebCore::GraphicsLayer::setDrawsContent):
(WebCore::GraphicsLayer::setFilters):
(WebCore::GraphicsLayer::setOpacity):
(WebCore::GraphicsLayer::setBackgroundColor):
* Source/WebCore/platform/graphics/GraphicsLayer.h:
(WebCore::GraphicsLayer::platformLayer const):
(WebCore::GraphicsLayer::setPreserves3D): Deleted.
(WebCore::GraphicsLayer::setMasksToBounds): Deleted.
(WebCore::GraphicsLayer::setDrawsContent): Deleted.
(WebCore::GraphicsLayer::setOpacity): Deleted.
(WebCore::GraphicsLayer::setFilters): Deleted.
* Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayer::supportsLayerType):
(WebCore::GraphicsLayerCA::initialize):
(WebCore::GraphicsLayerCA::structuralLayerPurpose const):
* Source/WebCore/platform/graphics/ca/GraphicsLayerCA.h:
(WebCore::GraphicsLayerCA::isStructuralLayer const):

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

(cherry picked from commit 6ca6aad73c5b205af1070332ff2a3faba9db5627)


  Commit: 1404c6bf154407e9b8f86a29075321cc5a0a0e37
      https://github.com/WebKit/WebKit/commit/1404c6bf154407e9b8f86a29075321cc5a0a0e37
  Author: Simon Fraser <simon.fraser at apple.com>
  Date:   2022-09-15 (Thu, 15 Sep 2022)

  Changed paths:
    M Source/WebCore/rendering/RenderLayerBacking.cpp

  Log Message:
  -----------
  Merge 253582 at main - Simplify RenderLayerBacking::updateInternalHierarchy()
https://bugs.webkit.org/show_bug.cgi?id=244102

Reviewed by Alan Bujtas.

This function had some complicated conditional logic based on which layers exit.
It's mostly building a linear hierarchy of layers, so we can simplify by building
a list of layers in parent-child order, and then just looping over the list.

`m_contentsContainmentLayer` is special because it will have two children; the
`m_backgroundLayer`, and the `m_graphicsLayer`; we manually parent the first,
and let the loop append the second.

* Source/WebCore/rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateInternalHierarchy):

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

(cherry picked from commit 475727a247f83f3778e4ad7e04786d1629d7913f)


  Commit: 934c3875fe38f2b774e21e004aa74dee975e5f0b
      https://github.com/WebKit/WebKit/commit/934c3875fe38f2b774e21e004aa74dee975e5f0b
  Author: Simon Fraser <simon.fraser at apple.com>
  Date:   2022-09-15 (Thu, 15 Sep 2022)

  Changed paths:
    M LayoutTests/compositing/absolute-inside-out-of-view-fixed-expected.txt
    M LayoutTests/compositing/backing/backing-store-columns-inside-position-fixed-expected.txt
    M LayoutTests/compositing/backing/no-backing-for-offscreen-children-of-position-fixed-expected.txt
    M LayoutTests/compositing/contents-opaque/body-background-painted-expected.txt
    M LayoutTests/compositing/contents-opaque/body-background-skipped-expected.txt
    M LayoutTests/compositing/contents-opaque/hidden-with-visible-child-expected.txt
    M LayoutTests/compositing/contents-opaque/hidden-with-visible-text-expected.txt
    M LayoutTests/compositing/fixed-positioned-pseudo-content-no-compositing-expected.txt
    M LayoutTests/compositing/fixed-with-fixed-layout-expected.txt
    M LayoutTests/compositing/geometry/fixed-position-flipped-writing-mode-expected.txt
    M LayoutTests/compositing/geometry/fixed-transformed-expected.txt
    M LayoutTests/compositing/geometry/limit-layer-bounds-fixed-expected.txt
    M LayoutTests/compositing/geometry/limit-layer-bounds-fixed-positioned-expected.txt
    M LayoutTests/compositing/iframes/overlapped-nested-iframes-expected.txt
    M LayoutTests/compositing/layer-creation/fixed-overlap-extent-expected.txt
    M LayoutTests/compositing/layer-creation/fixed-overlap-extent-rtl-expected.txt
    M LayoutTests/compositing/layer-creation/fixed-position-and-transform-expected.txt
    M LayoutTests/compositing/layer-creation/fixed-position-change-out-of-view-in-view-expected.txt
    M LayoutTests/compositing/layer-creation/fixed-position-descendants-out-of-view-expected.txt
    M LayoutTests/compositing/layer-creation/fixed-position-out-of-view-expected.txt
    M LayoutTests/compositing/layer-creation/fixed-position-transformed-into-view-expected.txt
    M LayoutTests/compositing/layer-creation/fixed-position-under-transform-expected.txt
    M LayoutTests/compositing/layer-creation/zoomed-clip-intersection-expected.txt
    M LayoutTests/compositing/no-compositing-when-fulll-screen-is-present-expected.txt
    A LayoutTests/compositing/transforms/3d-transformed-fixed-expected.html
    A LayoutTests/compositing/transforms/3d-transformed-fixed.html
    M LayoutTests/compositing/visibility/visibility-change-in-subframe-expected.txt
    M LayoutTests/editing/editable-region/fixed-and-absolute-contenteditable-scrolled-expected.txt
    M LayoutTests/editing/editable-region/relative-inside-fixed-contenteditable-scrolled-expected.txt
    M LayoutTests/editing/editable-region/transformed-scrolled-on-top-of-fixed-contenteditables-expected.txt
    M LayoutTests/fast/repaint/iframe-on-subpixel-position-expected.txt
    M LayoutTests/fast/scrolling/mac/negative-z-index-overflow-scroll-expected.txt
    M LayoutTests/fast/visual-viewport/tiled-drawing/zoomed-fixed-scrolled-down-expected.txt
    M LayoutTests/fast/visual-viewport/tiled-drawing/zoomed-fixed-scrolled-down-then-up-expected.txt
    M LayoutTests/fast/visual-viewport/tiled-drawing/zoomed-fixed-scrolling-layers-state-expected.txt
    M LayoutTests/fullscreen/full-screen-layer-dump-expected.txt
    M LayoutTests/platform/ios-wk2/compositing/contents-opaque/body-background-painted-expected.txt
    M LayoutTests/platform/ios-wk2/compositing/contents-opaque/body-background-skipped-expected.txt
    M LayoutTests/platform/ios-wk2/compositing/fixed-image-loading-expected.txt
    M LayoutTests/platform/ios-wk2/compositing/geometry/fixed-position-composited-switch-expected.txt
    M LayoutTests/platform/ios-wk2/compositing/geometry/limit-layer-bounds-fixed-expected.txt
    M LayoutTests/platform/ios-wk2/compositing/geometry/limit-layer-bounds-fixed-positioned-expected.txt
    M LayoutTests/platform/ios-wk2/compositing/layer-creation/fixed-position-transformed-into-view-expected.txt
    M LayoutTests/platform/ios-wk2/compositing/layer-creation/fixed-position-under-transform-expected.txt
    M LayoutTests/platform/ios-wk2/compositing/layer-creation/no-compositing-for-sticky-expected.txt
    M LayoutTests/platform/ios-wk2/compositing/rtl/rtl-fixed-expected.txt
    M LayoutTests/platform/ios-wk2/compositing/rtl/rtl-fixed-overflow-expected.txt
    M LayoutTests/platform/ios-wk2/compositing/rtl/rtl-iframe-fixed-expected.txt
    M LayoutTests/platform/ios-wk2/compositing/visibility/visibility-change-in-subframe-expected.txt
    M LayoutTests/platform/ios-wk2/scrollingcoordinator/scrolling-tree/fixed-inside-frame-expected.txt
    M LayoutTests/platform/ios/compositing/absolute-inside-out-of-view-fixed-expected.txt
    M LayoutTests/platform/ios/compositing/geometry/fixed-position-flipped-writing-mode-expected.txt
    M LayoutTests/platform/ios/compositing/iframes/overlapped-nested-iframes-expected.txt
    M LayoutTests/platform/ios/compositing/layer-creation/fixed-position-and-transform-expected.txt
    M LayoutTests/platform/ios/compositing/rtl/rtl-fixed-overflow-scrolled-expected.txt
    M LayoutTests/platform/ios/scrollingcoordinator/ios/fixed-in-frame-layer-reconcile-layer-position-expected.txt
    M LayoutTests/platform/mac-wk2/compositing/contents-opaque/body-background-painted-expected.txt
    M LayoutTests/platform/mac-wk2/compositing/contents-opaque/body-background-skipped-expected.txt
    M LayoutTests/platform/mac-wk2/compositing/fixed-image-loading-expected.txt
    M LayoutTests/platform/mac-wk2/compositing/rtl/rtl-fixed-expected.txt
    M LayoutTests/platform/mac-wk2/compositing/rtl/rtl-fixed-overflow-expected.txt
    M LayoutTests/platform/mac/compositing/fixed-image-loading-expected.txt
    M LayoutTests/platform/mac/compositing/geometry/fixed-position-composited-switch-expected.txt
    M LayoutTests/platform/mac/compositing/rtl/rtl-fixed-expected.txt
    M LayoutTests/platform/mac/compositing/rtl/rtl-fixed-overflow-scrolled-expected.txt
    M LayoutTests/scrollingcoordinator/scrolling-tree/fixed-inside-frame-expected.txt
    M LayoutTests/tiled-drawing/scrolling/non-fast-region/wheel-handler-fixed-child-expected.txt
    M LayoutTests/tiled-drawing/scrolling/non-fast-region/wheel-handler-inside-fixed-expected.txt
    M LayoutTests/tiled-drawing/scrolling/non-fast-region/wheel-handler-on-fixed-expected.txt
    M LayoutTests/tiled-drawing/scrolling/sticky/sticky-layers-expected.txt
    M Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp
    M Source/WebCore/rendering/RenderLayerBacking.cpp
    M Source/WebCore/rendering/RenderLayerBacking.h
    M Source/WebCore/rendering/RenderLayerCompositor.cpp

  Log Message:
  -----------
  Merge 253865 at main - Sticky/fixed layers that are resized on the main thread can appear stretched when scrolling
https://bugs.webkit.org/show_bug.cgi?id=222132
<rdar://problem/74760592>

Reviewed by Tim Horton.

On macOS, layers for position:fixed and sticky are repositioned on the scrolling thread which
may run concurrently with Core Animation commits on the main thread.  If those main thread commits
change the layer size, and the commit takes time (e.g. involves slow painting), it's possible for
the layer size change to be entrained by the scrolling thread commit, which can result in
stretched layer contents as the size change is committed before the main thread has committed new
backing store. This bug has been observed on https://www.apple.com/ipad-air/ and some Github pages
like https://github.com/WebKit/WebKit/pull/2941/files.

To fix this we have to give fixed/sticky layers an additional "anchor" layer which is the one
repositioned on the scrolling thread. The main layer with painted content is then a child of that
anchor layer. This new layer has to avoid transform flattening (a perspective on the container
of the fixed or sticky layer should affect the fixed or sticky layer's 3d transform), so uses
the newly added GraphicsLayer::Type::Structural, which creates a CATransformLayer under the hood.
Additionally, the propagated perspective transform has to not be affected by the anchor layer's
position, which is achieved by giving the anchor layer a boundsOrigin equal to the fixed layer's
position (effectively negating the anchor layer position). This is tested by
compositing/transforms/3d-transformed-fixed.html.

Changing boundsOrigin on a layer that isn't clipped revealed a bug in `GraphicsLayerCA::computeVisibleAndCoverageRect()`,
which was manifested as missing backing store in `fast/css/sticky/sticky-table-row-top.html`:
the TransformState was not adjusted for the non-zero bounds origin, and instead it was just
baked into the `clipRectForSelf` and `coverageRect`. Fix by computing `clipRectForSelf` and
`clipRectFromParent` ignoring boundsOrigin (so that the `state.setSecondaryQuad()` pushes a
rect that is not affected by boundsOrigin), and then doing `state.move(-boundsOrigin)` so that
descendants see the effects of the boundsOrigin.

The anchor layer has zero size and is not visible with layer borders (since transform layers can't
show borders).

* LayoutTests/compositing/contents-opaque/body-background-painted-expected.txt:
* LayoutTests/compositing/contents-opaque/body-background-skipped-expected.txt:
* LayoutTests/compositing/absolute-inside-out-of-view-fixed-expected.txt:
* LayoutTests/compositing/backing/backing-store-columns-inside-position-fixed-expected.txt:
* LayoutTests/compositing/backing/no-backing-for-offscreen-children-of-position-fixed-expected.txt:
* LayoutTests/compositing/contents-opaque/hidden-with-visible-child-expected.txt:
* LayoutTests/compositing/contents-opaque/hidden-with-visible-text-expected.txt:
* LayoutTests/compositing/fixed-positioned-pseudo-content-no-compositing-expected.txt:
* LayoutTests/compositing/fixed-with-fixed-layout-expected.txt:
* LayoutTests/compositing/geometry/fixed-position-flipped-writing-mode-expected.txt:
* LayoutTests/compositing/geometry/fixed-transformed-expected.txt:
* LayoutTests/compositing/geometry/limit-layer-bounds-fixed-expected.txt:
* LayoutTests/compositing/geometry/limit-layer-bounds-fixed-positioned-expected.txt:
* LayoutTests/compositing/iframes/overlapped-nested-iframes-expected.txt:
* LayoutTests/compositing/layer-creation/fixed-overlap-extent-expected.txt:
* LayoutTests/compositing/layer-creation/fixed-overlap-extent-rtl-expected.txt:
* LayoutTests/compositing/layer-creation/fixed-position-and-transform-expected.txt:
* LayoutTests/compositing/layer-creation/fixed-position-change-out-of-view-in-view-expected.txt:
* LayoutTests/compositing/layer-creation/fixed-position-descendants-out-of-view-expected.txt:
* LayoutTests/compositing/layer-creation/fixed-position-out-of-view-expected.txt:
* LayoutTests/compositing/layer-creation/fixed-position-transformed-into-view-expected.txt:
* LayoutTests/compositing/layer-creation/fixed-position-under-transform-expected.txt:
* LayoutTests/compositing/layer-creation/zoomed-clip-intersection-expected.txt:
* LayoutTests/compositing/no-compositing-when-fulll-screen-is-present-expected.txt:
* LayoutTests/compositing/visibility/visibility-change-in-subframe-expected.txt:
* LayoutTests/platform/ios-wk2/compositing/contents-opaque/body-background-painted-expected.txt:
* LayoutTests/platform/ios-wk2/compositing/contents-opaque/body-background-skipped-expected.txt:
* LayoutTests/platform/ios-wk2/compositing/fixed-image-loading-expected.txt:
* LayoutTests/platform/ios-wk2/compositing/geometry/fixed-position-composited-switch-expected.txt:
* LayoutTests/platform/ios-wk2/compositing/geometry/limit-layer-bounds-fixed-expected.txt:
* LayoutTests/platform/ios-wk2/compositing/geometry/limit-layer-bounds-fixed-positioned-expected.txt:
* LayoutTests/platform/ios-wk2/compositing/layer-creation/fixed-position-transformed-into-view-expected.txt:
* LayoutTests/platform/ios-wk2/compositing/layer-creation/fixed-position-under-transform-expected.txt:
* LayoutTests/platform/ios-wk2/compositing/layer-creation/no-compositing-for-sticky-expected.txt:
* LayoutTests/platform/ios-wk2/compositing/rtl/rtl-fixed-expected.txt:
* LayoutTests/platform/ios-wk2/compositing/rtl/rtl-fixed-overflow-expected.txt:
* LayoutTests/platform/ios-wk2/compositing/rtl/rtl-iframe-fixed-expected.txt:
* LayoutTests/platform/ios-wk2/compositing/visibility/visibility-change-in-subframe-expected.txt:
* LayoutTests/platform/ios-wk2/scrollingcoordinator/scrolling-tree/fixed-inside-frame-expected.txt:
* LayoutTests/platform/ios/compositing/absolute-inside-out-of-view-fixed-expected.txt:
* LayoutTests/platform/ios/compositing/geometry/fixed-position-flipped-writing-mode-expected.txt:
* LayoutTests/platform/ios/compositing/iframes/overlapped-nested-iframes-expected.txt:
* LayoutTests/platform/ios/compositing/layer-creation/fixed-position-and-transform-expected.txt:
* LayoutTests/platform/ios/compositing/rtl/rtl-fixed-overflow-scrolled-expected.txt:
* LayoutTests/platform/ios/scrollingcoordinator/ios/fixed-in-frame-layer-reconcile-layer-position-expected.txt:
* LayoutTests/platform/mac/compositing/fixed-image-loading-expected.txt:
* LayoutTests/platform/mac/compositing/rtl/rtl-fixed-expected.txt:
* LayoutTests/platform/mac-wk2/compositing/contents-opaque/body-background-painted-expected.txt:
* LayoutTests/platform/mac-wk2/compositing/contents-opaque/body-background-skipped-expected.txt:
* LayoutTests/platform/mac-wk2/compositing/fixed-image-loading-expected.txt:
* LayoutTests/platform/mac-wk2/compositing/rtl/rtl-fixed-expected.txt:
* LayoutTests/platform/mac-wk2/compositing/rtl/rtl-fixed-overflow-expected.txt:
* LayoutTests/platform/mac/compositing/geometry/fixed-position-composited-switch-expected.txt:
* LayoutTests/platform/mac/compositing/rtl/rtl-fixed-overflow-scrolled-expected.txt:
* LayoutTests/scrollingcoordinator/scrolling-tree/fixed-inside-frame-expected.txt:
* LayoutTests/tiled-drawing/scrolling/non-fast-region/wheel-handler-fixed-child-expected.txt:
* LayoutTests/tiled-drawing/scrolling/non-fast-region/wheel-handler-inside-fixed-expected.txt:
* LayoutTests/tiled-drawing/scrolling/non-fast-region/wheel-handler-on-fixed-expected.txt:
* Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::computeVisibleAndCoverageRect const):
* Source/WebCore/rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateViewportConstrainedAnchorLayer):

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

(cherry picked from commit 69483ca1904abd5802d6aa8ed48bfdf0f2a4d798)


  Commit: 553df439fc80c7a98c08990c58eb370a51a4b9b4
      https://github.com/WebKit/WebKit/commit/553df439fc80c7a98c08990c58eb370a51a4b9b4
  Author: Simon Fraser <simon.fraser at apple.com>
  Date:   2022-09-15 (Thu, 15 Sep 2022)

  Changed paths:
    M LayoutTests/TestExpectations
    M LayoutTests/compositing/absolute-inside-out-of-view-fixed-expected.txt
    M LayoutTests/compositing/backing/backing-store-columns-inside-position-fixed-expected.txt
    M LayoutTests/compositing/contents-opaque/hidden-with-visible-child-expected.txt
    M LayoutTests/compositing/contents-opaque/hidden-with-visible-text-expected.txt
    M LayoutTests/compositing/fixed-positioned-pseudo-content-no-compositing-expected.txt
    M LayoutTests/compositing/fixed-with-fixed-layout-expected.txt
    M LayoutTests/compositing/geometry/fixed-position-flipped-writing-mode-expected.txt
    M LayoutTests/compositing/geometry/fixed-transformed-expected.txt
    M LayoutTests/compositing/geometry/limit-layer-bounds-fixed-expected.txt
    M LayoutTests/compositing/geometry/limit-layer-bounds-fixed-positioned-expected.txt
    M LayoutTests/compositing/iframes/overlapped-nested-iframes-expected.txt
    M LayoutTests/compositing/layer-creation/fixed-overlap-extent-expected.txt
    M LayoutTests/compositing/layer-creation/fixed-overlap-extent-rtl-expected.txt
    M LayoutTests/compositing/layer-creation/fixed-position-and-transform-expected.txt
    M LayoutTests/compositing/layer-creation/fixed-position-change-out-of-view-in-view-expected.txt
    M LayoutTests/compositing/layer-creation/fixed-position-descendants-out-of-view-expected.txt
    M LayoutTests/compositing/layer-creation/fixed-position-transformed-into-view-expected.txt
    M LayoutTests/compositing/layer-creation/fixed-position-under-transform-expected.txt
    M LayoutTests/compositing/layer-creation/zoomed-clip-intersection-expected.txt
    M LayoutTests/compositing/transforms/3d-transformed-fixed-expected.html
    M LayoutTests/compositing/transforms/3d-transformed-fixed.html
    M LayoutTests/editing/editable-region/fixed-and-absolute-contenteditable-scrolled-expected.txt
    M LayoutTests/editing/editable-region/relative-inside-fixed-contenteditable-scrolled-expected.txt
    M LayoutTests/editing/editable-region/transformed-scrolled-on-top-of-fixed-contenteditables-expected.txt
    M LayoutTests/fast/scrolling/mac/negative-z-index-overflow-scroll-expected.txt
    M LayoutTests/fast/visual-viewport/tiled-drawing/zoomed-fixed-scrolled-down-expected.txt
    M LayoutTests/fast/visual-viewport/tiled-drawing/zoomed-fixed-scrolled-down-then-up-expected.txt
    M LayoutTests/fast/visual-viewport/tiled-drawing/zoomed-fixed-scrolling-layers-state-expected.txt
    M LayoutTests/platform/ios-wk2/compositing/contents-opaque/body-background-painted-expected.txt
    M LayoutTests/platform/ios-wk2/compositing/contents-opaque/body-background-skipped-expected.txt
    M LayoutTests/platform/ios-wk2/compositing/fixed-image-loading-expected.txt
    M LayoutTests/platform/ios-wk2/compositing/geometry/fixed-position-composited-switch-expected.txt
    M LayoutTests/platform/ios-wk2/compositing/geometry/limit-layer-bounds-fixed-expected.txt
    M LayoutTests/platform/ios-wk2/compositing/geometry/limit-layer-bounds-fixed-positioned-expected.txt
    M LayoutTests/platform/ios-wk2/compositing/layer-creation/fixed-position-transformed-into-view-expected.txt
    M LayoutTests/platform/ios-wk2/compositing/layer-creation/fixed-position-under-transform-expected.txt
    M LayoutTests/platform/ios-wk2/compositing/layer-creation/no-compositing-for-sticky-expected.txt
    M LayoutTests/platform/ios-wk2/compositing/rtl/rtl-fixed-expected.txt
    M LayoutTests/platform/ios-wk2/compositing/rtl/rtl-fixed-overflow-expected.txt
    M LayoutTests/platform/ios-wk2/compositing/rtl/rtl-iframe-fixed-expected.txt
    M LayoutTests/platform/ios-wk2/scrollingcoordinator/scrolling-tree/fixed-inside-frame-expected.txt
    M LayoutTests/platform/ios/compositing/absolute-inside-out-of-view-fixed-expected.txt
    M LayoutTests/platform/ios/compositing/geometry/fixed-position-flipped-writing-mode-expected.txt
    M LayoutTests/platform/ios/compositing/iframes/overlapped-nested-iframes-expected.txt
    M LayoutTests/platform/ios/compositing/layer-creation/fixed-position-and-transform-expected.txt
    M LayoutTests/platform/ios/compositing/rtl/rtl-fixed-overflow-scrolled-expected.txt
    M LayoutTests/platform/ios/scrollingcoordinator/ios/fixed-in-frame-layer-reconcile-layer-position-expected.txt
    M LayoutTests/platform/mac-wk2/compositing/contents-opaque/body-background-painted-expected.txt
    M LayoutTests/platform/mac-wk2/compositing/contents-opaque/body-background-skipped-expected.txt
    M LayoutTests/platform/mac-wk2/compositing/fixed-image-loading-expected.txt
    M LayoutTests/platform/mac-wk2/compositing/rtl/rtl-fixed-expected.txt
    M LayoutTests/platform/mac-wk2/compositing/rtl/rtl-fixed-overflow-expected.txt
    M LayoutTests/platform/mac/compositing/geometry/fixed-position-composited-switch-expected.txt
    M LayoutTests/platform/mac/compositing/rtl/rtl-fixed-overflow-scrolled-expected.txt
    M LayoutTests/scrollingcoordinator/scrolling-tree/fixed-inside-frame-expected.txt
    M LayoutTests/tiled-drawing/scrolling/non-fast-region/wheel-handler-fixed-child-expected.txt
    M LayoutTests/tiled-drawing/scrolling/non-fast-region/wheel-handler-inside-fixed-expected.txt
    M LayoutTests/tiled-drawing/scrolling/non-fast-region/wheel-handler-on-fixed-expected.txt
    M LayoutTests/tiled-drawing/scrolling/sticky/sticky-layers-expected.txt
    M Source/WebCore/rendering/RenderLayerBacking.cpp

  Log Message:
  -----------
  Merge 254304 at main - REGRESSION (253865 at main): Fixed elements jiggle when scrolling youtube.com
https://bugs.webkit.org/show_bug.cgi?id=244767
<rdar://99495036>

Reviewed by Alan Bujtas.

Part of the fix in 253865 at main was based on the false premise that `perspective` on some
ancestor could affect the 3D transform on a layer with `position:fixed` behavior; that
patch fiddled with boundsOrigin on the anchor layer to allow the perspective
sublayerTransform to influence the fixed layer.

However, per spec[1], `perspective` creates a containing block for fixed position, and
indeed this was fixed in the compositing code path in 253809 at main (the lack of this fix
confused my testing when writing the original patch). So it turns out that the anchor
layer used for fixed and sticky layers doesn't need any boundsOrigin adjustment.
Removing the boundsOrigin adjustment fixes some scrolling thread jiggles that I didn't
fully debug. The anchor layer still uses `GraphicsLayer::Type::Structural` to allow
perspective to affect a `position:sticky` element and to avoid flattening by
`preserve-3d`, as tested by the
`css/css-transforms/3dtransform-and-position-sticky-002.html` WPT.

[1] https://www.w3.org/TR/css-transforms-2/#perspective-property

* LayoutTests/compositing/absolute-inside-out-of-view-fixed-expected.txt:
* LayoutTests/compositing/absolute-inside-out-of-view-fixed-expected.txt:
* LayoutTests/compositing/backing/backing-store-columns-inside-position-fixed-expected.txt:
* LayoutTests/compositing/backing/backing-store-columns-inside-position-fixed-expected.txt:
* LayoutTests/compositing/backing/no-backing-for-offscreen-children-of-position-fixed-expected.txt:
* LayoutTests/compositing/backing/no-backing-for-offscreen-children-of-position-fixed-expected.txt:
* LayoutTests/compositing/contents-opaque/hidden-with-visible-child-expected.txt:
* LayoutTests/compositing/contents-opaque/hidden-with-visible-child-expected.txt:
* LayoutTests/compositing/contents-opaque/hidden-with-visible-text-expected.txt:
* LayoutTests/compositing/contents-opaque/hidden-with-visible-text-expected.txt:
* LayoutTests/compositing/fixed-positioned-pseudo-content-no-compositing-expected.txt:
* LayoutTests/compositing/fixed-positioned-pseudo-content-no-compositing-expected.txt:
* LayoutTests/compositing/fixed-with-fixed-layout-expected.txt:
* LayoutTests/compositing/fixed-with-fixed-layout-expected.txt:
* LayoutTests/compositing/geometry/fixed-position-flipped-writing-mode-expected.txt:
* LayoutTests/compositing/geometry/fixed-position-flipped-writing-mode-expected.txt:
* LayoutTests/compositing/geometry/fixed-transformed-expected.txt:
* LayoutTests/compositing/geometry/fixed-transformed-expected.txt:
* LayoutTests/compositing/geometry/limit-layer-bounds-fixed-expected.txt:
* LayoutTests/compositing/geometry/limit-layer-bounds-fixed-expected.txt:
* LayoutTests/compositing/geometry/limit-layer-bounds-fixed-positioned-expected.txt:
* LayoutTests/compositing/geometry/limit-layer-bounds-fixed-positioned-expected.txt:
* LayoutTests/compositing/iframes/overlapped-nested-iframes-expected.txt:
* LayoutTests/compositing/iframes/overlapped-nested-iframes-expected.txt:
* LayoutTests/compositing/layer-creation/fixed-overlap-extent-expected.txt:
* LayoutTests/compositing/layer-creation/fixed-overlap-extent-expected.txt:
* LayoutTests/compositing/layer-creation/fixed-overlap-extent-rtl-expected.txt:
* LayoutTests/compositing/layer-creation/fixed-overlap-extent-rtl-expected.txt:
* LayoutTests/compositing/layer-creation/fixed-position-and-transform-expected.txt:
* LayoutTests/compositing/layer-creation/fixed-position-and-transform-expected.txt:
* LayoutTests/compositing/layer-creation/fixed-position-change-out-of-view-in-view-expected.txt:
* LayoutTests/compositing/layer-creation/fixed-position-change-out-of-view-in-view-expected.txt:
* LayoutTests/compositing/layer-creation/fixed-position-descendants-out-of-view-expected.txt:
* LayoutTests/compositing/layer-creation/fixed-position-descendants-out-of-view-expected.txt:
* LayoutTests/compositing/layer-creation/fixed-position-out-of-view-expected.txt:
* LayoutTests/compositing/layer-creation/fixed-position-out-of-view-expected.txt:
* LayoutTests/compositing/layer-creation/fixed-position-transformed-into-view-expected.txt:
* LayoutTests/compositing/layer-creation/fixed-position-transformed-into-view-expected.txt:
* LayoutTests/compositing/layer-creation/fixed-position-under-transform-expected.txt:
* LayoutTests/compositing/layer-creation/fixed-position-under-transform-expected.txt:
* LayoutTests/compositing/layer-creation/zoomed-clip-intersection-expected.txt:
* LayoutTests/compositing/layer-creation/zoomed-clip-intersection-expected.txt:
* LayoutTests/compositing/no-compositing-when-fulll-screen-is-present-expected.txt:
* LayoutTests/compositing/no-compositing-when-fulll-screen-is-present-expected.txt:
* LayoutTests/compositing/transforms/3d-transformed-fixed-expected.html:
* LayoutTests/compositing/transforms/3d-transformed-fixed.html:
* LayoutTests/compositing/visibility/visibility-change-in-subframe-expected.txt:
* LayoutTests/compositing/visibility/visibility-change-in-subframe-expected.txt:
* LayoutTests/editing/editable-region/fixed-and-absolute-contenteditable-scrolled-expected.txt:
* LayoutTests/editing/editable-region/fixed-and-absolute-contenteditable-scrolled-expected.txt:
* LayoutTests/editing/editable-region/relative-inside-fixed-contenteditable-scrolled-expected.txt:
* LayoutTests/editing/editable-region/relative-inside-fixed-contenteditable-scrolled-expected.txt:
* LayoutTests/editing/editable-region/transformed-scrolled-on-top-of-fixed-contenteditables-expected.txt:
* LayoutTests/editing/editable-region/transformed-scrolled-on-top-of-fixed-contenteditables-expected.txt:
* LayoutTests/fast/repaint/iframe-on-subpixel-position-expected.txt:
* LayoutTests/fast/scrolling/mac/negative-z-index-overflow-scroll-expected.txt:
* LayoutTests/fast/scrolling/mac/negative-z-index-overflow-scroll-expected.txt:
* LayoutTests/fast/visual-viewport/tiled-drawing/zoomed-fixed-scrolled-down-expected.txt:
* LayoutTests/fast/visual-viewport/tiled-drawing/zoomed-fixed-scrolled-down-then-up-expected.txt:
* LayoutTests/fast/visual-viewport/tiled-drawing/zoomed-fixed-scrolling-layers-state-expected.txt:
* LayoutTests/fullscreen/full-screen-layer-dump-expected.txt:
* LayoutTests/platform/ios-wk2/compositing/contents-opaque/body-background-painted-expected.txt:
* LayoutTests/platform/ios-wk2/compositing/contents-opaque/body-background-painted-expected.txt:
* LayoutTests/platform/ios-wk2/compositing/contents-opaque/body-background-skipped-expected.txt:
* LayoutTests/platform/ios-wk2/compositing/contents-opaque/body-background-skipped-expected.txt:
* LayoutTests/platform/ios-wk2/compositing/fixed-image-loading-expected.txt:
* LayoutTests/platform/ios-wk2/compositing/fixed-image-loading-expected.txt:
* LayoutTests/platform/ios-wk2/compositing/geometry/fixed-position-composited-switch-expected.txt:
* LayoutTests/platform/ios-wk2/compositing/geometry/fixed-position-composited-switch-expected.txt:
* LayoutTests/platform/ios-wk2/compositing/geometry/limit-layer-bounds-fixed-expected.txt:
* LayoutTests/platform/ios-wk2/compositing/geometry/limit-layer-bounds-fixed-expected.txt:
* LayoutTests/platform/ios-wk2/compositing/geometry/limit-layer-bounds-fixed-positioned-expected.txt:
* LayoutTests/platform/ios-wk2/compositing/geometry/limit-layer-bounds-fixed-positioned-expected.txt:
* LayoutTests/platform/ios-wk2/compositing/layer-creation/fixed-position-transformed-into-view-expected.txt:
* LayoutTests/platform/ios-wk2/compositing/layer-creation/fixed-position-transformed-into-view-expected.txt:
* LayoutTests/platform/ios-wk2/compositing/layer-creation/fixed-position-under-transform-expected.txt:
* LayoutTests/platform/ios-wk2/compositing/layer-creation/fixed-position-under-transform-expected.txt:
* LayoutTests/platform/ios-wk2/compositing/layer-creation/no-compositing-for-sticky-expected.txt:
* LayoutTests/platform/ios-wk2/compositing/layer-creation/no-compositing-for-sticky-expected.txt:
* LayoutTests/platform/ios-wk2/compositing/rtl/rtl-fixed-expected.txt:
* LayoutTests/platform/ios-wk2/compositing/rtl/rtl-fixed-expected.txt:
* LayoutTests/platform/ios-wk2/compositing/rtl/rtl-fixed-overflow-expected.txt:
* LayoutTests/platform/ios-wk2/compositing/rtl/rtl-fixed-overflow-expected.txt:
* LayoutTests/platform/ios-wk2/compositing/rtl/rtl-iframe-fixed-expected.txt:
* LayoutTests/platform/ios-wk2/compositing/rtl/rtl-iframe-fixed-expected.txt:
* LayoutTests/platform/ios-wk2/compositing/visibility/visibility-change-in-subframe-expected.txt:
* LayoutTests/platform/ios-wk2/compositing/visibility/visibility-change-in-subframe-expected.txt:
* LayoutTests/platform/ios-wk2/scrollingcoordinator/scrolling-tree/fixed-inside-frame-expected.txt:
* LayoutTests/platform/ios/compositing/absolute-inside-out-of-view-fixed-expected.txt:
* LayoutTests/platform/ios/compositing/absolute-inside-out-of-view-fixed-expected.txt:
* LayoutTests/platform/ios/compositing/geometry/fixed-position-flipped-writing-mode-expected.txt:
* LayoutTests/platform/ios/compositing/geometry/fixed-position-flipped-writing-mode-expected.txt:
* LayoutTests/platform/ios/compositing/iframes/overlapped-nested-iframes-expected.txt:
* LayoutTests/platform/ios/compositing/iframes/overlapped-nested-iframes-expected.txt:
* LayoutTests/platform/ios/compositing/layer-creation/fixed-position-and-transform-expected.txt:
* LayoutTests/platform/ios/compositing/layer-creation/fixed-position-and-transform-expected.txt:
* LayoutTests/platform/ios/compositing/rtl/rtl-fixed-overflow-scrolled-expected.txt:
* LayoutTests/platform/ios/compositing/rtl/rtl-fixed-overflow-scrolled-expected.txt:
* LayoutTests/platform/ios/scrollingcoordinator/ios/fixed-in-frame-layer-reconcile-layer-position-expected.txt:
* LayoutTests/platform/mac-wk2/compositing/contents-opaque/body-background-painted-expected.txt:
* LayoutTests/platform/mac-wk2/compositing/contents-opaque/body-background-painted-expected.txt:
* LayoutTests/platform/mac-wk2/compositing/contents-opaque/body-background-skipped-expected.txt:
* LayoutTests/platform/mac-wk2/compositing/contents-opaque/body-background-skipped-expected.txt:
* LayoutTests/platform/mac-wk2/compositing/fixed-image-loading-expected.txt:
* LayoutTests/platform/mac-wk2/compositing/fixed-image-loading-expected.txt:
* LayoutTests/platform/mac-wk2/compositing/rtl/rtl-fixed-expected.txt:
* LayoutTests/platform/mac-wk2/compositing/rtl/rtl-fixed-expected.txt:
* LayoutTests/platform/mac-wk2/compositing/rtl/rtl-fixed-overflow-expected.txt:
* LayoutTests/platform/mac-wk2/compositing/rtl/rtl-fixed-overflow-expected.txt:
* LayoutTests/platform/mac/compositing/geometry/fixed-position-composited-switch-expected.txt:
* LayoutTests/platform/mac/compositing/geometry/fixed-position-composited-switch-expected.txt:
* LayoutTests/platform/mac/compositing/rtl/rtl-fixed-overflow-scrolled-expected.txt:
* LayoutTests/platform/mac/compositing/rtl/rtl-fixed-overflow-scrolled-expected.txt:
* LayoutTests/scrollingcoordinator/scrolling-tree/fixed-inside-frame-expected.txt:
* LayoutTests/scrollingcoordinator/scrolling-tree/fixed-inside-frame-expected.txt:
* LayoutTests/tiled-drawing/scrolling/non-fast-region/wheel-handler-fixed-child-expected.txt:
* LayoutTests/tiled-drawing/scrolling/non-fast-region/wheel-handler-fixed-child-expected.txt:
* LayoutTests/tiled-drawing/scrolling/non-fast-region/wheel-handler-inside-fixed-expected.txt:
* LayoutTests/tiled-drawing/scrolling/non-fast-region/wheel-handler-inside-fixed-expected.txt:
* LayoutTests/tiled-drawing/scrolling/non-fast-region/wheel-handler-on-fixed-expected.txt:
* LayoutTests/tiled-drawing/scrolling/non-fast-region/wheel-handler-on-fixed-expected.txt:
* LayoutTests/tiled-drawing/scrolling/sticky/sticky-layers-expected.txt:
* LayoutTests/tiled-drawing/scrolling/sticky/sticky-layers-expected.txt:

* Source/WebCore/rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateGeometry):
(WebCore::RenderLayerBacking::updateViewportConstrainedAnchorLayer):

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

(cherry picked from commit 99677e63f83398f621acad2e766fedf40d3e5fc9)


  Commit: ba7d603e2beeb7af2981b85fee5f0dab8d2bf5b4
      https://github.com/WebKit/WebKit/commit/ba7d603e2beeb7af2981b85fee5f0dab8d2bf5b4
  Author: Antoine Quint <graouts at apple.com>
  Date:   2022-09-15 (Thu, 15 Sep 2022)

  Changed paths:
    M LayoutTests/http/tests/css/shared-stylesheet-mutation-preconstruct-expected.txt
    A LayoutTests/imported/w3c/web-platform-tests/css/css-animations/parsing/keyframes-allowed-properties-expected.txt
    A LayoutTests/imported/w3c/web-platform-tests/css/css-animations/parsing/keyframes-allowed-properties.html
    M LayoutTests/imported/w3c/web-platform-tests/css/css-conditional/js/001-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/css/cssom/CSSKeyframesRule-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/css/cssom/rule-restrictions-expected.txt
    M Source/WebCore/css/CSSKeyframesRule.cpp
    M Source/WebCore/css/parser/CSSPropertyParser.cpp
    M Source/WebCore/css/parser/CSSPropertyParser.h

  Log Message:
  -----------
  Merge 254468 at main - 'animation-foo' declarations in @keyframes should be parse error
https://bugs.webkit.org/show_bug.cgi?id=243537
<rdar://98503617>

Reviewed by Antti Koivisto.

The family of animation-* properties, including the animation shorthand, are
invalid in a @keyframes rule. We import the relevant WPT test which used to
fail but now passes as of this change. Some other existing tests need rebasing
since we changed the serialization to not output the vendor prefix, and also
because they are passing thanks to this change.

* LayoutTests/http/tests/css/shared-stylesheet-mutation-preconstruct-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/css/css-animations/parsing/keyframes-allowed-properties-expected.txt: Added.
* LayoutTests/imported/w3c/web-platform-tests/css/css-animations/parsing/keyframes-allowed-properties.html: Added.
* LayoutTests/imported/w3c/web-platform-tests/css/css-conditional/js/001-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/css/cssom/CSSKeyframesRule-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/css/cssom/rule-restrictions-expected.txt:
* Source/WebCore/css/CSSKeyframesRule.cpp:
(WebCore::CSSKeyframesRule::cssText const):
* Source/WebCore/css/parser/CSSPropertyParser.cpp:
(WebCore::CSSPropertyParser::parseValue):
(WebCore::CSSPropertyParser::parseKeyframeDescriptor):
* Source/WebCore/css/parser/CSSPropertyParser.h:

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

(cherry picked from commit edad56b68bd20b2e91cc54b6ad04c6d33d97124e)


  Commit: 4b330e35360c5efb1ef40e3b555940e98e97b3dd
      https://github.com/WebKit/WebKit/commit/4b330e35360c5efb1ef40e3b555940e98e97b3dd
  Author: Simon Fraser <simon.fraser at apple.com>
  Date:   2022-09-15 (Thu, 15 Sep 2022)

  Changed paths:
    A LayoutTests/compositing/tiling/sticky-change-to-tiled-expected.html
    A LayoutTests/compositing/tiling/sticky-change-to-tiled.html
    A LayoutTests/compositing/tiling/sticky-with-backdrop-expected.html
    A LayoutTests/compositing/tiling/sticky-with-backdrop.html
    M Source/WebCore/rendering/RenderLayerCompositor.cpp

  Log Message:
  -----------
  Merge 254496 at main - REGRESSION (254304 at main): Sidebar on MDN articles is often misplaced
https://bugs.webkit.org/show_bug.cgi?id=245192
<rdar://99848107>

Reviewed by Alan Bujtas and Tim Nguyen.

For "viewport constrained" scrolling elements, we need to pass the viewportAnchorLayer()
to the scrolling tree. This happened in the main code path, but this path that
runs when toggling to/from tiled layers, or with backdrops, also needs updating.

* LayoutTests/compositing/tiling/sticky-change-to-tiled-expected.html: Added.
* LayoutTests/compositing/tiling/sticky-change-to-tiled.html: Added.
* LayoutTests/compositing/tiling/sticky-with-backdrop-expected.html: Added.
* LayoutTests/compositing/tiling/sticky-with-backdrop.html: Added.
* Source/WebCore/rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::didChangePlatformLayerForLayer):

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

(cherry picked from commit 28c7acb04ba03729dcec6381d959d1857f025b88)


  Commit: df26e221d314a4a4411ed1e660c35f6f3484ca65
      https://github.com/WebKit/WebKit/commit/df26e221d314a4a4411ed1e660c35f6f3484ca65
  Author: Chris Dumez <cdumez at apple.com>
  Date:   2022-09-15 (Thu, 15 Sep 2022)

  Changed paths:
    M LayoutTests/imported/w3c/web-platform-tests/html/browsers/browsing-the-web/navigating-across-documents/child-navigates-parent-cross-origin.window-expected.txt
    M Source/WebCore/page/Location.cpp

  Log Message:
  -----------
  Merge 254518 at main - Location.replace() is missing canNavigate() check
https://bugs.webkit.org/show_bug.cgi?id=245203

Reviewed by Darin Adler.

Location.replace() is missing canNavigate() check, unlike other Location functions.

* LayoutTests/imported/w3c/web-platform-tests/html/browsers/browsing-the-web/navigating-across-documents/child-navigates-parent-cross-origin.window-expected.txt:
* Source/WebCore/page/Location.cpp:
(WebCore::Location::replace):

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

(cherry picked from commit f1a9daf23ad9d05a9ff6cf7929389786ddcb5fb0)


Compare: https://github.com/WebKit/WebKit/compare/df7eb9519c26...df26e221d314


More information about the webkit-changes mailing list