Title: [165185] trunk
Revision
165185
Author
[email protected]
Date
2014-03-06 05:28:03 -0800 (Thu, 06 Mar 2014)

Log Message

REGRESSION (r158254): Rubber-banding at Bing image search causes the toolbar to move up and away
https://bugs.webkit.org/show_bug.cgi?id=128873

Patch by Gurpreet Kaur <[email protected]> on 2014-03-06
Reviewed by Antonio Gomes.

Source/WebCore:

This regression is caused by  http://trac.webkit.org/changeset/154614
and http://trac.webkit.org/changeset/156605. So reverting the changes
to make it Web compatible as earlier.

* dom/Element.cpp:
(WebCore::Element::scrollLeft):
(WebCore::Element::scrollTop):
(WebCore::Element::setScrollLeft):
(WebCore::Element::setScrollTop):
Reverting changes as it caused regression.

LayoutTests:

* fast/css/zoom-body-scroll-expected.txt:
* fast/css/zoom-body-scroll.html:
* fast/dom/Element/documentElement-scrollLeft-expected.txt:
* fast/dom/Element/documentElement-scrollLeft.html:
* fast/dom/Element/documentElement-scrollTop-expected.txt:
* fast/dom/Element/documentElement-scrollTop.html:
* fast/dom/Element/scrollLeft-expected.txt:
* fast/dom/Element/scrollLeft.html:
* fast/dom/Element/scrollTop-expected.txt:
* fast/dom/Element/scrollTop.html:
* fast/events/mouse-cursor.html:
* fast/multicol/scrolling-overflow.html:
* http/tests/navigation/anchor-frames-expected.txt:
* http/tests/navigation/anchor-frames-gbk-expected.txt:
* http/tests/navigation/resources/frame-with-anchor-gbk.html:
* http/tests/navigation/resources/frame-with-anchor-same-origin.html:
* http/tests/navigation/resources/frame-with-anchor.html:
* platform/mac-wk2/tiled-drawing/resources/scroll-and-load-page.html:
* platform/mac-wk2/tiled-drawing/tiled-drawing-scroll-position-page-cache-restoration.html:
Reverting changes as it caused regression.

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (165184 => 165185)


--- trunk/LayoutTests/ChangeLog	2014-03-06 12:16:06 UTC (rev 165184)
+++ trunk/LayoutTests/ChangeLog	2014-03-06 13:28:03 UTC (rev 165185)
@@ -1,3 +1,31 @@
+2014-03-06  Gurpreet Kaur  <[email protected]>
+
+        REGRESSION (r158254): Rubber-banding at Bing image search causes the toolbar to move up and away
+        https://bugs.webkit.org/show_bug.cgi?id=128873
+
+        Reviewed by Antonio Gomes.
+
+        * fast/css/zoom-body-scroll-expected.txt:
+        * fast/css/zoom-body-scroll.html:
+        * fast/dom/Element/documentElement-scrollLeft-expected.txt:
+        * fast/dom/Element/documentElement-scrollLeft.html:
+        * fast/dom/Element/documentElement-scrollTop-expected.txt:
+        * fast/dom/Element/documentElement-scrollTop.html:
+        * fast/dom/Element/scrollLeft-expected.txt:
+        * fast/dom/Element/scrollLeft.html:
+        * fast/dom/Element/scrollTop-expected.txt:
+        * fast/dom/Element/scrollTop.html:
+        * fast/events/mouse-cursor.html:
+        * fast/multicol/scrolling-overflow.html:
+        * http/tests/navigation/anchor-frames-expected.txt:
+        * http/tests/navigation/anchor-frames-gbk-expected.txt:
+        * http/tests/navigation/resources/frame-with-anchor-gbk.html:
+        * http/tests/navigation/resources/frame-with-anchor-same-origin.html:
+        * http/tests/navigation/resources/frame-with-anchor.html:
+        * platform/mac-wk2/tiled-drawing/resources/scroll-and-load-page.html:
+        * platform/mac-wk2/tiled-drawing/tiled-drawing-scroll-position-page-cache-restoration.html:
+        Reverting changes as it caused regression.
+
 2014-03-05  Jinwoo Song  <[email protected]>
 
         Unreviewed EFL gardening.

