WebKit Bugzilla
Attachment 369728 Details for
Bug 197818
: REGRESSION (r245208): compositing/shared-backing/sharing-bounds-non-clipping-shared-layer.html asserts
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
patch
event-region-shared-backing-with-transform.patch (text/plain), 9.98 KB, created by
Antti Koivisto
on 2019-05-13 06:59:55 PDT
(
hide
)
Description:
patch
Filename:
MIME Type:
Creator:
Antti Koivisto
Created:
2019-05-13 06:59:55 PDT
Size:
9.98 KB
patch
obsolete
>Index: Source/WebCore/ChangeLog >=================================================================== >--- Source/WebCore/ChangeLog (revision 245232) >+++ Source/WebCore/ChangeLog (working copy) >@@ -1,3 +1,20 @@ >+2019-05-13 Antti Koivisto <antti@apple.com> >+ >+ REGRESSION (r245208): compositing/shared-backing/sharing-bounds-non-clipping-shared-layer.html asserts >+ https://bugs.webkit.org/show_bug.cgi?id=197818 >+ <rdar://problem/50705762> >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ Tests: fast/scrolling/ios/event-region-scale-transform-shared.html >+ fast/scrolling/ios/event-region-translate-transform-shared.html >+ >+ This fixes the assert. However the added tests demonstrate that transform is not taken into account >+ when computing the event region, https://bugs.webkit.org/show_bug.cgi?id=197836. >+ >+ * rendering/RenderLayerBacking.cpp: >+ (WebCore::RenderLayerBacking::updateEventRegion): >+ > 2019-05-12 Simon Fraser <simon.fraser@apple.com> > > When the set of backing-sharing layers changes, we need to issue a repaint >Index: Source/WebCore/rendering/RenderLayerBacking.cpp >=================================================================== >--- Source/WebCore/rendering/RenderLayerBacking.cpp (revision 245232) >+++ Source/WebCore/rendering/RenderLayerBacking.cpp (working copy) >@@ -1489,8 +1489,8 @@ void RenderLayerBacking::updateEventRegi > auto paintFlags = RenderLayer::paintLayerPaintingCompositingAllPhasesFlags() | RenderLayer::PaintLayerCollectingEventRegion; > m_owningLayer.paintLayerContents(nullContext, paintingInfo, paintFlags); > >- for (auto& layerWeakPtr : m_backingSharingLayers) >- layerWeakPtr->paintLayerContents(nullContext, paintingInfo, paintFlags); >+ for (auto& layer : m_backingSharingLayers) >+ layer->paintLayerWithEffects(nullContext, paintingInfo, paintFlags); > > auto contentOffset = roundedIntSize(contentOffsetInCompositingLayer()); > eventRegion.translate(contentOffset); >Index: LayoutTests/ChangeLog >=================================================================== >--- LayoutTests/ChangeLog (revision 245232) >+++ LayoutTests/ChangeLog (working copy) >@@ -1,3 +1,17 @@ >+2019-05-13 Antti Koivisto <antti@apple.com> >+ >+ REGRESSION (r245208): compositing/shared-backing/sharing-bounds-non-clipping-shared-layer.html asserts >+ https://bugs.webkit.org/show_bug.cgi?id=197818 >+ <rdar://problem/50705762> >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ * fast/scrolling/ios/event-region-scale-transform-shared-expected.txt: Added. >+ * fast/scrolling/ios/event-region-scale-transform-shared.html: Added. >+ * fast/scrolling/ios/event-region-translate-transform-shared-expected.txt: Added. >+ * fast/scrolling/ios/event-region-translate-transform-shared.html: Added. >+ * platform/ios-wk2/TestExpectations: >+ > 2019-05-12 Simon Fraser <simon.fraser@apple.com> > > REGRESSION (r245208): compositing/shared-backing/sharing-bounds-non-clipping-shared-layer.html asserts >Index: LayoutTests/fast/scrolling/ios/event-region-scale-transform-shared-expected.txt >=================================================================== >--- LayoutTests/fast/scrolling/ios/event-region-scale-transform-shared-expected.txt (nonexistent) >+++ LayoutTests/fast/scrolling/ios/event-region-scale-transform-shared-expected.txt (working copy) >@@ -0,0 +1,34 @@ >+(GraphicsLayer >+ (anchor 0.00 0.00) >+ (bounds 800.00 600.00) >+ (deep color 1) >+ (children 1 >+ (GraphicsLayer >+ (bounds 800.00 600.00) >+ (contentsOpaque 1) >+ (deep color 1) >+ (children 2 >+ (GraphicsLayer >+ (position 8.00 8.00) >+ (bounds 500.00 500.00) >+ (contentsOpaque 1) >+ (event region >+ (rect (0,0) width=500 height=500) >+ ) >+ (deep color 1) >+ ) >+ (GraphicsLayer >+ (position 30.00 30.00) >+ (bounds 201.00 201.00) >+ (drawsContent 1) >+ (event region >+ (rect (0,0) width=200 height=200) >+ (rect (200,200) width=100 height=100) >+ ) >+ (deep color 1) >+ ) >+ ) >+ ) >+ ) >+) >+ >Index: LayoutTests/fast/scrolling/ios/event-region-scale-transform-shared.html >=================================================================== >--- LayoutTests/fast/scrolling/ios/event-region-scale-transform-shared.html (nonexistent) >+++ LayoutTests/fast/scrolling/ios/event-region-scale-transform-shared.html (working copy) >@@ -0,0 +1,62 @@ >+<!DOCTYPE html> >+<html> >+<head> >+ <style> >+ .relative { >+ position: absolute; >+ top: 20px; >+ left: 20px; >+ height: 10px; >+ width: 10px; >+ margin: 10px; >+ border: 1px solid black; >+ } >+ >+ .sharing { >+ position: relative; >+ top: 50px; >+ left: 50px; >+ width: 200px; >+ height: 200px; >+ background-color: green; >+ transform: scale(0.5); >+ transform-origin: top left; >+ } >+ >+ .inner { >+ position: absolute; >+ left: 200px; >+ top: 200px; >+ width: 100px; >+ height: 100px; >+ background-color: blue; >+ } >+ >+ .trigger { >+ transform: translateZ(0); >+ width: 500px; >+ height: 500px; >+ background-color: silver; >+ } >+ </style> >+ <script> >+ if (window.testRunner) >+ testRunner.dumpAsText(); >+ >+ window.addEventListener('load', () => { >+ if (window.internals) >+ document.getElementById('layers').textContent = internals.layerTreeAsText(document, internals.LAYER_TREE_INCLUDES_EVENT_REGION); >+ }, false); >+ </script> >+</head> >+<body> >+ <div class="trigger"></div> >+ <div class="relative"> >+ <div class="sharing"> >+ <div class="inner"> >+ </div> >+ </div> >+ </div> >+<pre id="layers"></pre> >+</body> >+</html> >Index: LayoutTests/fast/scrolling/ios/event-region-translate-transform-shared-expected.txt >=================================================================== >--- LayoutTests/fast/scrolling/ios/event-region-translate-transform-shared-expected.txt (nonexistent) >+++ LayoutTests/fast/scrolling/ios/event-region-translate-transform-shared-expected.txt (working copy) >@@ -0,0 +1,34 @@ >+(GraphicsLayer >+ (anchor 0.00 0.00) >+ (bounds 800.00 600.00) >+ (deep color 1) >+ (children 1 >+ (GraphicsLayer >+ (bounds 800.00 600.00) >+ (contentsOpaque 1) >+ (deep color 1) >+ (children 2 >+ (GraphicsLayer >+ (position 8.00 8.00) >+ (bounds 500.00 500.00) >+ (contentsOpaque 1) >+ (event region >+ (rect (0,0) width=500 height=500) >+ ) >+ (deep color 1) >+ ) >+ (GraphicsLayer >+ (position 30.00 30.00) >+ (bounds 451.00 451.00) >+ (drawsContent 1) >+ (event region >+ (rect (0,0) width=200 height=200) >+ (rect (200,200) width=100 height=100) >+ ) >+ (deep color 1) >+ ) >+ ) >+ ) >+ ) >+) >+ >Index: LayoutTests/fast/scrolling/ios/event-region-translate-transform-shared.html >=================================================================== >--- LayoutTests/fast/scrolling/ios/event-region-translate-transform-shared.html (nonexistent) >+++ LayoutTests/fast/scrolling/ios/event-region-translate-transform-shared.html (working copy) >@@ -0,0 +1,62 @@ >+<!DOCTYPE html> >+<html> >+<head> >+ <style> >+ .relative { >+ position: absolute; >+ top: 20px; >+ left: 20px; >+ height: 10px; >+ width: 10px; >+ margin: 10px; >+ border: 1px solid black; >+ } >+ >+ .sharing { >+ position: relative; >+ top: 50px; >+ left: 50px; >+ width: 200px; >+ height: 200px; >+ background-color: green; >+ transform: translate(100px, 100px); >+ transform-origin: top left; >+ } >+ >+ .inner { >+ position: absolute; >+ left: 200px; >+ top: 200px; >+ width: 100px; >+ height: 100px; >+ background-color: blue; >+ } >+ >+ .trigger { >+ transform: translateZ(0); >+ width: 500px; >+ height: 500px; >+ background-color: silver; >+ } >+ </style> >+ <script> >+ if (window.testRunner) >+ testRunner.dumpAsText(); >+ >+ window.addEventListener('load', () => { >+ if (window.internals) >+ document.getElementById('layers').textContent = internals.layerTreeAsText(document, internals.LAYER_TREE_INCLUDES_EVENT_REGION); >+ }, false); >+ </script> >+</head> >+<body> >+ <div class="trigger"></div> >+ <div class="relative"> >+ <div class="sharing"> >+ <div class="inner"> >+ </div> >+ </div> >+ </div> >+<pre id="layers"></pre> >+</body> >+</html> >Index: LayoutTests/platform/ios-wk2/TestExpectations >=================================================================== >--- LayoutTests/platform/ios-wk2/TestExpectations (revision 245232) >+++ LayoutTests/platform/ios-wk2/TestExpectations (working copy) >@@ -1315,8 +1315,6 @@ webkit.org/b/196013 fast/scrolling/rtl-s > webkit.org/b/196013 fast/scrolling/rtl-scrollbars-sticky-overflow-scroll.html [ ImageOnlyFailure ] > webkit.org/b/196013 fast/scrolling/rubber-band-shows-background.html [ ImageOnlyFailure ] > >-webkit.org/b/197818 compositing/shared-backing/sharing-bounds-non-clipping-shared-layer.html [ Skip ] >- > webkit.org/b/196269 http/tests/resourceLoadStatistics/capped-lifetime-for-cookie-set-in-js-with-link-fragment-from-prevalent-resource.html [ Pass Timeout ] > webkit.org/b/196269 http/tests/resourceLoadStatistics/capped-lifetime-for-cookie-set-in-js-with-link-query-and-fragment-from-prevalent-resource.html [ Pass Timeout ] > webkit.org/b/196269 http/tests/resourceLoadStatistics/capped-lifetime-for-cookie-set-in-js-with-link-query-from-prevalent-resource.html [ Pass Timeout ]
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Flags:
simon.fraser
:
review+
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 197818
:
369692
|
369728
|
369735