Title: [158254] trunk
Revision
158254
Author
[email protected]
Date
2013-10-29 22:39:37 -0700 (Tue, 29 Oct 2013)

Log Message

REGRESSION(r154614): Opening and closing a picture on Facebook resets scroll position
https://bugs.webkit.org/show_bug.cgi?id=122882

Reviewed by Anders Carlsson.

Source/WebCore:

scrollLeft and scrollTop have to continue to function in the strict mode for the Web compatiblity.
In particular, www.facebook.com and build.webkit.org depend on this behavior as of October 29th, 2013.

* html/HTMLBodyElement.cpp:
(WebCore::HTMLBodyElement::scrollLeft):
(WebCore::HTMLBodyElement::setScrollLeft):
(WebCore::HTMLBodyElement::scrollTop):
(WebCore::HTMLBodyElement::setScrollTop):

LayoutTests:

* fast/dom/Element/body-scrollLeft-expected.txt:
* fast/dom/Element/body-scrollLeft.html:
* fast/dom/Element/body-scrollTop-expected.txt:
* fast/dom/Element/body-scrollTop.html:
* fast/dom/Element/scrollLeft-expected.txt:
* fast/dom/Element/scrollLeft.html:
* fast/dom/Element/scrollTop-expected.txt:
* fast/dom/Element/scrollTop.html:

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (158253 => 158254)


--- trunk/LayoutTests/ChangeLog	2013-10-30 05:33:04 UTC (rev 158253)
+++ trunk/LayoutTests/ChangeLog	2013-10-30 05:39:37 UTC (rev 158254)
@@ -1,5 +1,21 @@
 2013-10-29  Ryosuke Niwa  <[email protected]>
 
+        REGRESSION(r154614): Opening and closing a picture on Facebook resets scroll position
+        https://bugs.webkit.org/show_bug.cgi?id=122882
+
+        Reviewed by Anders Carlsson.
+
+        * fast/dom/Element/body-scrollLeft-expected.txt:
+        * fast/dom/Element/body-scrollLeft.html:
+        * fast/dom/Element/body-scrollTop-expected.txt:
+        * fast/dom/Element/body-scrollTop.html:
+        * fast/dom/Element/scrollLeft-expected.txt:
+        * fast/dom/Element/scrollLeft.html:
+        * fast/dom/Element/scrollTop-expected.txt:
+        * fast/dom/Element/scrollTop.html:
+
+2013-10-29  Ryosuke Niwa  <[email protected]>
+
         Update Mavericks test expectation, tracked by bugs 123489 and 123490.
 
         * platform/mac/TestExpectations:

Modified: trunk/LayoutTests/fast/dom/Element/body-scrollLeft-expected.txt (158253 => 158254)


--- trunk/LayoutTests/fast/dom/Element/body-scrollLeft-expected.txt	2013-10-30 05:33:04 UTC (rev 158253)
+++ trunk/LayoutTests/fast/dom/Element/body-scrollLeft-expected.txt	2013-10-30 05:39:37 UTC (rev 158254)
@@ -6,7 +6,7 @@
 PASS successfullyParsed is true
 
 TEST COMPLETE
-PASS document.body.scrollLeft is 0
+PASS document.body.scrollLeft is 500
 PASS successfullyParsed is true
 
 TEST COMPLETE

Modified: trunk/LayoutTests/fast/dom/Element/body-scrollLeft.html (158253 => 158254)


--- trunk/LayoutTests/fast/dom/Element/body-scrollLeft.html	2013-10-30 05:33:04 UTC (rev 158253)
+++ trunk/LayoutTests/fast/dom/Element/body-scrollLeft.html	2013-10-30 05:39:37 UTC (rev 158254)
@@ -13,7 +13,7 @@
                 description('Tests that for non-standard mode document.body.scrollLeft returns the scroll left value as 0');
 
                 document.body.scrollLeft = 500;
-                shouldBe("document.body.scrollLeft","0");
+                shouldBe("document.body.scrollLeft","500");
                 isSuccessfullyParsed();
 			}
         </script>

Modified: trunk/LayoutTests/fast/dom/Element/body-scrollTop-expected.txt (158253 => 158254)


--- trunk/LayoutTests/fast/dom/Element/body-scrollTop-expected.txt	2013-10-30 05:33:04 UTC (rev 158253)
+++ trunk/LayoutTests/fast/dom/Element/body-scrollTop-expected.txt	2013-10-30 05:39:37 UTC (rev 158254)
@@ -6,7 +6,7 @@
 PASS successfullyParsed is true
 
 TEST COMPLETE
-PASS document.body.scrollTop is 0
+PASS document.body.scrollTop is 500
 PASS successfullyParsed is true
 
 TEST COMPLETE

Modified: trunk/LayoutTests/fast/dom/Element/body-scrollTop.html (158253 => 158254)


--- trunk/LayoutTests/fast/dom/Element/body-scrollTop.html	2013-10-30 05:33:04 UTC (rev 158253)
+++ trunk/LayoutTests/fast/dom/Element/body-scrollTop.html	2013-10-30 05:39:37 UTC (rev 158254)
@@ -13,7 +13,7 @@
                 description('Tests that for non-standard mode document.body.scrollTop returns the scroll top value as 0');
 
                 document.body.scrollTop = 500;
-                shouldBe("document.body.scrollTop","0");
+                shouldBe("document.body.scrollTop","500");
 				isSuccessfullyParsed();
             }
         </script>

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


--- trunk/LayoutTests/fast/dom/Element/scrollLeft-expected.txt	2013-10-30 05:33:04 UTC (rev 158253)
+++ trunk/LayoutTests/fast/dom/Element/scrollLeft-expected.txt	2013-10-30 05:39:37 UTC (rev 158254)
@@ -4,7 +4,7 @@
 
 
 PASS window.pageXOffset is 500
-PASS document.body.scrollLeft is 0
+PASS document.body.scrollLeft is 500
 PASS document.documentElement.scrollLeft is 500
 PASS successfullyParsed is true
 

Modified: trunk/LayoutTests/fast/dom/Element/scrollLeft.html (158253 => 158254)


--- trunk/LayoutTests/fast/dom/Element/scrollLeft.html	2013-10-30 05:33:04 UTC (rev 158253)
+++ trunk/LayoutTests/fast/dom/Element/scrollLeft.html	2013-10-30 05:39:37 UTC (rev 158254)
@@ -15,7 +15,7 @@
                 setTimeout(function() {
                     window.scrollTo(500,0);
                     shouldBe("window.pageXOffset","500");
-                    shouldBe("document.body.scrollLeft","0");
+                    shouldBe("document.body.scrollLeft","500");
                     shouldBe("document.documentElement.scrollLeft","500");
                     finishJSTest();
                 }, 0);

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


--- trunk/LayoutTests/fast/dom/Element/scrollTop-expected.txt	2013-10-30 05:33:04 UTC (rev 158253)
+++ trunk/LayoutTests/fast/dom/Element/scrollTop-expected.txt	2013-10-30 05:39:37 UTC (rev 158254)
@@ -4,7 +4,7 @@
 
 
 PASS window.pageYOffset is 500
-PASS document.body.scrollTop is 0
+PASS document.body.scrollTop is 500
 PASS document.documentElement.scrollTop is 500
 PASS successfullyParsed is true
 

Modified: trunk/LayoutTests/fast/dom/Element/scrollTop.html (158253 => 158254)


--- trunk/LayoutTests/fast/dom/Element/scrollTop.html	2013-10-30 05:33:04 UTC (rev 158253)
+++ trunk/LayoutTests/fast/dom/Element/scrollTop.html	2013-10-30 05:39:37 UTC (rev 158254)
@@ -15,7 +15,7 @@
                 setTimeout(function() {
                     window.scrollTo(0,500);
                     shouldBe("window.pageYOffset","500");
-                    shouldBe("document.body.scrollTop","0");
+                    shouldBe("document.body.scrollTop","500");
                     shouldBe("document.documentElement.scrollTop","500");
                     finishJSTest();
                 }, 0);

Modified: trunk/Source/WebCore/ChangeLog (158253 => 158254)


--- trunk/Source/WebCore/ChangeLog	2013-10-30 05:33:04 UTC (rev 158253)
+++ trunk/Source/WebCore/ChangeLog	2013-10-30 05:39:37 UTC (rev 158254)
@@ -1,3 +1,19 @@
+2013-10-29  Ryosuke Niwa  <[email protected]>
+
+        REGRESSION(r154614): Opening and closing a picture on Facebook resets scroll position
+        https://bugs.webkit.org/show_bug.cgi?id=122882
+
+        Reviewed by Anders Carlsson.
+
+        scrollLeft and scrollTop have to continue to function in the strict mode for the Web compatiblity.
+        In particular, www.facebook.com and build.webkit.org depend on this behavior as of October 29th, 2013.
+
+        * html/HTMLBodyElement.cpp:
+        (WebCore::HTMLBodyElement::scrollLeft):
+        (WebCore::HTMLBodyElement::setScrollLeft):
+        (WebCore::HTMLBodyElement::scrollTop):
+        (WebCore::HTMLBodyElement::setScrollTop):
+
 2013-10-29  Brady Eidson  <[email protected]>
 
         IDBTransactionBackend should be cross platform

Modified: trunk/Source/WebCore/html/HTMLBodyElement.cpp (158253 => 158254)


--- trunk/Source/WebCore/html/HTMLBodyElement.cpp	2013-10-30 05:33:04 UTC (rev 158253)
+++ trunk/Source/WebCore/html/HTMLBodyElement.cpp	2013-10-30 05:39:37 UTC (rev 158254)
@@ -251,8 +251,6 @@
 
 int HTMLBodyElement::scrollLeft()
 {
-    if (!document().inQuirksMode())
-        return 0;
     document().updateLayoutIgnorePendingStylesheets();
     Frame* frame = document().frame();
     if (!frame)
@@ -265,9 +263,6 @@
 
 void HTMLBodyElement::setScrollLeft(int scrollLeft)
 {
-    if (!document().inQuirksMode())
-        return;
-
     document().updateLayoutIgnorePendingStylesheets();
     Frame* frame = document().frame();
     if (!frame)
@@ -280,8 +275,6 @@
 
 int HTMLBodyElement::scrollTop()
 {
-    if (!document().inQuirksMode())
-        return 0;
     document().updateLayoutIgnorePendingStylesheets();
     Frame* frame = document().frame();
     if (!frame)
@@ -294,9 +287,6 @@
 
 void HTMLBodyElement::setScrollTop(int scrollTop)
 {
-    if (!document().inQuirksMode())
-        return;
-
     document().updateLayoutIgnorePendingStylesheets();
     Frame* frame = document().frame();
     if (!frame)
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to