https://bugs.webkit.org/show_bug.cgi?id=224763
Reviewed by Tim Horton.
Source/WebCore:
Test: model-element/model-element-graphics-layers-opacity.html
This certainly won't be the way things land once separated/optimized
layer semantics are better understood, but for now, it is useful to
explicitly propogate the opacity of the owing layer to the content
layer if the content layer is a model layer. In the future, we may want
to do this for any separated child (and conversely, only to the content
layer if it is separated), but this will allow us to play a bit futher
in our experimentation.
Also adds support for dumping the opacity of a content layer to make
this testable.
* platform/graphics/GraphicsLayerClient.h:
* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::setContentsToModel):
(WebCore::GraphicsLayerCA::purposeNameForInnerLayer const):
(WebCore::GraphicsLayerCA::dumpInnerLayer const):
* testing/Internals.cpp:
(WebCore::toPlatformLayerTreeFlags):
* testing/Internals.h:
* testing/Internals.idl:
LayoutTests:
Add new test which use the macOS/iOS only platformLayerTreeAsText
internals function to show that opacity is getting set on the content
layer.
* model-element/model-element-graphics-layers-opacity-expected.txt: Added.
* model-element/model-element-graphics-layers-opacity.html: Added.
* platform/gtk/TestExpectations:
* platform/wpe/TestExpectations:
* platform/win/TestExpectations:
* compositing/video/video-object-position-expected.txt:
* compositing/visible-rect/mask-layer-coverage-expected.txt:
* fullscreen/full-screen-layer-dump-expected.txt:
* platform/ios/compositing/video/video-object-position-expected.txt:
* platform/ios/compositing/visible-rect/mask-layer-coverage-expected.txt:
* platform/mac/compositing/images/direct-image-object-fit-expected.txt:
* platform/mac/compositing/reflections/direct-image-object-fit-reflected-expected.txt:
* platform/mac/compositing/video/video-object-fit-expected.txt:
Update results for update content layer type dumping.
Canonical link: https://commits.webkit.org/236807@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@276327 268f45cc-cd09-0410-ab3c-d52691b4dbfc