[webkit-changes] [WebKit/WebKit] 159906: [view-transitions] Mispositioned snapshots on http...
mattwoodrow
noreply at github.com
Thu May 23 02:08:27 PDT 2024
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 159906e6201b73d5b59b2ac3aed6788b66c7a7e7
https://github.com/WebKit/WebKit/commit/159906e6201b73d5b59b2ac3aed6788b66c7a7e7
Author: Matt Woodrow <mattwoodrow at apple.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
A LayoutTests/imported/w3c/web-platform-tests/css/css-view-transitions/new-content-flat-transform-ancestor-expected.html
A LayoutTests/imported/w3c/web-platform-tests/css/css-view-transitions/new-content-flat-transform-ancestor-ref.html
A LayoutTests/imported/w3c/web-platform-tests/css/css-view-transitions/new-content-flat-transform-ancestor.html
A LayoutTests/imported/w3c/web-platform-tests/css/css-view-transitions/new-content-preserve-3d-ancestor-expected.html
A LayoutTests/imported/w3c/web-platform-tests/css/css-view-transitions/new-content-preserve-3d-ancestor-ref.html
A LayoutTests/imported/w3c/web-platform-tests/css/css-view-transitions/new-content-preserve-3d-ancestor.html
A LayoutTests/imported/w3c/web-platform-tests/css/css-view-transitions/new-content-transform-position-fixed-expected.html
A LayoutTests/imported/w3c/web-platform-tests/css/css-view-transitions/new-content-transform-position-fixed-ref.html
A LayoutTests/imported/w3c/web-platform-tests/css/css-view-transitions/new-content-transform-position-fixed.html
M LayoutTests/imported/w3c/web-platform-tests/css/css-view-transitions/root-scrollbar-with-fixed-background-expected.html
M LayoutTests/imported/w3c/web-platform-tests/css/css-view-transitions/root-scrollbar-with-fixed-background-ref.html
M LayoutTests/imported/w3c/web-platform-tests/css/css-view-transitions/root-scrollbar-with-fixed-background.html
M Source/WebCore/dom/ViewTransition.cpp
M Source/WebCore/platform/graphics/transforms/TransformState.cpp
M Source/WebCore/platform/graphics/transforms/TransformState.h
M Source/WebCore/platform/graphics/transforms/TransformationMatrix.cpp
M Source/WebCore/platform/graphics/transforms/TransformationMatrix.h
M Source/WebCore/rendering/RenderObject.cpp
M Source/WebCore/rendering/RenderObject.h
Log Message:
-----------
[view-transitions] Mispositioned snapshots on https://codepen.io/bramus/full/mdowgYX
https://bugs.webkit.org/show_bug.cgi?id=272185
rdar://125931829
Reviewed by Simon Fraser.
We were previously unconditionally substracting the scroll position from the transform when positioning the snapshots.
This is incorrect in some cases, like when the element is fixed positioned.
This makes use of the existing TransformState/mapLocalToContainer code to correctly account for position:fixed when accumulating
transforms through ancestors.
It also adds support for flattening the 'tracked' transform when crossing 3d rendering context boundaries, by setting the 3rd row
and column of the TransformationMatrix to 0.
* LayoutTests/imported/w3c/web-platform-tests/css/css-view-transitions/new-content-flat-transform-ancestor-expected.html: Added.
* LayoutTests/imported/w3c/web-platform-tests/css/css-view-transitions/new-content-flat-transform-ancestor-ref.html: Added.
* LayoutTests/imported/w3c/web-platform-tests/css/css-view-transitions/new-content-flat-transform-ancestor.html: Added.
* LayoutTests/imported/w3c/web-platform-tests/css/css-view-transitions/new-content-preserve-3d-ancestor-expected.html: Added.
* LayoutTests/imported/w3c/web-platform-tests/css/css-view-transitions/new-content-preserve-3d-ancestor-ref.html: Added.
* LayoutTests/imported/w3c/web-platform-tests/css/css-view-transitions/new-content-preserve-3d-ancestor.html: Added.
* LayoutTests/imported/w3c/web-platform-tests/css/css-view-transitions/new-content-transform-position-fixed-expected.html: Added.
* LayoutTests/imported/w3c/web-platform-tests/css/css-view-transitions/new-content-transform-position-fixed-ref.html: Added.
* LayoutTests/imported/w3c/web-platform-tests/css/css-view-transitions/new-content-transform-position-fixed.html: Added.
* LayoutTests/imported/w3c/web-platform-tests/css/css-view-transitions/root-scrollbar-with-fixed-background-expected.html:
* LayoutTests/imported/w3c/web-platform-tests/css/css-view-transitions/root-scrollbar-with-fixed-background-ref.html:
* LayoutTests/imported/w3c/web-platform-tests/css/css-view-transitions/root-scrollbar-with-fixed-background.html:
* Source/WebCore/dom/ViewTransition.cpp:
(WebCore::ViewTransition::copyElementBaseProperties):
* Source/WebCore/platform/graphics/transforms/TransformState.cpp:
(WebCore::TransformState::translateMappedCoordinates):
(WebCore::TransformState::flattenWithTransform):
* Source/WebCore/platform/graphics/transforms/TransformState.h:
* Source/WebCore/platform/graphics/transforms/TransformationMatrix.cpp:
(WebCore::TransformationMatrix::flatten):
* Source/WebCore/platform/graphics/transforms/TransformationMatrix.h:
* Source/WebCore/rendering/RenderObject.cpp:
(WebCore::RenderObject::localToAbsoluteTransform const):
* Source/WebCore/rendering/RenderObject.h:
Canonical link: https://commits.webkit.org/279186@main
To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications
More information about the webkit-changes
mailing list