Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 7ffc7f9fd02ae05936e368c7a7c2d6774ff1f6a9
https://github.com/WebKit/WebKit/commit/7ffc7f9fd02ae05936e368c7a7c2d6774ff1f6a9
Author: Matt Woodrow <[email protected]>
Date: 2024-03-27 (Wed, 27 Mar 2024)
Changed paths:
A
LayoutTests/compositing/filters/backdrop-filter-root-element-no-backdrop-root-expected.txt
A
LayoutTests/compositing/filters/backdrop-filter-root-element-no-backdrop-root.html
M
LayoutTests/css3/filters/backdrop/backdrop-filter-does-not-size-properly-absolute-expected.txt
M
LayoutTests/css3/filters/backdrop/backdrop-filter-does-not-size-properly-border-and-padding-expected.txt
M
LayoutTests/css3/filters/backdrop/backdrop-filter-with-cliprect-expected.txt
M LayoutTests/css3/filters/backdrop/backdrop-filter-with-mask-expected.txt
M
LayoutTests/css3/filters/backdrop/backdrop-with-visibility-hidden-changing-expected.txt
M
LayoutTests/css3/filters/backdrop/backdrop-with-visibility-hidden-expected.txt
M
LayoutTests/css3/filters/backdrop/resource-use-add-more-layers-expected.txt
M LayoutTests/css3/filters/backdrop/resource-use-excessive-expected.txt
M LayoutTests/css3/filters/backdrop/resource-use-ok-expected.txt
M
LayoutTests/css3/filters/backdrop/resource-use-remove-some-layers-expected.txt
A
LayoutTests/platform/glib/compositing/filters/backdrop-filter-root-element-no-backdrop-root-expected.txt
M
LayoutTests/platform/glib/css3/filters/backdrop/backdrop-filter-does-not-size-properly-absolute-expected.txt
M
LayoutTests/platform/glib/css3/filters/backdrop/backdrop-filter-does-not-size-properly-border-and-padding-expected.txt
M
LayoutTests/platform/glib/css3/filters/backdrop/backdrop-filter-with-cliprect-expected.txt
M
LayoutTests/platform/glib/css3/filters/backdrop/backdrop-filter-with-mask-expected.txt
M
LayoutTests/platform/glib/css3/filters/backdrop/backdrop-with-visibility-hidden-changing-expected.txt
M
LayoutTests/platform/glib/css3/filters/backdrop/backdrop-with-visibility-hidden-expected.txt
M
LayoutTests/platform/glib/css3/filters/backdrop/resource-use-add-more-layers-expected.txt
M
LayoutTests/platform/glib/css3/filters/backdrop/resource-use-excessive-expected.txt
M
LayoutTests/platform/glib/css3/filters/backdrop/resource-use-ok-expected.txt
M
LayoutTests/platform/glib/css3/filters/backdrop/resource-use-remove-some-layers-expected.txt
M
LayoutTests/platform/ios/css3/filters/backdrop/backdrop-filter-does-not-size-properly-absolute-expected.txt
M
LayoutTests/platform/ios/css3/filters/backdrop/backdrop-filter-with-cliprect-expected.txt
M
LayoutTests/platform/ios/css3/filters/backdrop/backdrop-filter-with-mask-expected.txt
M LayoutTests/platform/mac-wk1/TestExpectations
A
LayoutTests/platform/mac-wk1/compositing/layer-creation/will-change-on-normal-flow-content-expected.txt
M
LayoutTests/platform/mac-wk1/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt
M
LayoutTests/platform/mac-wk1/imported/w3c/web-platform-tests/css/css-cascade/all-prop-revert-layer-expected.txt
A
LayoutTests/platform/mac-wk1/layer-creation/will-change-on-normal-flow-content-expected.txt
M Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml
M Source/WebCore/rendering/RenderLayer.cpp
M Source/WebCore/rendering/RenderLayerBacking.cpp
M Source/WebCore/rendering/RenderView.cpp
M Tools/DumpRenderTree/TestOptions.cpp
Log Message:
-----------
Backdrop-filter forces compositing on the root element and uses extra memory.
https://bugs.webkit.org/show_bug.cgi?id=271340
<rdar://123831236>
Reviewed by Simon Fraser.
The backdrop-filter spec requires that the root element be a backdrop root, and
creates a separate
compositing layer, separate from the base background color of the view.
However, most tests are
expecting the base white color to be included in the captured backdrop.
I've filed https://github.com/w3c/fxtf-drafts/issues/557 to try resolve the
spec/implementation mismatch.
This change makes the root element only a backdrop root if it also has one of
the other grouping
graphics properties. Notably not included is the 'view-transition-name'
property, since this is
present on the root as a default UA style.
It also changes RenderView::rootElementShouldPaintBaseBackground so that we
don't paint the base
background color as part of the root element's background, if we did end up
making the root element
a backdrop root.
It also ensures the default value of CSSUnprefixedBackdropFilterEnabled is
always false for
WebKitLegacy, rather than correctly support root background rendering with
backdrop filter.
*
LayoutTests/compositing/filters/backdrop-filter-root-element-no-backdrop-root-expected.txt:
Added.
*
LayoutTests/compositing/filters/backdrop-filter-root-element-no-backdrop-root.html:
Added.
*
LayoutTests/css3/filters/backdrop/backdrop-filter-does-not-size-properly-absolute-expected.txt:
*
LayoutTests/css3/filters/backdrop/backdrop-filter-does-not-size-properly-border-and-padding-expected.txt:
* LayoutTests/css3/filters/backdrop/backdrop-filter-with-cliprect-expected.txt:
* LayoutTests/css3/filters/backdrop/backdrop-filter-with-mask-expected.txt:
*
LayoutTests/css3/filters/backdrop/backdrop-with-visibility-hidden-changing-expected.txt:
*
LayoutTests/css3/filters/backdrop/backdrop-with-visibility-hidden-expected.txt:
* LayoutTests/css3/filters/backdrop/resource-use-add-more-layers-expected.txt:
* LayoutTests/css3/filters/backdrop/resource-use-excessive-expected.txt:
* LayoutTests/css3/filters/backdrop/resource-use-ok-expected.txt:
*
LayoutTests/css3/filters/backdrop/resource-use-remove-some-layers-expected.txt:
*
LayoutTests/platform/glib/compositing/filters/backdrop-filter-root-element-no-backdrop-root-expected.txt:
Added.
*
LayoutTests/platform/glib/css3/filters/backdrop/backdrop-filter-does-not-size-properly-absolute-expected.txt:
*
LayoutTests/platform/glib/css3/filters/backdrop/backdrop-filter-does-not-size-properly-border-and-padding-expected.txt:
*
LayoutTests/platform/glib/css3/filters/backdrop/backdrop-filter-with-cliprect-expected.txt:
*
LayoutTests/platform/glib/css3/filters/backdrop/backdrop-filter-with-mask-expected.txt:
*
LayoutTests/platform/glib/css3/filters/backdrop/backdrop-with-visibility-hidden-changing-expected.txt:
*
LayoutTests/platform/glib/css3/filters/backdrop/backdrop-with-visibility-hidden-expected.txt:
*
LayoutTests/platform/glib/css3/filters/backdrop/resource-use-add-more-layers-expected.txt:
*
LayoutTests/platform/glib/css3/filters/backdrop/resource-use-excessive-expected.txt:
* LayoutTests/platform/glib/css3/filters/backdrop/resource-use-ok-expected.txt:
*
LayoutTests/platform/glib/css3/filters/backdrop/resource-use-remove-some-layers-expected.txt:
*
LayoutTests/platform/ios/css3/filters/backdrop/backdrop-filter-does-not-size-properly-absolute-expected.txt:
*
LayoutTests/platform/ios/css3/filters/backdrop/backdrop-filter-with-cliprect-expected.txt:
*
LayoutTests/platform/ios/css3/filters/backdrop/backdrop-filter-with-mask-expected.txt:
* LayoutTests/platform/mac-wk1/TestExpectations:
* Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml:
* Source/WebCore/rendering/RenderLayer.cpp:
(WebCore::RenderLayer::computeCanBeBackdropRoot const):
* Source/WebCore/rendering/RenderView.cpp:
(WebCore::RenderView::rootElementShouldPaintBaseBackground const):
Canonical link: https://commits.webkit.org/276749@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes