Layer bounds are incorrect for sharing layers that paint with transforms
[WebKit-https.git] / Source / WebCore / ChangeLog
index b5e803e..c7c8dca 100644 (file)
@@ -1,5 +1,27 @@
 2019-05-11  Simon Fraser  <simon.fraser@apple.com>
 
+        Layer bounds are incorrect for sharing layers that paint with transforms
+        https://bugs.webkit.org/show_bug.cgi?id=197768
+        <rdar://problem/50695493>
+
+        Reviewed by Zalan Bujtas.
+
+        We don't need to traverse shared layers if the backing-provider has overflow clip,
+        because we know they are containing-block descendants and therefore clipped.
+
+        Note tha the CSS "clip" property doesn't guarantee this, because the clip rect
+        can be larger than the element, so in that case we just traverse shared layers.
+
+        Tests: compositing/shared-backing/sharing-bounds-clip.html
+               compositing/shared-backing/sharing-bounds-non-clipping-shared-layer.html
+               compositing/shared-backing/sharing-bounds-transformed-sharing-layer.html
+               compositing/shared-backing/sharing-bounds.html
+
+        * rendering/RenderLayerBacking.cpp:
+        (WebCore::RenderLayerBacking::updateCompositedBounds):
+
+2019-05-11  Simon Fraser  <simon.fraser@apple.com>
+
         Translucent gradient rendering bug due to will-change transform
         https://bugs.webkit.org/show_bug.cgi?id=197654
         <rdar://problem/50547664>