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