offsetTop/offsetLeft return the wrong values for horizontal-bt/vertical-rl writing...
authorojan@chromium.org <ojan@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 27 Sep 2011 20:55:00 +0000 (20:55 +0000)
committerojan@chromium.org <ojan@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 27 Sep 2011 20:55:00 +0000 (20:55 +0000)
commit011fe7949dc30bbf23e4f57bdf304a2756ebda49
tree2f93dfaf18f001c99f58b29a971611a8090b03d7
parent733832e0e0ed2fcec462ec4152da2c5ac4fcc0c6
offsetTop/offsetLeft return the wrong values for horizontal-bt/vertical-rl writing modes
https://bugs.webkit.org/show_bug.cgi?id=68304

Reviewed by David Hyatt.

Source/WebCore:

When grabbing the x/y values of the RenderBox, we need to take writing mode
flipping into account.

Test: fast/dom/offset-position-writing-modes.html

* rendering/RenderBox.cpp:
(WebCore::RenderBox::locationIncludingFlipping):
* rendering/RenderBox.h:
(WebCore::RenderBox::yFlippedForWritingMode):
(WebCore::RenderBox::xFlippedForWritingMode):
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::offsetLeft):
(WebCore::RenderBoxModelObject::offsetTop):

LayoutTests:

* css3/flexbox/writing-modes-expected.txt:
* css3/flexbox/writing-modes.html:
* fast/dom/offset-position-writing-modes-expected.txt: Added.
* fast/dom/offset-position-writing-modes.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96152 268f45cc-cd09-0410-ab3c-d52691b4dbfc
LayoutTests/ChangeLog
LayoutTests/css3/flexbox/writing-modes-expected.txt
LayoutTests/css3/flexbox/writing-modes.html
LayoutTests/fast/dom/offset-position-writing-modes-expected.txt [new file with mode: 0644]
LayoutTests/fast/dom/offset-position-writing-modes.html [new file with mode: 0644]
Source/WebCore/ChangeLog
Source/WebCore/rendering/RenderBox.cpp
Source/WebCore/rendering/RenderBox.h
Source/WebCore/rendering/RenderBoxModelObject.cpp
Source/WebCore/rendering/RenderLayer.cpp