Title: [245572] branches/safari-608.1.24.20-branch
- Revision
- 245572
- Author
- [email protected]
- Date
- 2019-05-21 10:30:04 -0700 (Tue, 21 May 2019)
Log Message
Cherry-pick r245212. rdar://problem/50865946
Overflow scroll that becomes non-scrollable should stop being composited
https://bugs.webkit.org/show_bug.cgi?id=197817
<rdar://problem/50697290>
Reviewed by Antti Koivisto.
Source/WebCore:
Remove the iOS-specific #ifdef around code that triggers a compositing re-evaluation
when scrolling state changes.
Test: compositing/scrolling/async-overflow-scrolling/become-non-scrollable.html
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateScrollInfoAfterLayout):
LayoutTests:
Put in a compositing/scrolling/async-overflow-scrolling dir so we can enable it only
for platforms that have async overflow scrolling.
* TestExpectations:
* compositing/scrolling/async-overflow-scrolling/become-non-scrollable-expected.txt: Added.
* compositing/scrolling/async-overflow-scrolling/become-non-scrollable.html: Added.
* platform/ios-wk2/TestExpectations:
* platform/mac-wk2/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@245212 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Modified Paths
Added Paths
Diff
Modified: branches/safari-608.1.24.20-branch/LayoutTests/ChangeLog (245571 => 245572)
--- branches/safari-608.1.24.20-branch/LayoutTests/ChangeLog 2019-05-21 17:30:00 UTC (rev 245571)
+++ branches/safari-608.1.24.20-branch/LayoutTests/ChangeLog 2019-05-21 17:30:04 UTC (rev 245572)
@@ -1,5 +1,56 @@
2019-05-21 Kocsen Chung <[email protected]>
+ Cherry-pick r245212. rdar://problem/50865946
+
+ Overflow scroll that becomes non-scrollable should stop being composited
+ https://bugs.webkit.org/show_bug.cgi?id=197817
+ <rdar://problem/50697290>
+
+ Reviewed by Antti Koivisto.
+
+ Source/WebCore:
+
+ Remove the iOS-specific #ifdef around code that triggers a compositing re-evaluation
+ when scrolling state changes.
+
+ Test: compositing/scrolling/async-overflow-scrolling/become-non-scrollable.html
+
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::updateScrollInfoAfterLayout):
+
+ LayoutTests:
+
+ Put in a compositing/scrolling/async-overflow-scrolling dir so we can enable it only
+ for platforms that have async overflow scrolling.
+
+ * TestExpectations:
+ * compositing/scrolling/async-overflow-scrolling/become-non-scrollable-expected.txt: Added.
+ * compositing/scrolling/async-overflow-scrolling/become-non-scrollable.html: Added.
+ * platform/ios-wk2/TestExpectations:
+ * platform/mac-wk2/TestExpectations:
+
+
+ git-svn-id: https://svn.webkit.org/repository/webkit/trunk@245212 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+ 2019-05-11 Simon Fraser <[email protected]>
+
+ Overflow scroll that becomes non-scrollable should stop being composited
+ https://bugs.webkit.org/show_bug.cgi?id=197817
+ <rdar://problem/50697290>
+
+ Reviewed by Antti Koivisto.
+
+ Put in a compositing/scrolling/async-overflow-scrolling dir so we can enable it only
+ for platforms that have async overflow scrolling.
+
+ * TestExpectations:
+ * compositing/scrolling/async-overflow-scrolling/become-non-scrollable-expected.txt: Added.
+ * compositing/scrolling/async-overflow-scrolling/become-non-scrollable.html: Added.
+ * platform/ios-wk2/TestExpectations:
+ * platform/mac-wk2/TestExpectations:
+
+2019-05-21 Kocsen Chung <[email protected]>
+
Cherry-pick r245208. rdar://problem/50865946
Layer bounds are incorrect for sharing layers that paint with transforms
Modified: branches/safari-608.1.24.20-branch/LayoutTests/TestExpectations (245571 => 245572)
--- branches/safari-608.1.24.20-branch/LayoutTests/TestExpectations 2019-05-21 17:30:00 UTC (rev 245571)
+++ branches/safari-608.1.24.20-branch/LayoutTests/TestExpectations 2019-05-21 17:30:04 UTC (rev 245572)
@@ -61,6 +61,7 @@
# Requires async overflow scrolling
compositing/shared-backing/overflow-scroll [ Skip ]
+compositing/scrolling/async-overflow-scrolling [ Skip ]
# WebKit2 only.
printing/printing-events.html [ Skip ]
Added: branches/safari-608.1.24.20-branch/LayoutTests/compositing/scrolling/async-overflow-scrolling/become-non-scrollable-expected.txt (0 => 245572)
--- branches/safari-608.1.24.20-branch/LayoutTests/compositing/scrolling/async-overflow-scrolling/become-non-scrollable-expected.txt (rev 0)
+++ branches/safari-608.1.24.20-branch/LayoutTests/compositing/scrolling/async-overflow-scrolling/become-non-scrollable-expected.txt 2019-05-21 17:30:04 UTC (rev 245572)
@@ -0,0 +1,3 @@
+There should be no layers.
+
+
Added: branches/safari-608.1.24.20-branch/LayoutTests/compositing/scrolling/async-overflow-scrolling/become-non-scrollable.html (0 => 245572)
--- branches/safari-608.1.24.20-branch/LayoutTests/compositing/scrolling/async-overflow-scrolling/become-non-scrollable.html (rev 0)
+++ branches/safari-608.1.24.20-branch/LayoutTests/compositing/scrolling/async-overflow-scrolling/become-non-scrollable.html 2019-05-21 17:30:04 UTC (rev 245572)
@@ -0,0 +1,51 @@
+<!DOCTYPE html> <!-- webkit-test-runner [ internal:AsyncOverflowScrollingEnabled=true ] -->
+<html>
+<head>
+ <title>Tests an overflow scroll stops compositing if its content shrinks</title>
+ <style>
+ .scrollable {
+ overflow-y: scroll;
+ height: 300px;
+ width: 300px;
+ margin: 10px;
+ border: 1px solid black;
+ }
+
+ .contents {
+ height: 500px;
+ width: 20px;
+ background-color: silver;
+ }
+
+ .contents.changed {
+ height: 100px;
+ }
+ </style>
+ <script>
+ if (window.testRunner) {
+ testRunner.dumpAsText();
+ testRunner.waitUntilDone();
+ }
+
+ window.addEventListener('load', () => {
+ setTimeout(() => {
+ document.querySelector('.contents').classList.add('changed');
+
+ if (window.internals)
+ document.getElementById('layers').innerText = window.internals.layerTreeAsText(document);
+
+ if (window.testRunner)
+ testRunner.notifyDone();
+ }, 0);
+ }, false);
+ </script>
+</head>
+<body>
+ <div class="scrollable">
+ <div class="contents"></div>
+ </div>
+<p>There should be no layers.</p>
+<pre id="layers"></pre>
+</body>
+</html>
+
Modified: branches/safari-608.1.24.20-branch/LayoutTests/platform/ios-wk2/TestExpectations (245571 => 245572)
--- branches/safari-608.1.24.20-branch/LayoutTests/platform/ios-wk2/TestExpectations 2019-05-21 17:30:00 UTC (rev 245571)
+++ branches/safari-608.1.24.20-branch/LayoutTests/platform/ios-wk2/TestExpectations 2019-05-21 17:30:04 UTC (rev 245572)
@@ -8,6 +8,7 @@
compositing/ios [ Pass ]
compositing/shared-backing/overflow-scroll [ Pass ]
+compositing/scrolling/async-overflow-scrolling [ Pass ]
fast/device-orientation [ Pass ]
fast/history/ios [ Pass ]
fast/scrolling/ios [ Pass ]
Modified: branches/safari-608.1.24.20-branch/LayoutTests/platform/mac-wk2/TestExpectations (245571 => 245572)
--- branches/safari-608.1.24.20-branch/LayoutTests/platform/mac-wk2/TestExpectations 2019-05-21 17:30:00 UTC (rev 245571)
+++ branches/safari-608.1.24.20-branch/LayoutTests/platform/mac-wk2/TestExpectations 2019-05-21 17:30:04 UTC (rev 245572)
@@ -6,6 +6,7 @@
#//////////////////////////////////////////////////////////////////////////////////////////
compositing/shared-backing/overflow-scroll [ Pass ]
+compositing/scrolling/async-overflow-scrolling [ Pass ]
editing/find [ Pass ]
editing/undo-manager [ Pass ]
fast/forms/select/mac-wk2 [ Pass ]
Modified: branches/safari-608.1.24.20-branch/Source/WebCore/ChangeLog (245571 => 245572)
--- branches/safari-608.1.24.20-branch/Source/WebCore/ChangeLog 2019-05-21 17:30:00 UTC (rev 245571)
+++ branches/safari-608.1.24.20-branch/Source/WebCore/ChangeLog 2019-05-21 17:30:04 UTC (rev 245572)
@@ -1,5 +1,55 @@
2019-05-21 Kocsen Chung <[email protected]>
+ Cherry-pick r245212. rdar://problem/50865946
+
+ Overflow scroll that becomes non-scrollable should stop being composited
+ https://bugs.webkit.org/show_bug.cgi?id=197817
+ <rdar://problem/50697290>
+
+ Reviewed by Antti Koivisto.
+
+ Source/WebCore:
+
+ Remove the iOS-specific #ifdef around code that triggers a compositing re-evaluation
+ when scrolling state changes.
+
+ Test: compositing/scrolling/async-overflow-scrolling/become-non-scrollable.html
+
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::updateScrollInfoAfterLayout):
+
+ LayoutTests:
+
+ Put in a compositing/scrolling/async-overflow-scrolling dir so we can enable it only
+ for platforms that have async overflow scrolling.
+
+ * TestExpectations:
+ * compositing/scrolling/async-overflow-scrolling/become-non-scrollable-expected.txt: Added.
+ * compositing/scrolling/async-overflow-scrolling/become-non-scrollable.html: Added.
+ * platform/ios-wk2/TestExpectations:
+ * platform/mac-wk2/TestExpectations:
+
+
+ git-svn-id: https://svn.webkit.org/repository/webkit/trunk@245212 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+ 2019-05-11 Simon Fraser <[email protected]>
+
+ Overflow scroll that becomes non-scrollable should stop being composited
+ https://bugs.webkit.org/show_bug.cgi?id=197817
+ <rdar://problem/50697290>
+
+ Reviewed by Antti Koivisto.
+
+ Remove the iOS-specific #ifdef around code that triggers a compositing re-evaluation
+ when scrolling state changes.
+
+ Test: compositing/scrolling/async-overflow-scrolling/become-non-scrollable.html
+
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::updateScrollInfoAfterLayout):
+
+2019-05-21 Kocsen Chung <[email protected]>
+
Cherry-pick r245208. rdar://problem/50865946
Layer bounds are incorrect for sharing layers that paint with transforms
Modified: branches/safari-608.1.24.20-branch/Source/WebCore/rendering/RenderLayer.cpp (245571 => 245572)
--- branches/safari-608.1.24.20-branch/Source/WebCore/rendering/RenderLayer.cpp 2019-05-21 17:30:00 UTC (rev 245571)
+++ branches/safari-608.1.24.20-branch/Source/WebCore/rendering/RenderLayer.cpp 2019-05-21 17:30:04 UTC (rev 245572)
@@ -3709,10 +3709,8 @@
setNeedsCompositingConfigurationUpdate();
}
-#if PLATFORM(IOS_FAMILY)
if (canUseCompositedScrolling())
setNeedsPostLayoutCompositingUpdate();
-#endif
updateScrollSnapState();
}
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes