Title: [154993] trunk
Revision
154993
Author
dba...@webkit.org
Date
2013-09-03 11:51:45 -0700 (Tue, 03 Sep 2013)

Log Message

Require layout when -webkit-overflow-scrolling changes
https://bugs.webkit.org/show_bug.cgi?id=120535

Reviewed by Darin Adler.

Source/WebCore:

Test: fast/repaint/overflow-scroll-touch-repaint.html

We want to require a layout when the value of -webkit-overflow-scrolling changes
since -webkit-overflow-scrolling creates a stacking context.

* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::changeRequiresLayout):

LayoutTests:

Add a test to ensure we perform a layout and repaint when the
value of -webkit-overflow-scrolling changes on an element.

At the time of writing, the iOS port enables ACCELERATED_OVERFLOW_SCROLLING.

* fast/repaint/overflow-scroll-touch-repaint-expected.txt: Added.
* fast/repaint/overflow-scroll-touch-repaint.html: Added.
* platform/efl/TestExpectations: Skip test fast/repaint/overflow-scroll-touch-repaint.html
since this platform doesn't enable ACCELERATED_OVERFLOW_SCROLLING.
* platform/gtk/TestExpectations: Ditto.
* platform/mac/TestExpectations: Ditto.
* platform/qt/TestExpectations: Ditto.
* platform/win/TestExpectations: Ditto.
* platform/wincairo/TestExpectations: Ditto.

Modified Paths

Added Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (154992 => 154993)


--- trunk/LayoutTests/ChangeLog	2013-09-03 18:45:51 UTC (rev 154992)
+++ trunk/LayoutTests/ChangeLog	2013-09-03 18:51:45 UTC (rev 154993)
@@ -1,3 +1,25 @@
+2013-09-03  Daniel Bates  <daba...@apple.com>
+
+        Require layout when -webkit-overflow-scrolling changes
+        https://bugs.webkit.org/show_bug.cgi?id=120535
+
+        Reviewed by Darin Adler.
+
+        Add a test to ensure we perform a layout and repaint when the
+        value of -webkit-overflow-scrolling changes on an element.
+
+        At the time of writing, the iOS port enables ACCELERATED_OVERFLOW_SCROLLING.
+
+        * fast/repaint/overflow-scroll-touch-repaint-expected.txt: Added.
+        * fast/repaint/overflow-scroll-touch-repaint.html: Added.
+        * platform/efl/TestExpectations: Skip test fast/repaint/overflow-scroll-touch-repaint.html
+        since this platform doesn't enable ACCELERATED_OVERFLOW_SCROLLING.
+        * platform/gtk/TestExpectations: Ditto.
+        * platform/mac/TestExpectations: Ditto.
+        * platform/qt/TestExpectations: Ditto.
+        * platform/win/TestExpectations: Ditto.
+        * platform/wincairo/TestExpectations: Ditto.
+
 2013-09-02  Ryosuke Niwa  <rn...@webkit.org>
 
         Support the "json" responseType and JSON response entity in XHR

Added: trunk/LayoutTests/fast/repaint/overflow-scroll-touch-repaint-expected.txt (0 => 154993)


--- trunk/LayoutTests/fast/repaint/overflow-scroll-touch-repaint-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/fast/repaint/overflow-scroll-touch-repaint-expected.txt	2013-09-03 18:51:45 UTC (rev 154993)
@@ -0,0 +1,9 @@
+This test PASSED if you see repaint output (below).
+
+(repaint rects
+  (rect 0 0 800 600)
+  (rect 8 16 784 20)
+  (rect 8 52 2000 2000)
+  (rect 8 16 2000 2036)
+)
+

Added: trunk/LayoutTests/fast/repaint/overflow-scroll-touch-repaint.html (0 => 154993)


--- trunk/LayoutTests/fast/repaint/overflow-scroll-touch-repaint.html	                        (rev 0)
+++ trunk/LayoutTests/fast/repaint/overflow-scroll-touch-repaint.html	2013-09-03 18:51:45 UTC (rev 154993)
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script src=""
+<script>
+function repaintTest()
+{
+    document.body.style.webkitOverflowScrolling = "touch";
+}
+</script>
+</head>
+<body style="overflow: hidden; -webkit-overflow-scrolling: auto" _onload_="runRepaintTest()">
+<!-- This tests that we require a layout and repaint when the value of -webkit-overflow-scrolling changes. -->
+<p>This test PASSED if you see repaint output (below).</p>
+<!-- Note, we expect this test to fail on all ports that have not compiled with ACCELERATED_OVERFLOW_SCROLLING enabled. -->
+
+<div style="width: 2000px; height: 2000px;"></div>
+</body>
+</html>

Modified: trunk/LayoutTests/platform/efl/TestExpectations (154992 => 154993)


--- trunk/LayoutTests/platform/efl/TestExpectations	2013-09-03 18:45:51 UTC (rev 154992)
+++ trunk/LayoutTests/platform/efl/TestExpectations	2013-09-03 18:51:45 UTC (rev 154993)
@@ -327,6 +327,9 @@
 Bug(EFL) fast/canvas/fill-stroke-clip-reset-path.html
 Bug(EFL) http/tests/xmlhttprequest/default-content-type-dashboard.html
 
+# Accelerated overflow scrolling (ENABLE_ACCELERATED_OVERFLOW_SCROLLING) is not enabled.
+fast/repaint/overflow-scroll-touch-repaint.html [ Skip ]
+
 # Doesn't apply to platforms that don't enforce the CFNetwork-style 3rd party cookie policy
 webkit.org/b/35824 http/tests/cookies/third-party-cookie-relaxing.html
 

Modified: trunk/LayoutTests/platform/gtk/TestExpectations (154992 => 154993)


--- trunk/LayoutTests/platform/gtk/TestExpectations	2013-09-03 18:45:51 UTC (rev 154992)
+++ trunk/LayoutTests/platform/gtk/TestExpectations	2013-09-03 18:51:45 UTC (rev 154993)
@@ -65,6 +65,9 @@
 # X-Content-Type-Options (ENABLE_NOSNIFF) is not enabled.
 webkit.org/b/71851 http/tests/security/contentTypeOptions [ Skip ]
 
+# Accelerated overflow scrolling (ENABLE_ACCELERATED_OVERFLOW_SCROLLING) is not enabled.
+fast/repaint/overflow-scroll-touch-repaint.html [ Skip ]
+
 # These test -apple- and -khtml- prefixed CSS properties, which we don't support.
 inspector/styles/vendor-prefixes.html [ WontFix Pass ]
 

Modified: trunk/LayoutTests/platform/mac/TestExpectations (154992 => 154993)


--- trunk/LayoutTests/platform/mac/TestExpectations	2013-09-03 18:45:51 UTC (rev 154992)
+++ trunk/LayoutTests/platform/mac/TestExpectations	2013-09-03 18:51:45 UTC (rev 154993)
@@ -1042,6 +1042,9 @@
 # CSS Device Adaptation is not enabled.
 webkit.org/b/95959 css3/device-adapt [ Skip ]
 
+# Accelerated overflow scrolling (ENABLE_ACCELERATED_OVERFLOW_SCROLLING) is not enabled.
+fast/repaint/overflow-scroll-touch-repaint.html [ Skip ]
+
 # Hardware accelerated CSS transitions appear pixelated when scaled up using transform
 webkit.org/b/27684 compositing/text-on-scaled-layer.html [ ImageOnlyFailure ]
 webkit.org/b/27684 compositing/text-on-scaled-surface.html [ ImageOnlyFailure ]

Modified: trunk/LayoutTests/platform/qt/TestExpectations (154992 => 154993)


--- trunk/LayoutTests/platform/qt/TestExpectations	2013-09-03 18:45:51 UTC (rev 154992)
+++ trunk/LayoutTests/platform/qt/TestExpectations	2013-09-03 18:51:45 UTC (rev 154993)
@@ -201,6 +201,9 @@
 fast/xpath/xpath-template-element.html
 fast/xsl/xslt-processor-template.html
 
+# ENABLE(ACCELERATED_OVERFLOW_SCROLLING) is disabled.
+fast/repaint/overflow-scroll-touch-repaint.html [ Skip ]
+
 # JSC does not support setIsolatedWorldSecurityOrigin, (http://webkit.org/b/61540)
 http/tests/security/isolatedWorld/cross-origin-xhr.html
 

Modified: trunk/LayoutTests/platform/win/TestExpectations (154992 => 154993)


--- trunk/LayoutTests/platform/win/TestExpectations	2013-09-03 18:45:51 UTC (rev 154992)
+++ trunk/LayoutTests/platform/win/TestExpectations	2013-09-03 18:51:45 UTC (rev 154993)
@@ -74,6 +74,9 @@
 svg/custom/manually-parsed-embedded-svg-allowed-in-dashboard.html
 svg/custom/svg-allowed-in-dashboard-object.html
 
+# Accelerated overflow scrolling (ENABLE_ACCELERATED_OVERFLOW_SCROLLING) is not enabled.
+fast/repaint/overflow-scroll-touch-repaint.html [ Skip ]
+
 # Apache 1.3 doesn't support SSL <rdar://problem/5345985>
 http/tests/navigation/ping-cross-origin-from-https.html
 http/tests/ssl

Modified: trunk/LayoutTests/platform/wincairo/TestExpectations (154992 => 154993)


--- trunk/LayoutTests/platform/wincairo/TestExpectations	2013-09-03 18:45:51 UTC (rev 154992)
+++ trunk/LayoutTests/platform/wincairo/TestExpectations	2013-09-03 18:51:45 UTC (rev 154993)
@@ -596,6 +596,9 @@
 svg/custom/manually-parsed-embedded-svg-allowed-in-dashboard.html
 svg/custom/svg-allowed-in-dashboard-object.html
 
+# Accelerated overflow scrolling (ENABLE_ACCELERATED_OVERFLOW_SCROLLING) is not enabled.
+fast/repaint/overflow-scroll-touch-repaint.html [ Skip ]
+
 # Apache 1.3 doesn't support SSL <rdar://problem/5345985>
 http/tests/navigation/ping-cross-origin-from-https.html
 http/tests/ssl

Modified: trunk/Source/WebCore/ChangeLog (154992 => 154993)


--- trunk/Source/WebCore/ChangeLog	2013-09-03 18:45:51 UTC (rev 154992)
+++ trunk/Source/WebCore/ChangeLog	2013-09-03 18:51:45 UTC (rev 154993)
@@ -1,3 +1,18 @@
+2013-09-03  Daniel Bates  <daba...@apple.com>
+
+        Require layout when -webkit-overflow-scrolling changes
+        https://bugs.webkit.org/show_bug.cgi?id=120535
+
+        Reviewed by Darin Adler.
+
+        Test: fast/repaint/overflow-scroll-touch-repaint.html
+
+        We want to require a layout when the value of -webkit-overflow-scrolling changes
+        since -webkit-overflow-scrolling creates a stacking context.
+
+        * rendering/style/RenderStyle.cpp:
+        (WebCore::RenderStyle::changeRequiresLayout):
+
 2013-09-02  Ryosuke Niwa  <rn...@webkit.org>
 
         Support the "json" responseType and JSON response entity in XHR

Modified: trunk/Source/WebCore/rendering/style/RenderStyle.cpp (154992 => 154993)


--- trunk/Source/WebCore/rendering/style/RenderStyle.cpp	2013-09-03 18:45:51 UTC (rev 154992)
+++ trunk/Source/WebCore/rendering/style/RenderStyle.cpp	2013-09-03 18:51:45 UTC (rev 154993)
@@ -505,6 +505,9 @@
 #endif
             || rareInheritedData->m_lineSnap != other->rareInheritedData->m_lineSnap
             || rareInheritedData->m_lineAlign != other->rareInheritedData->m_lineAlign
+#if ENABLE(ACCELERATED_OVERFLOW_SCROLLING)
+            || rareInheritedData->useTouchOverflowScrolling != other->rareInheritedData->useTouchOverflowScrolling
+#endif
             || rareInheritedData->listStyleImage != other->rareInheritedData->listStyleImage)
             return true;
 
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to