Modified: trunk/LayoutTests/fast/css/zoom-body-scroll-expected.txt (165184 => 165185)


--- trunk/LayoutTests/fast/css/zoom-body-scroll-expected.txt	2014-03-06 12:16:06 UTC (rev 165184)
+++ trunk/LayoutTests/fast/css/zoom-body-scroll-expected.txt	2014-03-06 13:28:03 UTC (rev 165185)
@@ -9,7 +9,7 @@
 Zooming in
 scrollHeight: 1000
 scrollWidth: 1000
-scrollTop: 100
+scrollTop: 0
 scrollLeft: 50
 
 Scrolling down to 100

Modified: trunk/LayoutTests/fast/css/zoom-body-scroll.html (165184 => 165185)


--- trunk/LayoutTests/fast/css/zoom-body-scroll.html	2014-03-06 12:16:06 UTC (rev 165184)
+++ trunk/LayoutTests/fast/css/zoom-body-scroll.html	2014-03-06 13:28:03 UTC (rev 165185)
@@ -1,5 +1,5 @@
 <html>
-<body _onload_="bodyScroll()">
+<body>
     <div style="width: 1000px; height: 1000px; position: absolute; top: 0; left: 0;"></div>
     <div style="width: 100px; height: 100px; position: absolute; top: 100px; left: 0; background: green"></div>
     <p>
@@ -14,35 +14,32 @@
             console.appendChild(document.createTextNode(message + "\n"));
         }
 
-        function bodyScroll() {
-            if (window.testRunner) {
-                testRunner.dumpAsText();
-                var body = document.body;
-                window.scrollTo(50,100);
-                log("scrollHeight: " + body.scrollHeight);
-                log("scrollWidth: " + body.scrollWidth);
+        if (window.testRunner) {
+            testRunner.dumpAsText();
+            var body = document.body;
+            log("scrollHeight: " + body.scrollHeight);
+            log("scrollWidth: " + body.scrollWidth);
 
-                log("\nScrolling right to 50");
-                body.scrollLeft = 50;
-                log("scrollLeft: " + body.scrollLeft);
+            log("\nScrolling right to 50");
+            body.scrollLeft = 50;
+            log("scrollLeft: " + body.scrollLeft);
 
-                log("\nZooming in");
-                eventSender.zoomPageIn();
-                log("scrollHeight: " + body.scrollHeight);
-                log("scrollWidth: " + body.scrollWidth);
-                log("scrollTop: " + body.scrollTop);
-                log("scrollLeft: " + body.scrollLeft);
+            log("\nZooming in");
+            eventSender.zoomPageIn();
+            log("scrollHeight: " + body.scrollHeight);
+            log("scrollWidth: " + body.scrollWidth);
+            log("scrollTop: " + body.scrollTop);
+            log("scrollLeft: " + body.scrollLeft);
 
-                log("\nScrolling down to 100");
-                body.scrollTop = 100;
-                log("scrollTop: " + body.scrollTop);
+            log("\nScrolling down to 100");
+            body.scrollTop = 100;
+            log("scrollTop: " + body.scrollTop);
 
-                log("\nZooming back out");
-                eventSender.zoomPageOut();
-                log("scrollTop: " + body.scrollTop);
-                log("scrollLeft: " + body.scrollLeft);
-			}
-        }
+            log("\nZooming back out");
+            eventSender.zoomPageOut();
+            log("scrollTop: " + body.scrollTop);
+            log("scrollLeft: " + body.scrollLeft);
+	    }      
     </script>
 </body>
 </html>

Modified: trunk/LayoutTests/fast/dom/Element/documentElement-scrollLeft-expected.txt (165184 => 165185)


--- trunk/LayoutTests/fast/dom/Element/documentElement-scrollLeft-expected.txt	2014-03-06 12:16:06 UTC (rev 165184)
+++ trunk/LayoutTests/fast/dom/Element/documentElement-scrollLeft-expected.txt	2014-03-06 13:28:03 UTC (rev 165185)
@@ -6,7 +6,7 @@
 PASS successfullyParsed is true
 
 TEST COMPLETE
-PASS document.documentElement.scrollLeft is 500
+PASS document.documentElement.scrollLeft is 0
 PASS successfullyParsed is true
 
 TEST COMPLETE

Modified: trunk/LayoutTests/fast/dom/Element/documentElement-scrollLeft.html (165184 => 165185)


--- trunk/LayoutTests/fast/dom/Element/documentElement-scrollLeft.html	2014-03-06 12:16:06 UTC (rev 165184)
+++ trunk/LayoutTests/fast/dom/Element/documentElement-scrollLeft.html	2014-03-06 13:28:03 UTC (rev 165185)
@@ -13,7 +13,7 @@
                 description('Tests that for standard mode document.documentElement.scrollLeft returns the scroll left value');
 
                 document.documentElement.scrollLeft = 500;
-                shouldBe("document.documentElement.scrollLeft","500");
+                shouldBe("document.documentElement.scrollLeft","0");
                 isSuccessfullyParsed();
             }
         </script>

Modified: trunk/LayoutTests/fast/dom/Element/documentElement-scrollTop-expected.txt (165184 => 165185)


--- trunk/LayoutTests/fast/dom/Element/documentElement-scrollTop-expected.txt	2014-03-06 12:16:06 UTC (rev 165184)
+++ trunk/LayoutTests/fast/dom/Element/documentElement-scrollTop-expected.txt	2014-03-06 13:28:03 UTC (rev 165185)
@@ -3,7 +3,7 @@
 On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
 
 
-PASS document.documentElement.scrollTop is 500
+PASS document.documentElement.scrollTop is 0
 PASS successfullyParsed is true
 
 TEST COMPLETE

Modified: trunk/LayoutTests/fast/dom/Element/documentElement-scrollTop.html (165184 => 165185)


--- trunk/LayoutTests/fast/dom/Element/documentElement-scrollTop.html	2014-03-06 12:16:06 UTC (rev 165184)
+++ trunk/LayoutTests/fast/dom/Element/documentElement-scrollTop.html	2014-03-06 13:28:03 UTC (rev 165185)
@@ -13,7 +13,7 @@
                 description('Tests that for standard mode document.documentElement.scrollTop returns the scroll top value');
 
                 document.documentElement.scrollTop = 500;
-                shouldBe("document.documentElement.scrollTop","500");
+                shouldBe("document.documentElement.scrollTop","0");
                 isSuccessfullyParsed();
             }
         </script>

Modified: trunk/LayoutTests/fast/dom/Element/scrollLeft-expected.txt (165184 => 165185)


--- trunk/LayoutTests/fast/dom/Element/scrollLeft-expected.txt	2014-03-06 12:16:06 UTC (rev 165184)
+++ trunk/LayoutTests/fast/dom/Element/scrollLeft-expected.txt	2014-03-06 13:28:03 UTC (rev 165185)
@@ -5,7 +5,7 @@
 
 PASS window.pageXOffset is 500
 PASS document.body.scrollLeft is 500
-PASS document.documentElement.scrollLeft is 500
+PASS document.documentElement.scrollLeft is 0
 PASS successfullyParsed is true
 
 TEST COMPLETE

Modified: trunk/LayoutTests/fast/dom/Element/scrollLeft.html (165184 => 165185)


--- trunk/LayoutTests/fast/dom/Element/scrollLeft.html	2014-03-06 12:16:06 UTC (rev 165184)
+++ trunk/LayoutTests/fast/dom/Element/scrollLeft.html	2014-03-06 13:28:03 UTC (rev 165185)
@@ -16,7 +16,7 @@
                     window.scrollTo(500,0);
                     shouldBe("window.pageXOffset","500");
                     shouldBe("document.body.scrollLeft","500");
-                    shouldBe("document.documentElement.scrollLeft","500");
+                    shouldBe("document.documentElement.scrollLeft","0");
                     finishJSTest();
                 }, 0);
             }

Modified: trunk/LayoutTests/fast/dom/Element/scrollTop-expected.txt (165184 => 165185)


--- trunk/LayoutTests/fast/dom/Element/scrollTop-expected.txt	2014-03-06 12:16:06 UTC (rev 165184)
+++ trunk/LayoutTests/fast/dom/Element/scrollTop-expected.txt	2014-03-06 13:28:03 UTC (rev 165185)
@@ -5,7 +5,7 @@
 
 PASS window.pageYOffset is 500
 PASS document.body.scrollTop is 500
-PASS document.documentElement.scrollTop is 500
+PASS document.documentElement.scrollTop is 0
 PASS successfullyParsed is true
 
 TEST COMPLETE

Modified: trunk/LayoutTests/fast/dom/Element/scrollTop.html (165184 => 165185)


--- trunk/LayoutTests/fast/dom/Element/scrollTop.html	2014-03-06 12:16:06 UTC (rev 165184)
+++ trunk/LayoutTests/fast/dom/Element/scrollTop.html	2014-03-06 13:28:03 UTC (rev 165185)
@@ -16,7 +16,7 @@
                     window.scrollTo(0,500);
                     shouldBe("window.pageYOffset","500");
                     shouldBe("document.body.scrollTop","500");
-                    shouldBe("document.documentElement.scrollTop","500");
+                    shouldBe("document.documentElement.scrollTop","0");
                     finishJSTest();
                 }, 0);
             }

Modified: trunk/LayoutTests/fast/events/mouse-cursor.html (165184 => 165185)


--- trunk/LayoutTests/fast/events/mouse-cursor.html	2014-03-06 12:16:06 UTC (rev 165184)
+++ trunk/LayoutTests/fast/events/mouse-cursor.html	2014-03-06 13:28:03 UTC (rev 165185)
@@ -1,3 +1,4 @@
+<!DOCTYPE html>
 <html>
 <head>
 <script src=""

Modified: trunk/LayoutTests/fast/multicol/scrolling-overflow.html (165184 => 165185)


--- trunk/LayoutTests/fast/multicol/scrolling-overflow.html	2014-03-06 12:16:06 UTC (rev 165184)
+++ trunk/LayoutTests/fast/multicol/scrolling-overflow.html	2014-03-06 13:28:03 UTC (rev 165185)
@@ -14,9 +14,9 @@
     <script>
     function doTest()
     {
-        document.documentElement.offsetLeft;
-        document.documentElement.scrollLeft = 100;
-        document.documentElement.offsetLeft;
+        document.body.offsetLeft;
+        document.body.scrollLeft = 100;
+        document.body.offsetLeft;
     }
     </script>
   </head>

Modified: trunk/LayoutTests/http/tests/navigation/anchor-frames-expected.txt (165184 => 165185)


--- trunk/LayoutTests/http/tests/navigation/anchor-frames-expected.txt	2014-03-06 12:16:06 UTC (rev 165184)
+++ trunk/LayoutTests/http/tests/navigation/anchor-frames-expected.txt	2014-03-06 13:28:03 UTC (rev 165185)
@@ -8,7 +8,7 @@
 On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
 
 
-PASS document.body.offsetHeight > window.innerHeight is true
+PASS document.body.offsetHeight > document.documentElement.clientHeight is true
 PASS document.body.scrollTop > 0 is true
 PASS document.body.scrollTop + document.documentElement.clientHeight > 2000 is true
 PASS successfullyParsed is true

Modified: trunk/LayoutTests/http/tests/navigation/anchor-frames-gbk-expected.txt (165184 => 165185)


--- trunk/LayoutTests/http/tests/navigation/anchor-frames-gbk-expected.txt	2014-03-06 12:16:06 UTC (rev 165184)
+++ trunk/LayoutTests/http/tests/navigation/anchor-frames-gbk-expected.txt	2014-03-06 13:28:03 UTC (rev 165185)
@@ -8,7 +8,7 @@
 On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
 
 
-PASS document.body.offsetHeight > window.innerHeight is true
+PASS document.body.offsetHeight > document.documentElement.clientHeight is true
 PASS document.body.scrollTop > 0 is true
 PASS document.body.scrollTop + document.documentElement.clientHeight > 2000 is true
 PASS successfullyParsed is true

