Title: [245388] branches/safari-608.1.24-branch
Revision
245388
Author
[email protected]
Date
2019-05-15 23:01:50 -0700 (Wed, 15 May 2019)

Log Message

Cherry-pick r245181. rdar://problem/50670806

    ASSERT(isSelfPaintingLayer() || hasSelfPaintingLayerDescendant()) on nytimes.com after r245170
    https://bugs.webkit.org/show_bug.cgi?id=197776

    Reviewed by Zalan Bujtas.

    Source/WebCore:

    Only try to paint into shared backing for layers that are able to be composited. This
    avoids trying to do sharing for non-self-painting layers, which doesn't make sense.

    Test: compositing/shared-backing/overflow-scroll/non-self-painting-layer-should-not-share.html

    * rendering/RenderLayerCompositor.cpp:
    (WebCore::RenderLayerCompositor::computeCompositingRequirements):

    LayoutTests:

    * compositing/shared-backing/overflow-scroll/non-self-painting-layer-should-not-share-expected.txt: Added.
    * compositing/shared-backing/overflow-scroll/non-self-painting-layer-should-not-share.html: Added.

    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@245181 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Modified Paths

Added Paths

Diff

Modified: branches/safari-608.1.24-branch/LayoutTests/ChangeLog (245387 => 245388)


--- branches/safari-608.1.24-branch/LayoutTests/ChangeLog	2019-05-16 06:01:45 UTC (rev 245387)
+++ branches/safari-608.1.24-branch/LayoutTests/ChangeLog	2019-05-16 06:01:50 UTC (rev 245388)
@@ -1,5 +1,42 @@
 2019-05-15  Kocsen Chung  <[email protected]>
 
+        Cherry-pick r245181. rdar://problem/50670806
+
+    ASSERT(isSelfPaintingLayer() || hasSelfPaintingLayerDescendant()) on nytimes.com after r245170
+    https://bugs.webkit.org/show_bug.cgi?id=197776
+    
+    Reviewed by Zalan Bujtas.
+    
+    Source/WebCore:
+    
+    Only try to paint into shared backing for layers that are able to be composited. This
+    avoids trying to do sharing for non-self-painting layers, which doesn't make sense.
+    
+    Test: compositing/shared-backing/overflow-scroll/non-self-painting-layer-should-not-share.html
+    
+    * rendering/RenderLayerCompositor.cpp:
+    (WebCore::RenderLayerCompositor::computeCompositingRequirements):
+    
+    LayoutTests:
+    
+    * compositing/shared-backing/overflow-scroll/non-self-painting-layer-should-not-share-expected.txt: Added.
+    * compositing/shared-backing/overflow-scroll/non-self-painting-layer-should-not-share.html: Added.
+    
+    
+    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@245181 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+    2019-05-10  Simon Fraser  <[email protected]>
+
+            ASSERT(isSelfPaintingLayer() || hasSelfPaintingLayerDescendant()) on nytimes.com after r245170
+            https://bugs.webkit.org/show_bug.cgi?id=197776
+
+            Reviewed by Zalan Bujtas.
+
+            * compositing/shared-backing/overflow-scroll/non-self-painting-layer-should-not-share-expected.txt: Added.
+            * compositing/shared-backing/overflow-scroll/non-self-painting-layer-should-not-share.html: Added.
+
+2019-05-15  Kocsen Chung  <[email protected]>
+
         Cherry-pick r245170. rdar://problem/50445998
 
     Implement backing-sharing in compositing layers, allowing overlap layers to paint into the backing store of another layer

Added: branches/safari-608.1.24-branch/LayoutTests/compositing/shared-backing/overflow-scroll/non-self-painting-layer-should-not-share-expected.txt (0 => 245388)


--- branches/safari-608.1.24-branch/LayoutTests/compositing/shared-backing/overflow-scroll/non-self-painting-layer-should-not-share-expected.txt	                        (rev 0)
+++ branches/safari-608.1.24-branch/LayoutTests/compositing/shared-backing/overflow-scroll/non-self-painting-layer-should-not-share-expected.txt	2019-05-16 06:01:50 UTC (rev 245388)
@@ -0,0 +1,5 @@
+Test passes if it does not assert in debug.
+
+this is clipped
+this is clipped
+

Added: branches/safari-608.1.24-branch/LayoutTests/compositing/shared-backing/overflow-scroll/non-self-painting-layer-should-not-share.html (0 => 245388)


--- branches/safari-608.1.24-branch/LayoutTests/compositing/shared-backing/overflow-scroll/non-self-painting-layer-should-not-share.html	                        (rev 0)
+++ branches/safari-608.1.24-branch/LayoutTests/compositing/shared-backing/overflow-scroll/non-self-painting-layer-should-not-share.html	2019-05-16 06:01:50 UTC (rev 245388)
@@ -0,0 +1,48 @@
+<!DOCTYPE html> <!-- webkit-test-runner [ internal:AsyncOverflowScrollingEnabled=true ] -->
+<html>
+<head>
+    <title>Tests that a non-self-painting layer doesn't get into the sharing list</title>
+    <style>
+        .scroller {
+            margin: 20px;
+            width: 300px;
+            height: 300px;
+            overflow: auto;
+            border: 2px solid black;
+            padding: 10px;
+        }
+
+        .clipping {
+            overflow: hidden;
+            top: 50px;
+            left: 200px;
+            height: 200px;
+            width: 200px;
+            border: 2px solid orange;
+        }
+        
+        .relative {
+            position: relative;
+        }
+
+        .spacer {
+            height: 150px;
+        }
+    </style>
+    <script>
+        if (window.testRunner)
+            testRunner.dumpAsText();
+    </script>
+</head>
+<body>
+    <p>Test passes if it does not assert in debug.</p>
+    <div class="scroller">
+        <div class="clipping">this is clipped</div>
+        <div class="relative">
+            <div class="clipping">this is clipped</div>
+        </div>
+        <div class="spacer"></div>
+    </div>
+</body>
+</html>
+

Modified: branches/safari-608.1.24-branch/Source/WebCore/ChangeLog (245387 => 245388)


--- branches/safari-608.1.24-branch/Source/WebCore/ChangeLog	2019-05-16 06:01:45 UTC (rev 245387)
+++ branches/safari-608.1.24-branch/Source/WebCore/ChangeLog	2019-05-16 06:01:50 UTC (rev 245388)
@@ -1,5 +1,47 @@
 2019-05-15  Kocsen Chung  <[email protected]>
 
+        Cherry-pick r245181. rdar://problem/50670806
+
+    ASSERT(isSelfPaintingLayer() || hasSelfPaintingLayerDescendant()) on nytimes.com after r245170
+    https://bugs.webkit.org/show_bug.cgi?id=197776
+    
+    Reviewed by Zalan Bujtas.
+    
+    Source/WebCore:
+    
+    Only try to paint into shared backing for layers that are able to be composited. This
+    avoids trying to do sharing for non-self-painting layers, which doesn't make sense.
+    
+    Test: compositing/shared-backing/overflow-scroll/non-self-painting-layer-should-not-share.html
+    
+    * rendering/RenderLayerCompositor.cpp:
+    (WebCore::RenderLayerCompositor::computeCompositingRequirements):
+    
+    LayoutTests:
+    
+    * compositing/shared-backing/overflow-scroll/non-self-painting-layer-should-not-share-expected.txt: Added.
+    * compositing/shared-backing/overflow-scroll/non-self-painting-layer-should-not-share.html: Added.
+    
+    
+    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@245181 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+    2019-05-10  Simon Fraser  <[email protected]>
+
+            ASSERT(isSelfPaintingLayer() || hasSelfPaintingLayerDescendant()) on nytimes.com after r245170
+            https://bugs.webkit.org/show_bug.cgi?id=197776
+
+            Reviewed by Zalan Bujtas.
+
+            Only try to paint into shared backing for layers that are able to be composited. This
+            avoids trying to do sharing for non-self-painting layers, which doesn't make sense.
+
+            Test: compositing/shared-backing/overflow-scroll/non-self-painting-layer-should-not-share.html
+
+            * rendering/RenderLayerCompositor.cpp:
+            (WebCore::RenderLayerCompositor::computeCompositingRequirements):
+
+2019-05-15  Kocsen Chung  <[email protected]>
+
         Cherry-pick r245170. rdar://problem/50445998
 
     Implement backing-sharing in compositing layers, allowing overlap layers to paint into the backing store of another layer

Modified: branches/safari-608.1.24-branch/Source/WebCore/rendering/RenderLayerCompositor.cpp (245387 => 245388)


--- branches/safari-608.1.24-branch/Source/WebCore/rendering/RenderLayerCompositor.cpp	2019-05-16 06:01:45 UTC (rev 245387)
+++ branches/safari-608.1.24-branch/Source/WebCore/rendering/RenderLayerCompositor.cpp	2019-05-16 06:01:50 UTC (rev 245388)
@@ -915,7 +915,7 @@
 
         // If we're testing for overlap, we only need to composite if we overlap something that is already composited.
         if (overlapMap.overlapsLayers(layerExtent.bounds)) {
-            if (backingSharingState.backingProviderCandidate && backingProviderLayerCanIncludeLayer(*backingSharingState.backingProviderCandidate, layer)) {
+            if (backingSharingState.backingProviderCandidate && canBeComposited(layer) && backingProviderLayerCanIncludeLayer(*backingSharingState.backingProviderCandidate, layer)) {
                 backingSharingState.backingSharingLayers.append(makeWeakPtr(layer));
                 LOG(Compositing, " layer %p can share with %p", &layer, backingSharingState.backingProviderCandidate);
                 compositingReason = RenderLayer::IndirectCompositingReason::None;
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to