Diff
Modified: trunk/LayoutTests/ChangeLog (204196 => 204197)
--- trunk/LayoutTests/ChangeLog 2016-08-05 22:26:01 UTC (rev 204196)
+++ trunk/LayoutTests/ChangeLog 2016-08-05 22:34:12 UTC (rev 204197)
@@ -1,3 +1,38 @@
+2016-08-05 Simon Fraser <[email protected]>
+
+ marquee with "truespeed" animates at > 60fps, hogging CPU
+ https://bugs.webkit.org/show_bug.cgi?id=160609
+
+ Reviewed by David Hyatt.
+
+ Convert marquee tests into ref tests, removing all the platform expectations.
+
+ * fast/html/marquee-scroll-expected.html: Copied from LayoutTests/fast/html/marquee-scroll.html.
+ * fast/html/marquee-scroll.html:
+ * fast/html/marquee-scrollamount-expected.html: Added.
+ * fast/html/marquee-set-truespeed.html:
+ * platform/efl/fast/html/marquee-scroll-expected.png: Removed.
+ * platform/efl/fast/html/marquee-scroll-expected.txt: Removed.
+ * platform/efl/fast/html/marquee-scrollamount-expected.png: Removed.
+ * platform/efl/fast/html/marquee-scrollamount-expected.txt: Removed.
+ * platform/gtk/fast/html/marquee-scroll-expected.png: Removed.
+ * platform/gtk/fast/html/marquee-scroll-expected.txt: Removed.
+ * platform/gtk/fast/html/marquee-scrollamount-expected.png: Removed.
+ * platform/gtk/fast/html/marquee-scrollamount-expected.txt: Removed.
+ * platform/ios-simulator-wk1/TestExpectations:
+ * platform/ios-simulator-wk2/TestExpectations:
+ * platform/ios-simulator-wk2/fast/html/marquee-scrollamount-expected.txt: Removed.
+ * platform/ios-simulator/fast/html/marquee-scroll-expected.txt: Removed.
+ * platform/ios-simulator/fast/html/marquee-scrollamount-expected.txt: Removed.
+ * platform/mac-wk1/TestExpectations:
+ * platform/mac/fast/html/marquee-scroll-expected.png: Removed.
+ * platform/mac/fast/html/marquee-scroll-expected.txt: Removed.
+ * platform/mac/fast/html/marquee-scrollamount-expected.png: Removed.
+ * platform/mac/fast/html/marquee-scrollamount-expected.txt: Removed.
+ * platform/win/TestExpectations:
+ * platform/win/fast/html/marquee-scroll-expected.txt: Removed.
+ * platform/win/fast/html/marquee-scrollamount-expected.txt: Removed.
+
2016-08-05 Ryan Haddad <[email protected]>
Unreviewed, rolling out r204181.
Copied: trunk/LayoutTests/fast/html/marquee-scroll-expected.html (from rev 204196, trunk/LayoutTests/fast/html/marquee-scroll.html) (0 => 204197)
--- trunk/LayoutTests/fast/html/marquee-scroll-expected.html (rev 0)
+++ trunk/LayoutTests/fast/html/marquee-scroll-expected.html 2016-08-05 22:34:12 UTC (rev 204197)
@@ -0,0 +1,15 @@
+<html>
+<title>Test for marquee scrolling behavior</title>
+<body>
+
+<p>Test for <a href="" 15263</a>:
+REGRESSION: scrolldelay=0 causes marquee not to display</p>
+
+<p>The marquee below is defined with a scrollDelay value of zero and with the truespeed attribute assigned to an empty string. It should scroll until the text, "The marquee scroll test passed" is visible and left justified.</p>
+
+<div id="marquee" style="width: 300px; background-color:cyan;">
+The marquee scroll test passed
+</div>
+
+</body>
+</html>
Modified: trunk/LayoutTests/fast/html/marquee-scroll.html (204196 => 204197)
--- trunk/LayoutTests/fast/html/marquee-scroll.html 2016-08-05 22:26:01 UTC (rev 204196)
+++ trunk/LayoutTests/fast/html/marquee-scroll.html 2016-08-05 22:34:12 UTC (rev 204197)
@@ -1,15 +1,35 @@
<html>
<title>Test for marquee scrolling behavior</title>
+<script>
+ if (window.testRunner)
+ testRunner.waitUntilDone();
+
+ function waitForMarquee()
+ {
+ var counter = 0;
+ var marqueeWidth = document.getElementById('marquee').offsetWidth;
+ var numSteps = 1 + marqueeWidth / 6; // Default scrollAmount is 6px
+
+ var interval = window.setInterval(function() {
+ if (++counter >= numSteps) {
+ window.clearInterval(interval);
+ if (window.testRunner)
+ testRunner.notifyDone();
+ }
+ }, 16);
+ }
+ window.addEventListener('load', waitForMarquee, false);
+</script>
<body>
<p>Test for <a href="" 15263</a>:
REGRESSION: scrolldelay=0 causes marquee not to display</p>
-<p>The marquee below is defined with a scrollDelay value of zero and with the truespeed attribute assigned to an empty string. It should scroll until the text, "The marquee scroll test passed" is visible and left justified.</p>
+<p>The marquee below is defined with a scrollDelay value of zero and with the truespeed attribute assigned to an empty string. It should scroll until the text, "The marquee scroll test passed" is visible and left justified.</p>
-<marquee width="50%" behavior="slide" bgcolor="cyan" truespeed="" scrollDelay="0">
+<marquee id="marquee" width="300px" behavior="slide" bgcolor="cyan" truespeed="" scrollDelay="0">
The marquee scroll test passed
</marquee>
</body>
-</html>
\ No newline at end of file
+</html>
Added: trunk/LayoutTests/fast/html/marquee-scrollamount-expected.html (0 => 204197)
--- trunk/LayoutTests/fast/html/marquee-scrollamount-expected.html (rev 0)
+++ trunk/LayoutTests/fast/html/marquee-scrollamount-expected.html 2016-08-05 22:34:12 UTC (rev 204197)
@@ -0,0 +1,2 @@
+<body>
+<p>This is a regression test for https://bugs.webkit.org/show_bug.cgi?id=50434. It verifies that a marquee does not animate when scrollAmount is set to 0 by script.</p>
Modified: trunk/LayoutTests/fast/html/marquee-set-truespeed.html (204196 => 204197)
--- trunk/LayoutTests/fast/html/marquee-set-truespeed.html 2016-08-05 22:26:01 UTC (rev 204196)
+++ trunk/LayoutTests/fast/html/marquee-set-truespeed.html 2016-08-05 22:34:12 UTC (rev 204197)
@@ -18,6 +18,6 @@
setTimeout(function() {
if (window.testRunner)
testRunner.notifyDone();
- }, 10);
+ }, 20);
}
</script>
Deleted: trunk/LayoutTests/platform/efl/fast/html/marquee-scroll-expected.png
(Binary files differ)
Deleted: trunk/LayoutTests/platform/efl/fast/html/marquee-scroll-expected.txt (204196 => 204197)
--- trunk/LayoutTests/platform/efl/fast/html/marquee-scroll-expected.txt 2016-08-05 22:26:01 UTC (rev 204196)
+++ trunk/LayoutTests/platform/efl/fast/html/marquee-scroll-expected.txt 2016-08-05 22:34:12 UTC (rev 204197)
@@ -1,23 +0,0 @@
-layer at (0,0) size 800x600
- RenderView at (0,0) size 800x600
-layer at (0,0) size 800x600
- RenderBlock {HTML} at (0,0) size 800x600
- RenderBody {BODY} at (8,8) size 784x584
- RenderBlock {P} at (0,0) size 784x18
- RenderText {#text} at (0,0) size 53x17
- text run at (0,0) width 53: "Test for "
- RenderInline {A} at (0,0) size 68x17 [color=#0000EE]
- RenderText {#text} at (53,0) size 68x17
- text run at (53,0) width 68: "bug 15263"
- RenderText {#text} at (121,0) size 394x17
- text run at (121,0) width 394: ": REGRESSION: scrolldelay=0 causes marquee not to display"
- RenderBlock {P} at (0,34) size 784x36
- RenderText {#text} at (0,0) size 776x35
- text run at (0,0) width 776: "The marquee below is defined with a scrollDelay value of zero and with the truespeed attribute assigned to an empty string."
- text run at (0,18) width 557: "It should scroll until the text, \"The marquee scroll test passed\" is visible and left justified."
- RenderBlock (anonymous) at (0,86) size 784x18
- RenderText {#text} at (0,0) size 0x0
-layer at (8,94) size 392x18 scrollX -392
- RenderBlock {MARQUEE} at (0,0) size 392x18 [bgcolor=#00FFFF]
- RenderText {#text} at (0,0) size 192x17
- text run at (0,0) width 192: "The marquee scroll test passed"
Deleted: trunk/LayoutTests/platform/efl/fast/html/marquee-scrollamount-expected.png
(Binary files differ)
Deleted: trunk/LayoutTests/platform/efl/fast/html/marquee-scrollamount-expected.txt (204196 => 204197)
--- trunk/LayoutTests/platform/efl/fast/html/marquee-scrollamount-expected.txt 2016-08-05 22:26:01 UTC (rev 204196)
+++ trunk/LayoutTests/platform/efl/fast/html/marquee-scrollamount-expected.txt 2016-08-05 22:34:12 UTC (rev 204197)
@@ -1,14 +0,0 @@
-layer at (0,0) size 800x600
- RenderView at (0,0) size 800x600
-layer at (0,0) size 800x600
- RenderBlock {HTML} at (0,0) size 800x600
- RenderBody {BODY} at (8,8) size 784x584
- RenderBlock {P} at (0,0) size 784x36
- RenderText {#text} at (0,0) size 750x35
- text run at (0,0) width 750: "This is a regression test for https://bugs.webkit.org/show_bug.cgi?id=50434. It verifies that a marquee does not animate"
- text run at (0,18) width 250: "when scrollAmount is set to 0 by script."
- RenderBlock (anonymous) at (0,52) size 784x18
-layer at (8,60) size 100x18 scrollX -100
- RenderBlock {MARQUEE} at (0,0) size 100x18
- RenderText {#text} at (0,0) size 27x17
- text run at (0,0) width 27: "Test"
Deleted: trunk/LayoutTests/platform/gtk/fast/html/marquee-scroll-expected.png
(Binary files differ)
Deleted: trunk/LayoutTests/platform/gtk/fast/html/marquee-scroll-expected.txt (204196 => 204197)
--- trunk/LayoutTests/platform/gtk/fast/html/marquee-scroll-expected.txt 2016-08-05 22:26:01 UTC (rev 204196)
+++ trunk/LayoutTests/platform/gtk/fast/html/marquee-scroll-expected.txt 2016-08-05 22:34:12 UTC (rev 204197)
@@ -1,23 +0,0 @@
-layer at (0,0) size 800x600
- RenderView at (0,0) size 800x600
-layer at (0,0) size 800x600
- RenderBlock {HTML} at (0,0) size 800x600
- RenderBody {BODY} at (8,8) size 784x584
- RenderBlock {P} at (0,0) size 784x17
- RenderText {#text} at (0,0) size 53x17
- text run at (0,0) width 53: "Test for "
- RenderInline {A} at (0,0) size 68x17 [color=#0000EE]
- RenderText {#text} at (53,0) size 68x17
- text run at (53,0) width 68: "bug 15263"
- RenderText {#text} at (121,0) size 394x17
- text run at (121,0) width 394: ": REGRESSION: scrolldelay=0 causes marquee not to display"
- RenderBlock {P} at (0,33) size 784x34
- RenderText {#text} at (0,0) size 776x34
- text run at (0,0) width 776: "The marquee below is defined with a scrollDelay value of zero and with the truespeed attribute assigned to an empty string."
- text run at (0,17) width 557: "It should scroll until the text, \"The marquee scroll test passed\" is visible and left justified."
- RenderBlock (anonymous) at (0,83) size 784x17
- RenderText {#text} at (0,0) size 0x0
-layer at (8,91) size 392x17 scrollX -392
- RenderBlock {MARQUEE} at (0,0) size 392x17 [bgcolor=#00FFFF]
- RenderText {#text} at (0,0) size 192x17
- text run at (0,0) width 192: "The marquee scroll test passed"
Deleted: trunk/LayoutTests/platform/gtk/fast/html/marquee-scrollamount-expected.png
(Binary files differ)
Deleted: trunk/LayoutTests/platform/gtk/fast/html/marquee-scrollamount-expected.txt (204196 => 204197)
--- trunk/LayoutTests/platform/gtk/fast/html/marquee-scrollamount-expected.txt 2016-08-05 22:26:01 UTC (rev 204196)
+++ trunk/LayoutTests/platform/gtk/fast/html/marquee-scrollamount-expected.txt 2016-08-05 22:34:12 UTC (rev 204197)
@@ -1,14 +0,0 @@
-layer at (0,0) size 800x600
- RenderView at (0,0) size 800x600
-layer at (0,0) size 800x600
- RenderBlock {HTML} at (0,0) size 800x600
- RenderBody {BODY} at (8,8) size 784x584
- RenderBlock {P} at (0,0) size 784x34
- RenderText {#text} at (0,0) size 750x34
- text run at (0,0) width 750: "This is a regression test for https://bugs.webkit.org/show_bug.cgi?id=50434. It verifies that a marquee does not animate"
- text run at (0,17) width 250: "when scrollAmount is set to 0 by script."
- RenderBlock (anonymous) at (0,50) size 784x17
-layer at (8,58) size 100x17 scrollX -100
- RenderBlock {MARQUEE} at (0,0) size 100x17
- RenderText {#text} at (0,0) size 27x17
- text run at (0,0) width 27: "Test"
Deleted: trunk/LayoutTests/platform/ios-simulator/fast/html/marquee-scroll-expected.txt (204196 => 204197)
--- trunk/LayoutTests/platform/ios-simulator/fast/html/marquee-scroll-expected.txt 2016-08-05 22:26:01 UTC (rev 204196)
+++ trunk/LayoutTests/platform/ios-simulator/fast/html/marquee-scroll-expected.txt 2016-08-05 22:34:12 UTC (rev 204197)
@@ -1,24 +0,0 @@
-layer at (0,0) size 800x600
- RenderView at (0,0) size 800x600
-layer at (0,0) size 800x600
- RenderBlock {HTML} at (0,0) size 800x600
- RenderBody {BODY} at (8,8) size 784x584
- RenderBlock {P} at (0,0) size 784x20
- RenderText {#text} at (0,0) size 54x19
- text run at (0,0) width 54: "Test for "
- RenderInline {A} at (0,0) size 69x19 [color=#0000EE]
- RenderText {#text} at (53,0) size 69x19
- text run at (53,0) width 69: "bug 15263"
- RenderText {#text} at (121,0) size 399x19
- text run at (121,0) width 399: ": REGRESSION: scrolldelay=0 causes marquee not to display"
- RenderBlock {P} at (0,36) size 784x40
- RenderText {#text} at (0,0) size 747x39
- text run at (0,0) width 747: "The marquee below is defined with a scrollDelay value of zero and with the truespeed attribute assigned to an empty"
- text run at (0,20) width 45: "string. "
- text run at (44,20) width 573: "It should scroll until the text, \"The marquee scroll test passed\" is visible and left justified."
- RenderBlock (anonymous) at (0,92) size 784x20
- RenderText {#text} at (0,0) size 0x0
-layer at (8,100) size 392x20 scrollX -392
- RenderBlock {MARQUEE} at (0,0) size 392x20 [bgcolor=#00FFFF]
- RenderText {#text} at (0,0) size 197x19
- text run at (0,0) width 197: "The marquee scroll test passed"
Deleted: trunk/LayoutTests/platform/ios-simulator/fast/html/marquee-scrollamount-expected.txt (204196 => 204197)
--- trunk/LayoutTests/platform/ios-simulator/fast/html/marquee-scrollamount-expected.txt 2016-08-05 22:26:01 UTC (rev 204196)
+++ trunk/LayoutTests/platform/ios-simulator/fast/html/marquee-scrollamount-expected.txt 2016-08-05 22:34:12 UTC (rev 204197)
@@ -1,15 +0,0 @@
-layer at (0,0) size 800x600
- RenderView at (0,0) size 800x600
-layer at (0,0) size 800x600
- RenderBlock {HTML} at (0,0) size 800x600
- RenderBody {BODY} at (8,8) size 784x584
- RenderBlock {P} at (0,0) size 784x40
- RenderText {#text} at (0,0) size 767x39
- text run at (0,0) width 767: "This is a regression test for https://bugs.webkit.org/show_bug.cgi?id=50434. It verifies that a marquee does not animate"
- text run at (0,20) width 256: "when scrollAmount is set to 0 by script."
- RenderBlock (anonymous) at (0,56) size 784x20
- RenderText {#text} at (0,0) size 0x0
-layer at (8,64) size 100x20 scrollX -100
- RenderBlock {MARQUEE} at (0,0) size 100x20
- RenderText {#text} at (0,0) size 27x19
- text run at (0,0) width 27: "Test"
Modified: trunk/LayoutTests/platform/ios-simulator-wk1/TestExpectations (204196 => 204197)
--- trunk/LayoutTests/platform/ios-simulator-wk1/TestExpectations 2016-08-05 22:26:01 UTC (rev 204196)
+++ trunk/LayoutTests/platform/ios-simulator-wk1/TestExpectations 2016-08-05 22:34:12 UTC (rev 204197)
@@ -419,7 +419,6 @@
editing/unsupported-content/list-delete-003.html [ Failure ]
editing/unsupported-content/table-delete-002.html [ Failure ]
fast/forms/textfield-outline.html [ Failure ]
-fast/html/marquee-scrollamount.html [ Failure ]
platform/ios-simulator/ios/fast/coordinates/document-elementFromPoint.html [ Failure ]
platform/ios-simulator/ios/fast/coordinates/element-client-rects.html [ Failure ]
platform/ios-simulator/ios/fast/coordinates/mouse-event-zoomed.html [ Failure ]
Modified: trunk/LayoutTests/platform/ios-simulator-wk2/TestExpectations (204196 => 204197)
--- trunk/LayoutTests/platform/ios-simulator-wk2/TestExpectations 2016-08-05 22:26:01 UTC (rev 204196)
+++ trunk/LayoutTests/platform/ios-simulator-wk2/TestExpectations 2016-08-05 22:34:12 UTC (rev 204197)
@@ -1464,7 +1464,6 @@
fast/dom/Geolocation/disconnected-frame-permission-denied.html
fast/dom/Geolocation/error.html
fast/events/mouse-cursor-multiframecur.html
-fast/html/marquee-scrollamount.html [ Failure ]
fast/loader/frames-with-unload-handlers-in-page-cache.html
http/tests/cache/cache-redirections.html
js/promises-tests/promises-tests-2-2-6.html
Deleted: trunk/LayoutTests/platform/ios-simulator-wk2/fast/html/marquee-scrollamount-expected.txt (204196 => 204197)
--- trunk/LayoutTests/platform/ios-simulator-wk2/fast/html/marquee-scrollamount-expected.txt 2016-08-05 22:26:01 UTC (rev 204196)
+++ trunk/LayoutTests/platform/ios-simulator-wk2/fast/html/marquee-scrollamount-expected.txt 2016-08-05 22:34:12 UTC (rev 204197)
@@ -1,14 +0,0 @@
-layer at (0,0) size 800x600
- RenderView at (0,0) size 800x600
-layer at (0,0) size 800x600
- RenderBlock {HTML} at (0,0) size 800x600
- RenderBody {BODY} at (8,8) size 784x584
- RenderBlock {P} at (0,0) size 784x40
- RenderText {#text} at (0,0) size 767x39
- text run at (0,0) width 767: "This is a regression test for https://bugs.webkit.org/show_bug.cgi?id=50434. It verifies that a marquee does not animate"
- text run at (0,20) width 256: "when scrollAmount is set to 0 by script."
- RenderBlock (anonymous) at (0,56) size 784x20
-layer at (8,64) size 100x20 scrollX -10
- RenderBlock {MARQUEE} at (0,0) size 100x20
- RenderText {#text} at (0,0) size 27x19
- text run at (0,0) width 27: "Test"
Deleted: trunk/LayoutTests/platform/mac/fast/html/marquee-scroll-expected.png
(Binary files differ)
Deleted: trunk/LayoutTests/platform/mac/fast/html/marquee-scroll-expected.txt (204196 => 204197)
--- trunk/LayoutTests/platform/mac/fast/html/marquee-scroll-expected.txt 2016-08-05 22:26:01 UTC (rev 204196)
+++ trunk/LayoutTests/platform/mac/fast/html/marquee-scroll-expected.txt 2016-08-05 22:34:12 UTC (rev 204197)
@@ -1,24 +0,0 @@
-layer at (0,0) size 800x600
- RenderView at (0,0) size 800x600
-layer at (0,0) size 800x600
- RenderBlock {HTML} at (0,0) size 800x600
- RenderBody {BODY} at (8,8) size 784x584
- RenderBlock {P} at (0,0) size 784x18
- RenderText {#text} at (0,0) size 54x18
- text run at (0,0) width 54: "Test for "
- RenderInline {A} at (0,0) size 69x18 [color=#0000EE]
- RenderText {#text} at (53,0) size 69x18
- text run at (53,0) width 69: "bug 15263"
- RenderText {#text} at (121,0) size 399x18
- text run at (121,0) width 399: ": REGRESSION: scrolldelay=0 causes marquee not to display"
- RenderBlock {P} at (0,34) size 784x36
- RenderText {#text} at (0,0) size 746x36
- text run at (0,0) width 746: "The marquee below is defined with a scrollDelay value of zero and with the truespeed attribute assigned to an empty"
- text run at (0,18) width 45: "string. "
- text run at (44,18) width 573: "It should scroll until the text, \"The marquee scroll test passed\" is visible and left justified."
- RenderBlock (anonymous) at (0,86) size 784x18
- RenderText {#text} at (0,0) size 0x0
-layer at (8,94) size 392x18 scrollX -392
- RenderBlock {MARQUEE} at (0,0) size 392x18 [bgcolor=#00FFFF]
- RenderText {#text} at (0,0) size 197x18
- text run at (0,0) width 197: "The marquee scroll test passed"
Deleted: trunk/LayoutTests/platform/mac/fast/html/marquee-scrollamount-expected.png
(Binary files differ)
Deleted: trunk/LayoutTests/platform/mac/fast/html/marquee-scrollamount-expected.txt (204196 => 204197)
--- trunk/LayoutTests/platform/mac/fast/html/marquee-scrollamount-expected.txt 2016-08-05 22:26:01 UTC (rev 204196)
+++ trunk/LayoutTests/platform/mac/fast/html/marquee-scrollamount-expected.txt 2016-08-05 22:34:12 UTC (rev 204197)
@@ -1,14 +0,0 @@
-layer at (0,0) size 800x600
- RenderView at (0,0) size 800x600
-layer at (0,0) size 800x600
- RenderBlock {HTML} at (0,0) size 800x600
- RenderBody {BODY} at (8,8) size 784x584
- RenderBlock {P} at (0,0) size 784x36
- RenderText {#text} at (0,0) size 766x36
- text run at (0,0) width 766: "This is a regression test for https://bugs.webkit.org/show_bug.cgi?id=50434. It verifies that a marquee does not animate"
- text run at (0,18) width 256: "when scrollAmount is set to 0 by script."
- RenderBlock (anonymous) at (0,52) size 784x18
-layer at (8,60) size 100x18 scrollX -100
- RenderBlock {MARQUEE} at (0,0) size 100x18
- RenderText {#text} at (0,0) size 27x18
- text run at (0,0) width 27: "Test"
Modified: trunk/LayoutTests/platform/mac-wk1/TestExpectations (204196 => 204197)
--- trunk/LayoutTests/platform/mac-wk1/TestExpectations 2016-08-05 22:26:01 UTC (rev 204196)
+++ trunk/LayoutTests/platform/mac-wk1/TestExpectations 2016-08-05 22:34:12 UTC (rev 204197)
@@ -228,7 +228,6 @@
[ Sierra+ ] accessibility/parent-delete.html [ Failure ]
# rdar://problem/26422051
-[ Sierra+ ] fast/html/marquee-scroll.html [ Failure ]
[ Sierra+ ] fast/inline-block/003.html [ Failure ]
# rdar://problem/26478296
Modified: trunk/LayoutTests/platform/win/TestExpectations (204196 => 204197)
--- trunk/LayoutTests/platform/win/TestExpectations 2016-08-05 22:26:01 UTC (rev 204196)
+++ trunk/LayoutTests/platform/win/TestExpectations 2016-08-05 22:34:12 UTC (rev 204197)
@@ -2769,8 +2769,6 @@
fast/history/location-replace-hash.html [ Skip ]
fast/history/saves-state-after-fragment-nav.html [ Skip ]
-fast/html/marquee-scrollamount.html [ Failure ]
-
fast/images/image-controls-basic.html [ Failure ]
fast/images/exif-orientation-composited.html [ Failure ]
webkit.org/b/140516 [ Debug ] fast/images/large-size-image-crash.html [ Skip ] # Crashing
Deleted: trunk/LayoutTests/platform/win/fast/html/marquee-scroll-expected.txt (204196 => 204197)
--- trunk/LayoutTests/platform/win/fast/html/marquee-scroll-expected.txt 2016-08-05 22:26:01 UTC (rev 204196)
+++ trunk/LayoutTests/platform/win/fast/html/marquee-scroll-expected.txt 2016-08-05 22:34:12 UTC (rev 204197)
@@ -1,23 +0,0 @@
-layer at (0,0) size 800x600
- RenderView at (0,0) size 800x600
-layer at (0,0) size 800x600
- RenderBlock {HTML} at (0,0) size 800x600
- RenderBody {BODY} at (8,8) size 784x584
- RenderBlock {P} at (0,0) size 784x18
- RenderText {#text} at (0,0) size 53x18
- text run at (0,0) width 53: "Test for "
- RenderInline {A} at (0,0) size 68x18 [color=#0000EE]
- RenderText {#text} at (53,0) size 68x18
- text run at (53,0) width 68: "bug 15263"
- RenderText {#text} at (121,0) size 394x18
- text run at (121,0) width 394: ": REGRESSION: scrolldelay=0 causes marquee not to display"
- RenderBlock {P} at (0,34) size 784x36
- RenderText {#text} at (0,0) size 776x36
- text run at (0,0) width 776: "The marquee below is defined with a scrollDelay value of zero and with the truespeed attribute assigned to an empty string."
- text run at (0,18) width 557: "It should scroll until the text, \"The marquee scroll test passed\" is visible and left justified."
- RenderBlock (anonymous) at (0,86) size 784x18
- RenderText {#text} at (0,0) size 0x0
-layer at (8,94) size 392x18 scrollX -392
- RenderBlock {MARQUEE} at (0,0) size 392x18 [bgcolor=#00FFFF]
- RenderText {#text} at (0,0) size 192x18
- text run at (0,0) width 192: "The marquee scroll test passed"
Deleted: trunk/LayoutTests/platform/win/fast/html/marquee-scrollamount-expected.txt (204196 => 204197)
--- trunk/LayoutTests/platform/win/fast/html/marquee-scrollamount-expected.txt 2016-08-05 22:26:01 UTC (rev 204196)
+++ trunk/LayoutTests/platform/win/fast/html/marquee-scrollamount-expected.txt 2016-08-05 22:34:12 UTC (rev 204197)
@@ -1,14 +0,0 @@
-layer at (0,0) size 800x600
- RenderView at (0,0) size 800x600
-layer at (0,0) size 800x600
- RenderBlock {HTML} at (0,0) size 800x600
- RenderBody {BODY} at (8,8) size 784x584
- RenderBlock {P} at (0,0) size 784x36
- RenderText {#text} at (0,0) size 750x36
- text run at (0,0) width 750: "This is a regression test for https://bugs.webkit.org/show_bug.cgi?id=50434. It verifies that a marquee does not animate"
- text run at (0,18) width 250: "when scrollAmount is set to 0 by script."
- RenderBlock (anonymous) at (0,52) size 784x18
-layer at (8,60) size 100x18 scrollX -100
- RenderBlock {MARQUEE} at (0,0) size 100x18
- RenderText {#text} at (0,0) size 27x18
- text run at (0,0) width 27: "Test"
\ No newline at end of file
Modified: trunk/Source/WebCore/ChangeLog (204196 => 204197)
--- trunk/Source/WebCore/ChangeLog 2016-08-05 22:26:01 UTC (rev 204196)
+++ trunk/Source/WebCore/ChangeLog 2016-08-05 22:34:12 UTC (rev 204197)
@@ -1,3 +1,22 @@
+2016-08-05 Simon Fraser <[email protected]>
+
+ marquee with "truespeed" animates at > 60fps, hogging CPU
+ https://bugs.webkit.org/show_bug.cgi?id=160609
+
+ Reviewed by David Hyatt.
+
+ A <marquee truespeed="" scrollDelay="0"> would fire a zero-delay timer and also
+ fail to animate, hogging CPU.
+
+ Fix to cap the timer at 16ms intervals. We don't believe it's necessary to
+ maintain web compatibility here.
+
+ Tested by existing tests.
+
+ * html/HTMLMarqueeElement.cpp:
+ (WebCore::HTMLMarqueeElement::minimumDelay):
+ * html/HTMLMarqueeElement.h:
+
2016-08-05 Ryan Haddad <[email protected]>
Unreviewed, rolling out r204181.
Modified: trunk/Source/WebCore/html/HTMLMarqueeElement.cpp (204196 => 204197)
--- trunk/Source/WebCore/html/HTMLMarqueeElement.cpp 2016-08-05 22:26:01 UTC (rev 204196)
+++ trunk/Source/WebCore/html/HTMLMarqueeElement.cpp 2016-08-05 22:34:12 UTC (rev 204197)
@@ -56,7 +56,7 @@
// WinIE uses 60ms as the minimum delay by default.
return 60;
}
- return 0;
+ return 16; // Don't allow timers at < 16ms intervals to avoid CPU hogging: webkit.org/b/160609
}
bool HTMLMarqueeElement::isPresentationAttribute(const QualifiedName& name) const
Modified: trunk/Source/WebCore/html/HTMLMarqueeElement.h (204196 => 204197)
--- trunk/Source/WebCore/html/HTMLMarqueeElement.h 2016-08-05 22:26:01 UTC (rev 204196)
+++ trunk/Source/WebCore/html/HTMLMarqueeElement.h 2016-08-05 22:34:12 UTC (rev 204197)
@@ -41,12 +41,15 @@
void start();
void stop() final;
+ // Number of pixels to move on each scroll movement. Defaults to 6.
unsigned scrollAmount() const;
void setScrollAmount(unsigned);
+ // Interval between each scroll movement, in milliseconds. Defaults to 60.
unsigned scrollDelay() const;
void setScrollDelay(unsigned);
+ // Loop count. -1 means loop indefinitely.
int loop() const;
void setLoop(int, ExceptionCode&);