WebKit Bugzilla
Attachment 369662 Details for
Bug 197817
: Overflow scroll that becomes non-scrollable should stop being composited
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
bug-197817-20190511150554.patch (text/plain), 6.45 KB, created by
Simon Fraser (smfr)
on 2019-05-11 15:05:55 PDT
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Simon Fraser (smfr)
Created:
2019-05-11 15:05:55 PDT
Size:
6.45 KB
patch
obsolete
>Subversion Revision: 245204 >diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog >index 22945cb200dcae9bb0c36172d91380869590d19d..236a0e85e957c734b7d9a9cc8308c8cf3fda10ec 100644 >--- a/Source/WebCore/ChangeLog >+++ b/Source/WebCore/ChangeLog >@@ -1,3 +1,19 @@ >+2019-05-11 Simon Fraser <simon.fraser@apple.com> >+ >+ Overflow scroll that becomes non-scrollable should stop being composited >+ https://bugs.webkit.org/show_bug.cgi?id=197817 >+ <rdar://problem/50697290> >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ 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-11 Simon Fraser <simon.fraser@apple.com> > > Translucent gradient rendering bug due to will-change transform >diff --git a/Source/WebCore/rendering/RenderLayer.cpp b/Source/WebCore/rendering/RenderLayer.cpp >index 185a875f516eb9deeefc67e66822418e2cff0440..7aa11aaad321823d71ca4d9be4000c46386c7aed 100644 >--- a/Source/WebCore/rendering/RenderLayer.cpp >+++ b/Source/WebCore/rendering/RenderLayer.cpp >@@ -3709,10 +3709,8 @@ void RenderLayer::updateScrollInfoAfterLayout() > setNeedsCompositingConfigurationUpdate(); > } > >-#if PLATFORM(IOS_FAMILY) > if (canUseCompositedScrolling()) > setNeedsPostLayoutCompositingUpdate(); >-#endif > > updateScrollSnapState(); > } >diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog >index 94aa2d73d8e2f204b5ba163d363ae368bd84b0f7..121451b7da6c76bcaa653ee8b7f039a5d6c42c02 100644 >--- a/LayoutTests/ChangeLog >+++ b/LayoutTests/ChangeLog >@@ -1,3 +1,20 @@ >+2019-05-11 Simon Fraser <simon.fraser@apple.com> >+ >+ Overflow scroll that becomes non-scrollable should stop being composited >+ https://bugs.webkit.org/show_bug.cgi?id=197817 >+ <rdar://problem/50697290> >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ 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-11 Simon Fraser <simon.fraser@apple.com> > > Translucent gradient rendering bug due to will-change transform >diff --git a/LayoutTests/TestExpectations b/LayoutTests/TestExpectations >index 56507276137ec28dcc49fa1d925354f3c8b59cce..18521e14f170d567d1f88491e5349e4e449194b6 100644 >--- a/LayoutTests/TestExpectations >+++ b/LayoutTests/TestExpectations >@@ -61,6 +61,7 @@ fast/media/ios [ Skip ] > > # Requires async overflow scrolling > compositing/shared-backing/overflow-scroll [ Skip ] >+compositing/scrolling/async-overflow-scrolling [ Skip ] > > # WebKit2 only. > printing/printing-events.html [ Skip ] >diff --git a/LayoutTests/compositing/scrolling/async-overflow-scrolling/become-non-scrollable-expected.txt b/LayoutTests/compositing/scrolling/async-overflow-scrolling/become-non-scrollable-expected.txt >new file mode 100644 >index 0000000000000000000000000000000000000000..cf04ad6047a494e1482409c208d1cc578ca94fe4 >--- /dev/null >+++ b/LayoutTests/compositing/scrolling/async-overflow-scrolling/become-non-scrollable-expected.txt >@@ -0,0 +1,3 @@ >+There should be no layers. >+ >+ >diff --git a/LayoutTests/compositing/scrolling/async-overflow-scrolling/become-non-scrollable.html b/LayoutTests/compositing/scrolling/async-overflow-scrolling/become-non-scrollable.html >new file mode 100644 >index 0000000000000000000000000000000000000000..a5ab81e73e2dca0cf2e518fcf0c95b754f2e9ac9 >--- /dev/null >+++ b/LayoutTests/compositing/scrolling/async-overflow-scrolling/become-non-scrollable.html >@@ -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> >+ >diff --git a/LayoutTests/platform/ios-wk2/TestExpectations b/LayoutTests/platform/ios-wk2/TestExpectations >index ad1a274d0df6f50f1d2e1a21f234a3cfbac58a4a..81230f5ed4830938bbbdcbbe8cd8b07089029ba4 100644 >--- a/LayoutTests/platform/ios-wk2/TestExpectations >+++ b/LayoutTests/platform/ios-wk2/TestExpectations >@@ -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 ] >diff --git a/LayoutTests/platform/mac-wk2/TestExpectations b/LayoutTests/platform/mac-wk2/TestExpectations >index 450afa49ea656a5000b07a72108453ab07e2dcdb..392053d8c5e976e8c146fcb703c1976a9261c733 100644 >--- a/LayoutTests/platform/mac-wk2/TestExpectations >+++ b/LayoutTests/platform/mac-wk2/TestExpectations >@@ -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 ]
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
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 197817
:
369656
| 369662