Bug 121224

Summary: Support having scrollbars on the left in right-to-left layout
Product: WebKit Reporter: Allan Sandfeld Jensen <allan.jensen>
Component: Layout and RenderingAssignee: Allan Sandfeld Jensen <allan.jensen>
Status: NEW    
Severity: Normal CC: abecsi, bdakin, hausmann, hyatt, jonlee, mmaxfield, rniwa, sam, simon.fraser, tonikitoo
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch
none
Patch
none
Patch
none
Patch
none
Patch
none
Patch tonikitoo: review-

Allan Sandfeld Jensen
Reported 2013-09-12 04:33:39 PDT
Qt application places the scrollbars to the left when using right-to-left layout. This reverse layout is not currently supported by WebCore though.
Attachments
Patch (10.23 KB, patch)
2013-09-12 05:07 PDT, Allan Sandfeld Jensen
no flags
Patch (12.94 KB, patch)
2013-09-13 05:15 PDT, Allan Sandfeld Jensen
no flags
Patch (12.20 KB, patch)
2013-09-13 05:16 PDT, Allan Sandfeld Jensen
no flags
Patch (18.23 KB, patch)
2013-09-25 09:59 PDT, Allan Sandfeld Jensen
no flags
Patch (18.92 KB, patch)
2013-09-26 03:43 PDT, Allan Sandfeld Jensen
no flags
Patch (20.51 KB, patch)
2013-09-26 06:27 PDT, Allan Sandfeld Jensen
tonikitoo: review-
Allan Sandfeld Jensen
Comment 1 2013-09-12 04:58:25 PDT
Allan Sandfeld Jensen
Comment 2 2013-09-12 05:07:13 PDT
Simon Hausmann
Comment 3 2013-09-12 05:18:01 PDT
Comment on attachment 211420 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=211420&action=review I'm not really familiar with the ScrollView Qt, would be great if somebody else could take a look at that part. One comment inside though :) > Source/WebCore/page/Frame.cpp:739 > +#endif Perhaps this could be done on the caller side (FrameLoaderClientQt), to reduce the amount of #ifdefs here?
Antonio Gomes
Comment 4 2013-09-12 07:53:39 PDT
Comment on attachment 211420 [details] Patch [Qt] is misleading in the title.
Antonio Gomes
Comment 5 2013-09-12 12:26:34 PDT
How does this code play together with code under RTL_SCROLLBAR ?
Simon Fraser (smfr)
Comment 6 2013-09-12 12:55:17 PDT
Comment on attachment 211420 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=211420&action=review > Source/WebCore/platform/ScrollView.h:141 > + bool reverseLayout() const; > + void setReverseLayout(bool); I think we need a better term than "reverseLayout", for several reasons: 1. We use layout() as a verb with a specific meaning 2. Unclear what "reverse" means. Does it put the horizontal scrollbar at the top? Maybe scrollbarOnLeft()?
Allan Sandfeld Jensen
Comment 7 2013-09-13 04:39:13 PDT
(In reply to comment #5) > How does this code play together with code under RTL_SCROLLBAR ? This only sets the direction on scrollview scrollbars. It appears RTL_SCROLLBAR does the same for CSS scrollbars based on CSS writing direction.
Allan Sandfeld Jensen
Comment 8 2013-09-13 05:15:14 PDT
Allan Sandfeld Jensen
Comment 9 2013-09-13 05:16:14 PDT
Created attachment 211541 [details] Patch Remove unrelated change
Sam Weinig
Comment 10 2013-09-13 13:52:49 PDT
No tests?
Antonio Gomes
Comment 11 2013-09-13 13:56:22 PDT
Comment on attachment 211541 [details] Patch Is that testable, Allan?
Allan Sandfeld Jensen
Comment 12 2013-09-25 09:11:33 PDT
(In reply to comment #11) > (From update of attachment 211541 [details]) > Is that testable, Allan? Not as it is. It would need to be a setting or we would need another interface to force it before we can test it in a layout test.
Allan Sandfeld Jensen
Comment 13 2013-09-25 09:59:40 PDT
Created attachment 212593 [details] Patch Now with an attempted pixel test
Build Bot
Comment 14 2013-09-25 10:27:12 PDT
Build Bot
Comment 15 2013-09-25 10:28:17 PDT
Build Bot
Comment 16 2013-09-25 13:47:55 PDT
Allan Sandfeld Jensen
Comment 17 2013-09-26 03:43:32 PDT
Build Bot
Comment 18 2013-09-26 05:32:17 PDT
Allan Sandfeld Jensen
Comment 19 2013-09-26 06:27:47 PDT
Created attachment 212700 [details] Patch Export symbol to windows too
Ryosuke Niwa
Comment 20 2013-10-07 14:51:28 PDT
(In reply to comment #0) > Qt application places the scrollbars to the left when using right-to-left layout. This reverse layout is not currently supported by WebCore though. It is supported in the context of RTL text. See bug 85856 for example.
Allan Sandfeld Jensen
Comment 21 2013-10-07 15:17:33 PDT
(In reply to comment #20) > (In reply to comment #0) > > Qt application places the scrollbars to the left when using right-to-left layout. This reverse layout is not currently supported by WebCore though. > > It is supported in the context of RTL text. See bug 85856 for example. That bug has been closed as WONTFIX. The only part landed (as far as I can tell), is the support for placing scrollbars on left on CSS overflow. But css overflow is handled by RenderLayer and not by ScrollView. Besides that, this bug is based on placing the scrollbar based on the direction of the parent container and not based on the container itself. I can see arguments against this mechanism, but currently we have neither support scrollbar placement for internal text-direction or external text-direction in ScrollView.
Antonio Gomes
Comment 22 2014-01-28 14:10:07 PST
Comment on attachment 212700 [details] Patch r- . Qt has been removed. This can possibly be an Application settings, as per the chrome client hook, but it should likely obey what container renderer style says too.
Note You need to log in before you can comment on or make changes to this bug.