Changeset 158254 in webkit


Ignore:
Timestamp:
Oct 29, 2013 10:39:37 PM (10 years ago)
Author:
rniwa@webkit.org
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:
Location:
trunk
Files:
11 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r158248 r158254  
     12013-10-29  Ryosuke Niwa  <rniwa@webkit.org>
     2
     3        REGRESSION(r154614): Opening and closing a picture on Facebook resets scroll position
     4        https://bugs.webkit.org/show_bug.cgi?id=122882
     5
     6        Reviewed by Anders Carlsson.
     7
     8        * fast/dom/Element/body-scrollLeft-expected.txt:
     9        * fast/dom/Element/body-scrollLeft.html:
     10        * fast/dom/Element/body-scrollTop-expected.txt:
     11        * fast/dom/Element/body-scrollTop.html:
     12        * fast/dom/Element/scrollLeft-expected.txt:
     13        * fast/dom/Element/scrollLeft.html:
     14        * fast/dom/Element/scrollTop-expected.txt:
     15        * fast/dom/Element/scrollTop.html:
     16
    1172013-10-29  Ryosuke Niwa  <rniwa@webkit.org>
    218
  • trunk/LayoutTests/fast/dom/Element/body-scrollLeft-expected.txt

    r156605 r158254  
    77
    88TEST COMPLETE
    9 PASS document.body.scrollLeft is 0
     9PASS document.body.scrollLeft is 500
    1010PASS successfullyParsed is true
    1111
  • trunk/LayoutTests/fast/dom/Element/body-scrollLeft.html

    r156605 r158254  
    1414
    1515                document.body.scrollLeft = 500;
    16                 shouldBe("document.body.scrollLeft","0");
     16                shouldBe("document.body.scrollLeft","500");
    1717                isSuccessfullyParsed();
    1818                        }
  • trunk/LayoutTests/fast/dom/Element/body-scrollTop-expected.txt

    r156605 r158254  
    77
    88TEST COMPLETE
    9 PASS document.body.scrollTop is 0
     9PASS document.body.scrollTop is 500
    1010PASS successfullyParsed is true
    1111
  • trunk/LayoutTests/fast/dom/Element/body-scrollTop.html

    r156605 r158254  
    1414
    1515                document.body.scrollTop = 500;
    16                 shouldBe("document.body.scrollTop","0");
     16                shouldBe("document.body.scrollTop","500");
    1717                                isSuccessfullyParsed();
    1818            }
  • trunk/LayoutTests/fast/dom/Element/scrollLeft-expected.txt

    r154614 r158254  
    55
    66PASS window.pageXOffset is 500
    7 PASS document.body.scrollLeft is 0
     7PASS document.body.scrollLeft is 500
    88PASS document.documentElement.scrollLeft is 500
    99PASS successfullyParsed is true
  • trunk/LayoutTests/fast/dom/Element/scrollLeft.html

    r155265 r158254  
    1616                    window.scrollTo(500,0);
    1717                    shouldBe("window.pageXOffset","500");
    18                     shouldBe("document.body.scrollLeft","0");
     18                    shouldBe("document.body.scrollLeft","500");
    1919                    shouldBe("document.documentElement.scrollLeft","500");
    2020                    finishJSTest();
  • trunk/LayoutTests/fast/dom/Element/scrollTop-expected.txt

    r154614 r158254  
    55
    66PASS window.pageYOffset is 500
    7 PASS document.body.scrollTop is 0
     7PASS document.body.scrollTop is 500
    88PASS document.documentElement.scrollTop is 500
    99PASS successfullyParsed is true
  • trunk/LayoutTests/fast/dom/Element/scrollTop.html

    r155265 r158254  
    1616                    window.scrollTo(0,500);
    1717                    shouldBe("window.pageYOffset","500");
    18                     shouldBe("document.body.scrollTop","0");
     18                    shouldBe("document.body.scrollTop","500");
    1919                    shouldBe("document.documentElement.scrollTop","500");
    2020                    finishJSTest();
  • trunk/Source/WebCore/ChangeLog

    r158253 r158254  
     12013-10-29  Ryosuke Niwa  <rniwa@webkit.org>
     2
     3        REGRESSION(r154614): Opening and closing a picture on Facebook resets scroll position
     4        https://bugs.webkit.org/show_bug.cgi?id=122882
     5
     6        Reviewed by Anders Carlsson.
     7
     8        scrollLeft and scrollTop have to continue to function in the strict mode for the Web compatiblity.
     9        In particular, www.facebook.com and build.webkit.org depend on this behavior as of October 29th, 2013.
     10
     11        * html/HTMLBodyElement.cpp:
     12        (WebCore::HTMLBodyElement::scrollLeft):
     13        (WebCore::HTMLBodyElement::setScrollLeft):
     14        (WebCore::HTMLBodyElement::scrollTop):
     15        (WebCore::HTMLBodyElement::setScrollTop):
     16
    1172013-10-29  Brady Eidson  <beidson@apple.com>
    218
  • trunk/Source/WebCore/html/HTMLBodyElement.cpp

    r157375 r158254  
    252252int HTMLBodyElement::scrollLeft()
    253253{
    254     if (!document().inQuirksMode())
    255         return 0;
    256254    document().updateLayoutIgnorePendingStylesheets();
    257255    Frame* frame = document().frame();
     
    266264void HTMLBodyElement::setScrollLeft(int scrollLeft)
    267265{
    268     if (!document().inQuirksMode())
    269         return;
    270 
    271266    document().updateLayoutIgnorePendingStylesheets();
    272267    Frame* frame = document().frame();
     
    281276int HTMLBodyElement::scrollTop()
    282277{
    283     if (!document().inQuirksMode())
    284         return 0;
    285278    document().updateLayoutIgnorePendingStylesheets();
    286279    Frame* frame = document().frame();
     
    295288void HTMLBodyElement::setScrollTop(int scrollTop)
    296289{
    297     if (!document().inQuirksMode())
    298         return;
    299 
    300290    document().updateLayoutIgnorePendingStylesheets();
    301291    Frame* frame = document().frame();
Note: See TracChangeset for help on using the changeset viewer.