Split the SIDEWAYS bit in WritingMode
Categories
(Core :: Layout: Block and Inline, task, P3)
Tracking
()
Tracking | Status | |
---|---|---|
firefox71 | --- | fixed |
People
(Reporter: TYLin, Assigned: TYLin)
References
Details
Attachments
(1 file)
(deleted),
text/x-phabricator-request
|
Details |
This bug is spun from the review in D45912 of bug 1102175. Currently, writing-mode:sideways-*
and writing-mode:vertical-*; text-orientation:sideways;
both set the same SIDEWAYS
bit.
However, we need to distingish how the sideways bit is set on used value of WritingMode
on nsIFrame
. One use case is: when propagating <body>
's used writing-mode to <html>
, <html>
's used writing-mode is different from its computed writing-mode, and we need to set block formatting context bits to <html>
's children if their writing-mode are different from <html>
's, per writing-mode spec..
If a box has a different writing-mode value than its parent box ... If the box is a block container, then it establishes an independent block formatting context.
That is, we need to differentiate vertical-rl
from sideways-rl
, and vertical-lr
from sideways-lr
on WritingMode. Some layout code tried hard to decipher the bits on the latter case, but there's no way for the former case.
Assignee | ||
Comment 1•5 years ago
|
||
Currently, there's no way to tell whether the SIDEWAYS bits is set from
writing-mode:sideways-*
or writing-mode:vertical-*; text-orientation:sideways;
. To be able to tell them apart, split SIDEWAYS bits
into VERTICAL_SIDEWAYS and TEXT_SIDEWAYS.
Also, provide convenience methods related to sideways writing-mode, and replace
obscure checks in the codebase.
Note that we don't have the use cases to distinguish vertical-rl from
sideways-rl in layout, but for the completeness, IsSidewaysLR() is still
defined.
Updated•5 years ago
|
Updated•5 years ago
|
Comment 3•5 years ago
|
||
bugherder |
Description
•