Changeset 156605 in webkit
- Timestamp:
- Sep 28, 2013 9:10:34 AM (11 years ago)
- Location:
- trunk
- Files:
-
- 16 added
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r156595 r156605 1 2013-09-28 Gurpreet Kaur <k.gurpreet@samsung.com> 2 3 REGRESSION (r154614): Setting the document scroll position isn't symmetric; can successfully set document.body.scrollTop, but can only read from document.documentElement.scrollTop 4 https://bugs.webkit.org/show_bug.cgi?id=121876 5 6 Reviewed by Darin Adler. 7 8 * fast/dom/Element/body-scrollLeft-Quirks-expected.txt: Added. 9 * fast/dom/Element/body-scrollLeft-Quirks.html: Added. 10 * fast/dom/Element/body-scrollLeft-expected.txt: Added. 11 * fast/dom/Element/body-scrollLeft.html: Added. 12 * fast/dom/Element/body-scrollTop-Quirks-expected.txt: Added. 13 * fast/dom/Element/body-scrollTop-Quirks.html: Added. 14 * fast/dom/Element/body-scrollTop-expected.txt: Added. 15 * fast/dom/Element/body-scrollTop.html: Added. 16 * fast/dom/Element/documentElement-scrollLeft-Quirks-expected.txt: Added. 17 * fast/dom/Element/documentElement-scrollLeft-Quirks.html: Added. 18 * fast/dom/Element/documentElement-scrollLeft-expected.txt: Added. 19 * fast/dom/Element/documentElement-scrollLeft.html: Added. 20 * fast/dom/Element/documentElement-scrollTop-Quirks-expected.txt: Added. 21 * fast/dom/Element/documentElement-scrollTop-Quirks.html: Added. 22 * fast/dom/Element/documentElement-scrollTop-expected.txt: Added. 23 * fast/dom/Element/documentElement-scrollTop.html: Added. 24 Added test cases for verifying that Non-Quirks mode should set 25 scrolltop/scrollleft through document.documentElement.scrollTop/ 26 document.documentElement.scrollLeft and Quirks mode should set/get 27 scrolltop/scrollleft through document.body.scrollTop/document.body.scrollLeft. 28 29 * fast/multicol/scrolling-overflow.html: 30 Rebaselining existing tests as per the new behavior. To set 31 document.body.scrollLeft document to be in Quirks mode. 32 1 33 2013-09-27 Bem Jones-Bey <bjonesbe@adobe.com> 2 34 -
trunk/LayoutTests/fast/multicol/scrolling-overflow.html
r80883 r156605 12 12 function doTest() 13 13 { 14 document. body.offsetLeft;15 document. body.scrollLeft = 100;16 document. body.offsetLeft;14 document.documentElement.offsetLeft; 15 document.documentElement.scrollLeft = 100; 16 document.documentElement.offsetLeft; 17 17 } 18 18 </script> -
trunk/Source/WebCore/ChangeLog
r156602 r156605 1 2013-09-28 Gurpreet Kaur <k.gurpreet@samsung.com> 2 3 REGRESSION (r154614): Setting the document scroll position isn't symmetric; can successfully set document.body.scrollTop, but can only read from document.documentElement.scrollTop 4 https://bugs.webkit.org/show_bug.cgi?id=121876 5 6 Reviewed by Darin Adler. 7 8 Non-Quirks mode should set/get scrolltop/scrollleft through 9 document.documentElement.scrollTop/document.documentElement.scrollLeft 10 Quirks mode should set/get scrolltop/scrollleft through 11 document.body.scrollTop/document.body.scrollLeft. 12 13 Tests: fast/dom/Element/body-scrollLeft-Quirks.html 14 fast/dom/Element/body-scrollLeft.html 15 fast/dom/Element/body-scrollTop-Quirks.html 16 fast/dom/Element/body-scrollTop.html 17 fast/dom/Element/documentElement-scrollLeft-Quirks.html 18 fast/dom/Element/documentElement-scrollLeft.html 19 fast/dom/Element/documentElement-scrollTop-Quirks.html 20 fast/dom/Element/documentElement-scrollTop.html 21 22 * dom/Element.cpp: 23 (WebCore::Element::setScrollLeft): 24 (WebCore::Element::setScrollTop): 25 * html/HTMLBodyElement.cpp: 26 (WebCore::HTMLBodyElement::setScrollLeft): 27 (WebCore::HTMLBodyElement::setScrollTop): 28 Need to set the scrollTop and scrollLeft after checking if document 29 is in quirks or non-quirks mode. Incase it is body.scrollLeft/ 30 body.scrollTop set only if document is in quirks mode. If document is 31 non-quirks mode set documentElement.scrollLeft/documentElement.scrollTop. 32 1 33 2013-09-28 Andreas Kling <akling@apple.com> 2 34 -
trunk/Source/WebCore/dom/Element.cpp
r156550 r156605 804 804 void Element::setScrollLeft(int newLeft) 805 805 { 806 if (document().documentElement() == this && document().inQuirksMode()) 807 return; 808 806 809 document().updateLayoutIgnorePendingStylesheets(); 810 811 if (!document().hasLivingRenderTree()) 812 return; 813 814 if (document().documentElement() == this) { 815 RenderView& renderView = *document().renderView(); 816 int zoom = renderView.style()->effectiveZoom(); 817 renderView.frameView().setScrollPosition(IntPoint(newLeft * zoom, renderView.frameView().scrollY() * zoom)); 818 return; 819 } 820 807 821 if (RenderBox* rend = renderBox()) 808 822 rend->setScrollLeft(static_cast<int>(newLeft * rend->style()->effectiveZoom())); … … 811 825 void Element::setScrollTop(int newTop) 812 826 { 827 if (document().documentElement() == this && document().inQuirksMode()) 828 return; 829 813 830 document().updateLayoutIgnorePendingStylesheets(); 831 832 if (!document().hasLivingRenderTree()) 833 return; 834 835 if (document().documentElement() == this) { 836 RenderView& renderView = *document().renderView(); 837 int zoom = renderView.style()->effectiveZoom(); 838 renderView.frameView().setScrollPosition(IntPoint(renderView.frameView().scrollX() * zoom, newTop * zoom)); 839 return; 840 } 841 814 842 if (RenderBox* rend = renderBox()) 815 843 rend->setScrollTop(static_cast<int>(newTop * rend->style()->effectiveZoom())); -
trunk/Source/WebCore/html/HTMLBodyElement.cpp
r156550 r156605 266 266 void HTMLBodyElement::setScrollLeft(int scrollLeft) 267 267 { 268 if (!document().inQuirksMode()) 269 return; 270 268 271 document().updateLayoutIgnorePendingStylesheets(); 269 272 Frame* frame = document().frame(); … … 292 295 void HTMLBodyElement::setScrollTop(int scrollTop) 293 296 { 297 if (!document().inQuirksMode()) 298 return; 299 294 300 document().updateLayoutIgnorePendingStylesheets(); 295 301 Frame* frame = document().frame();
Note: See TracChangeset
for help on using the changeset viewer.