Bug 68304

Summary: offsetTop/offsetLeft return the wrong values for horizontal-bt/vertical-rl writing modes
Product: WebKit Reporter: Ojan Vafai <ojan>
Component: Layout and RenderingAssignee: Ojan Vafai <ojan>
Status: RESOLVED FIXED    
Severity: Normal CC: ap, hyatt, shinyak, simon.fraser, tony
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch hyatt: review-

Ojan Vafai
Reported 2011-09-16 19:42:13 PDT
http://tinyurl.com/3h8ejbj <div style="position:relative"> <div style="-webkit-writing-mode:vertical-rl;background-color:green;width:400px;height:100px;"> <div id=foo style="background-color:yellow">foo</div> </div> </div> <div style="position:relative"> <div style="-webkit-writing-mode:horizontal-bt;background-color:red;width:400px;height:100px;"> <div id=bar style="background-color:orange">bar</div> </div> </div> I believe foo should have offsetLeft of something like 380, instead of 0 and bar should have offsetTop of something like 80 instead of 0.
Attachments
Patch (10.61 KB, patch)
2011-09-27 13:12 PDT, Ojan Vafai
hyatt: review-
Ojan Vafai
Comment 1 2011-09-27 13:12:12 PDT
Dave Hyatt
Comment 2 2011-09-27 13:19:46 PDT
Comment on attachment 108888 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=108888&action=review r=me, but you can rename xFlippedForWritingMode and yFlippedForWritingMode to left() and top(). If you want to go further we could rename locationIncludingFlipping() to topLeftLocation() and locationOffsetIncludingFlipping() to topLeftLocationOffset(). I'd add copious warnings in the header too that these represent your location relative to your container as a physical offset, and that this is rarely what you want in layout() methods. > Source/WebCore/rendering/RenderBox.h:53 > + LayoutUnit yFlippedForWritingMode() const { return locationIncludingFlipping().y(); } > + LayoutUnit xFlippedForWritingMode() const { return locationIncludingFlipping().x(); } Rename these to left() and top().
Ojan Vafai
Comment 3 2011-09-27 13:54:03 PDT
Note You need to log in before you can comment on or make changes to this bug.