Modified: trunk/LayoutTests/http/tests/navigation/resources/frame-with-anchor-gbk.html (165184 => 165185)


--- trunk/LayoutTests/http/tests/navigation/resources/frame-with-anchor-gbk.html	2014-03-06 12:16:06 UTC (rev 165184)
+++ trunk/LayoutTests/http/tests/navigation/resources/frame-with-anchor-gbk.html	2014-03-06 13:28:03 UTC (rev 165185)
@@ -1,3 +1,4 @@
+<!DOCTYPE html>
 <html>
 <head>
   <meta http-equiv="Content-Type" content="text/html; charset=gbk"/>
@@ -11,7 +12,7 @@
       setTimeout(function() {
           // Make sure that the body is taller than the viewport (i.e. scrolling is
           // required).
-          shouldBeTrue('document.body.offsetHeight > window.innerHeight');
+          shouldBeTrue('document.body.offsetHeight > document.documentElement.clientHeight');
           
           // We should be scrolled at least a little bit
           shouldBeTrue('document.body.scrollTop > 0');

Modified: trunk/LayoutTests/http/tests/navigation/resources/frame-with-anchor-same-origin.html (165184 => 165185)


--- trunk/LayoutTests/http/tests/navigation/resources/frame-with-anchor-same-origin.html	2014-03-06 12:16:06 UTC (rev 165184)
+++ trunk/LayoutTests/http/tests/navigation/resources/frame-with-anchor-same-origin.html	2014-03-06 13:28:03 UTC (rev 165185)
@@ -1,3 +1,4 @@
+<!DOCTYPE html>
 <html>
 <head>
   <script src=""

Modified: trunk/LayoutTests/http/tests/navigation/resources/frame-with-anchor.html (165184 => 165185)


--- trunk/LayoutTests/http/tests/navigation/resources/frame-with-anchor.html	2014-03-06 12:16:06 UTC (rev 165184)
+++ trunk/LayoutTests/http/tests/navigation/resources/frame-with-anchor.html	2014-03-06 13:28:03 UTC (rev 165185)
@@ -1,3 +1,4 @@
+<!DOCTYPE html>
 <html>
 <head>
   <script src=""
@@ -10,7 +11,7 @@
       setTimeout(function() {
           // Make sure that the body is taller than the viewport (i.e. scrolling is
           // required).
-          shouldBeTrue('document.body.offsetHeight > window.innerHeight');
+          shouldBeTrue('document.body.offsetHeight > document.documentElement.clientHeight');
 
           // We should be scrolled at least a little bit
           shouldBeTrue('document.body.scrollTop > 0');

Modified: trunk/LayoutTests/platform/mac-wk2/tiled-drawing/resources/scroll-and-load-page.html (165184 => 165185)


--- trunk/LayoutTests/platform/mac-wk2/tiled-drawing/resources/scroll-and-load-page.html	2014-03-06 12:16:06 UTC (rev 165184)
+++ trunk/LayoutTests/platform/mac-wk2/tiled-drawing/resources/scroll-and-load-page.html	2014-03-06 13:28:03 UTC (rev 165185)
@@ -1,3 +1,4 @@
+<!DOCTYPE html>
 <html>
 <head>
     <style>

Modified: trunk/LayoutTests/platform/mac-wk2/tiled-drawing/tiled-drawing-scroll-position-page-cache-restoration.html (165184 => 165185)


--- trunk/LayoutTests/platform/mac-wk2/tiled-drawing/tiled-drawing-scroll-position-page-cache-restoration.html	2014-03-06 12:16:06 UTC (rev 165184)
+++ trunk/LayoutTests/platform/mac-wk2/tiled-drawing/tiled-drawing-scroll-position-page-cache-restoration.html	2014-03-06 13:28:03 UTC (rev 165185)
@@ -1,3 +1,4 @@
+<!DOCTYPE html>
 <html>
 <head>
     <script>

Modified: trunk/Source/WebCore/ChangeLog (165184 => 165185)


--- trunk/Source/WebCore/ChangeLog	2014-03-06 12:16:06 UTC (rev 165184)
+++ trunk/Source/WebCore/ChangeLog	2014-03-06 13:28:03 UTC (rev 165185)
@@ -1,3 +1,21 @@
+2014-03-06  Gurpreet Kaur  <[email protected]>
+
+        REGRESSION (r158254): Rubber-banding at Bing image search causes the toolbar to move up and away
+        https://bugs.webkit.org/show_bug.cgi?id=128873
+
+        Reviewed by Antonio Gomes.
+
+        This regression is caused by  http://trac.webkit.org/changeset/154614 
+        and http://trac.webkit.org/changeset/156605. So reverting the changes
+        to make it Web compatible as earlier.
+
+        * dom/Element.cpp:
+        (WebCore::Element::scrollLeft):
+        (WebCore::Element::scrollTop):
+        (WebCore::Element::setScrollLeft):
+        (WebCore::Element::setScrollTop):
+        Reverting changes as it caused regression.
+
 2014-03-06  Zan Dobersek  <[email protected]>
 
         Move Source/WebCore/html/canvas/ code to std::unique_ptr

Modified: trunk/Source/WebCore/dom/Element.cpp (165184 => 165185)


--- trunk/Source/WebCore/dom/Element.cpp	2014-03-06 12:16:06 UTC (rev 165184)
+++ trunk/Source/WebCore/dom/Element.cpp	2014-03-06 13:28:03 UTC (rev 165185)
@@ -784,18 +784,8 @@
 
 int Element::scrollLeft()
 {
-    if (document().documentElement() == this && document().inQuirksMode())
-        return 0;
-
     document().updateLayoutIgnorePendingStylesheets();
 
-    if (!document().hasLivingRenderTree())
-        return 0;
-    RenderView& renderView = *document().renderView();
-
-    if (document().documentElement() == this)
-        return adjustForAbsoluteZoom(renderView.frameView().scrollX(), renderView);
-
     if (RenderBox* rend = renderBox())
         return adjustForAbsoluteZoom(rend->scrollLeft(), *rend);
     return 0;
@@ -803,18 +793,8 @@
 
 int Element::scrollTop()
 {
-    if (document().documentElement() == this && document().inQuirksMode())
-        return 0;
-
     document().updateLayoutIgnorePendingStylesheets();
 
-    if (!document().hasLivingRenderTree())
-        return 0;
-    RenderView& renderView = *document().renderView();
-
-    if (document().documentElement() == this)
-        return adjustForAbsoluteZoom(renderView.frameView().scrollY(), renderView);
-
     if (RenderBox* rend = renderBox())
         return adjustForAbsoluteZoom(rend->scrollTop(), *rend);
     return 0;
@@ -822,42 +802,16 @@
 
 void Element::setScrollLeft(int newLeft)
 {
-    if (document().documentElement() == this && document().inQuirksMode())
-        return;
-
     document().updateLayoutIgnorePendingStylesheets();
 
-    if (!document().hasLivingRenderTree())
-        return;
-
-    if (document().documentElement() == this) {
-        RenderView& renderView = *document().renderView();
-        int zoom = renderView.style().effectiveZoom();
-        renderView.frameView().setScrollPosition(IntPoint(newLeft * zoom, renderView.frameView().scrollY() * zoom));
-        return;
-    }
-
     if (RenderBox* rend = renderBox())
         rend->setScrollLeft(static_cast<int>(newLeft * rend->style().effectiveZoom()));
 }
 
 void Element::setScrollTop(int newTop)
 {
-    if (document().documentElement() == this && document().inQuirksMode())
-        return;
-
     document().updateLayoutIgnorePendingStylesheets();
 
-    if (!document().hasLivingRenderTree())
-        return;
-
-    if (document().documentElement() == this) {
-        RenderView& renderView = *document().renderView();
-        int zoom = renderView.style().effectiveZoom();
-        renderView.frameView().setScrollPosition(IntPoint(renderView.frameView().scrollX() * zoom, newTop * zoom));
-        return;
-    }
-
     if (RenderBox* rend = renderBox())
         rend->setScrollTop(static_cast<int>(newTop * rend->style().effectiveZoom()));
 }
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to