mirror of
https://github.com/servo/servo.git
synced 2025-08-25 23:28:21 +01:00
layout: Right-to-left support for other layout modes (#33375)
This change removes the `effective_writing_mode` concept and tries to properly implement right-to-left layout support for all non-inline writing modes. In general, what needs to happen is that rectangles need to be converted to physical rectangles using the containing block. A right-to-left rectangle's inline start is on the right physical side of the containing block. Likewise a positive inline offset in right-to-left text is a negative physical one. The implementation here is pretty good for most layout modes, but floats are still a bit in process. Currently, floats are processed in the logical layout of the block container, but there still might be issues with float interaction with mixed RTL and LTR. While this does move us closer to supporting vertical writing modes, this is still unsupported. New failures: - Vertical writing mode not supported: - `/css/CSS2/floats/floats-placement-vertical-001b.xht` - `/css/CSS2/floats/floats-placement-vertical-001c.xht` - Absolutes inlines should avoid floats (#33323) - `/css/css-position/position-absolute-dynamic-static-position-floats-004.html` - No support for grid - `/css/css-align/self-alignment/self-align-safe-unsafe-grid-003.html` - `/css/css-position/static-position/inline-level-absolute-in-block-level-context-009.html` - `/css/css-position/static-position/inline-level-absolute-in-block-level-context-010.html` - Cannot reproduce these locally on any platform. Very mysterious: - `/css/css-tables/row-group-margin-border-padding.html` - `/css/css-tables/row-margin-border-padding.html` - Exposes bugs we have related to hanging whitespace in preserved whitespace inlines: - `/css/css-text/white-space/trailing-space-and-text-alignment-rtl-003.html` - `/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-023.html` Signed-off-by: Martin Robinson <mrobinson@igalia.com> Co-authored-by: Rakhi Sharma <atbrakhi@igalia.com>
This commit is contained in:
parent
bc8d8b62c3
commit
027fc53e2f
99 changed files with 946 additions and 867 deletions
|
@ -1,19 +1,10 @@
|
|||
[position-absolute-001.html]
|
||||
[.flexbox 38]
|
||||
expected: FAIL
|
||||
|
||||
[.flexbox 39]
|
||||
expected: FAIL
|
||||
|
||||
[.flexbox 34]
|
||||
expected: FAIL
|
||||
|
||||
[.flexbox 36]
|
||||
expected: FAIL
|
||||
|
||||
[.flexbox 37]
|
||||
expected: FAIL
|
||||
|
||||
[.flexbox 89]
|
||||
expected: FAIL
|
||||
|
||||
|
@ -35,18 +26,6 @@
|
|||
[.flexbox 86]
|
||||
expected: FAIL
|
||||
|
||||
[.flexbox 16]
|
||||
expected: FAIL
|
||||
|
||||
[.flexbox 17]
|
||||
expected: FAIL
|
||||
|
||||
[.flexbox 18]
|
||||
expected: FAIL
|
||||
|
||||
[.flexbox 19]
|
||||
expected: FAIL
|
||||
|
||||
[.flexbox 108]
|
||||
expected: FAIL
|
||||
|
||||
|
@ -59,9 +38,6 @@
|
|||
[.flexbox 96]
|
||||
expected: FAIL
|
||||
|
||||
[.flexbox 97]
|
||||
expected: FAIL
|
||||
|
||||
[.flexbox 95]
|
||||
expected: FAIL
|
||||
|
||||
|
@ -98,9 +74,6 @@
|
|||
[.flexbox 64]
|
||||
expected: FAIL
|
||||
|
||||
[.flexbox 69]
|
||||
expected: FAIL
|
||||
|
||||
[.flexbox 68]
|
||||
expected: FAIL
|
||||
|
||||
|
@ -140,9 +113,6 @@
|
|||
[.flexbox 115]
|
||||
expected: FAIL
|
||||
|
||||
[.flexbox 116]
|
||||
expected: FAIL
|
||||
|
||||
[.flexbox 117]
|
||||
expected: FAIL
|
||||
|
||||
|
@ -164,9 +134,6 @@
|
|||
[.flexbox 41]
|
||||
expected: FAIL
|
||||
|
||||
[.flexbox 40]
|
||||
expected: FAIL
|
||||
|
||||
[.flexbox 43]
|
||||
expected: FAIL
|
||||
|
||||
|
@ -194,12 +161,6 @@
|
|||
[.flexbox 104]
|
||||
expected: FAIL
|
||||
|
||||
[.flexbox 6]
|
||||
expected: FAIL
|
||||
|
||||
[.flexbox 9]
|
||||
expected: FAIL
|
||||
|
||||
[.flexbox 58]
|
||||
expected: FAIL
|
||||
|
||||
|
@ -224,32 +185,32 @@
|
|||
[.flexbox 55]
|
||||
expected: FAIL
|
||||
|
||||
[.flexbox 27]
|
||||
expected: FAIL
|
||||
|
||||
[.flexbox 24]
|
||||
expected: FAIL
|
||||
|
||||
[.flexbox 20]
|
||||
expected: FAIL
|
||||
|
||||
[.flexbox 120]
|
||||
expected: FAIL
|
||||
|
||||
[.flexbox 7]
|
||||
expected: FAIL
|
||||
|
||||
[.flexbox 26]
|
||||
expected: FAIL
|
||||
|
||||
[.flexbox 52]
|
||||
expected: FAIL
|
||||
|
||||
[.flexbox 71]
|
||||
expected: FAIL
|
||||
|
||||
[.flexbox 87]
|
||||
[.flexbox 29]
|
||||
expected: FAIL
|
||||
|
||||
[.flexbox 106]
|
||||
[.flexbox 47]
|
||||
expected: FAIL
|
||||
|
||||
[.flexbox 57]
|
||||
expected: FAIL
|
||||
|
||||
[.flexbox 66]
|
||||
expected: FAIL
|
||||
|
||||
[.flexbox 76]
|
||||
expected: FAIL
|
||||
|
||||
[.flexbox 109]
|
||||
expected: FAIL
|
||||
|
|
|
@ -2,9 +2,6 @@
|
|||
[.flexbox 5]
|
||||
expected: FAIL
|
||||
|
||||
[.flexbox 4]
|
||||
expected: FAIL
|
||||
|
||||
[.flexbox 8]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,7 +1,4 @@
|
|||
[position-absolute-003.html]
|
||||
[.rect 13]
|
||||
expected: FAIL
|
||||
|
||||
[.rect 15]
|
||||
expected: FAIL
|
||||
|
||||
|
@ -17,9 +14,6 @@
|
|||
[.rect 5]
|
||||
expected: FAIL
|
||||
|
||||
[.rect 14]
|
||||
expected: FAIL
|
||||
|
||||
[.rect 16]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -190,3 +190,15 @@
|
|||
|
||||
[.flexbox 95]
|
||||
expected: FAIL
|
||||
|
||||
[.flexbox 38]
|
||||
expected: FAIL
|
||||
|
||||
[.flexbox 46]
|
||||
expected: FAIL
|
||||
|
||||
[.flexbox 54]
|
||||
expected: FAIL
|
||||
|
||||
[.flexbox 62]
|
||||
expected: FAIL
|
||||
|
|
|
@ -862,3 +862,57 @@
|
|||
|
||||
[.flexbox 432]
|
||||
expected: FAIL
|
||||
|
||||
[.flexbox 152]
|
||||
expected: FAIL
|
||||
|
||||
[.flexbox 166]
|
||||
expected: FAIL
|
||||
|
||||
[.flexbox 168]
|
||||
expected: FAIL
|
||||
|
||||
[.flexbox 179]
|
||||
expected: FAIL
|
||||
|
||||
[.flexbox 187]
|
||||
expected: FAIL
|
||||
|
||||
[.flexbox 189]
|
||||
expected: FAIL
|
||||
|
||||
[.flexbox 200]
|
||||
expected: FAIL
|
||||
|
||||
[.flexbox 214]
|
||||
expected: FAIL
|
||||
|
||||
[.flexbox 216]
|
||||
expected: FAIL
|
||||
|
||||
[.flexbox 227]
|
||||
expected: FAIL
|
||||
|
||||
[.flexbox 235]
|
||||
expected: FAIL
|
||||
|
||||
[.flexbox 237]
|
||||
expected: FAIL
|
||||
|
||||
[.flexbox 247]
|
||||
expected: FAIL
|
||||
|
||||
[.flexbox 249]
|
||||
expected: FAIL
|
||||
|
||||
[.flexbox 263]
|
||||
expected: FAIL
|
||||
|
||||
[.flexbox 274]
|
||||
expected: FAIL
|
||||
|
||||
[.flexbox 276]
|
||||
expected: FAIL
|
||||
|
||||
[.flexbox 284]
|
||||
expected: FAIL
|
||||
|
|
|
@ -1,2 +0,0 @@
|
|||
[flex-direction-row-vertical.html]
|
||||
expected: FAIL
|
|
@ -8,15 +8,9 @@
|
|||
[.flexbox 4]
|
||||
expected: FAIL
|
||||
|
||||
[.flexbox 7]
|
||||
expected: FAIL
|
||||
|
||||
[.flexbox 2]
|
||||
expected: FAIL
|
||||
|
||||
[.flexbox 8]
|
||||
expected: FAIL
|
||||
|
||||
[.flexbox 1]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,2 +0,0 @@
|
|||
[flexbox-align-self-vert-rtl-001.xhtml]
|
||||
expected: FAIL
|
|
@ -1,2 +0,0 @@
|
|||
[flexbox-align-self-vert-rtl-002.xhtml]
|
||||
expected: FAIL
|
|
@ -1,2 +0,0 @@
|
|||
[flexbox-align-self-vert-rtl-003.xhtml]
|
||||
expected: FAIL
|
|
@ -1,2 +0,0 @@
|
|||
[flexbox-align-self-vert-rtl-004.xhtml]
|
||||
expected: FAIL
|
|
@ -1,2 +0,0 @@
|
|||
[flexbox-mbp-horiz-001-rtl-reverse.xhtml]
|
||||
expected: FAIL
|
|
@ -1,2 +0,0 @@
|
|||
[flexbox-mbp-horiz-001-rtl.xhtml]
|
||||
expected: FAIL
|
|
@ -1,24 +1,3 @@
|
|||
[flexbox_justifycontent-rtl-001.html]
|
||||
[.container > div 1]
|
||||
expected: FAIL
|
||||
|
||||
[.container > div 2]
|
||||
expected: FAIL
|
||||
|
||||
[.container > div 5]
|
||||
expected: FAIL
|
||||
|
||||
[.container > div 7]
|
||||
expected: FAIL
|
||||
|
||||
[.container > div 8]
|
||||
expected: FAIL
|
||||
|
||||
[.container > div 9]
|
||||
expected: FAIL
|
||||
|
||||
[.container > div 10]
|
||||
expected: FAIL
|
||||
|
||||
[.container > div 12]
|
||||
[.container > div 11]
|
||||
expected: FAIL
|
||||
|
|
|
@ -1,36 +0,0 @@
|
|||
[flexbox_justifycontent-rtl-002.html]
|
||||
[.container > div 1]
|
||||
expected: FAIL
|
||||
|
||||
[.container > div 2]
|
||||
expected: FAIL
|
||||
|
||||
[.container > div 3]
|
||||
expected: FAIL
|
||||
|
||||
[.container > div 4]
|
||||
expected: FAIL
|
||||
|
||||
[.container > div 5]
|
||||
expected: FAIL
|
||||
|
||||
[.container > div 6]
|
||||
expected: FAIL
|
||||
|
||||
[.container > div 7]
|
||||
expected: FAIL
|
||||
|
||||
[.container > div 8]
|
||||
expected: FAIL
|
||||
|
||||
[.container > div 9]
|
||||
expected: FAIL
|
||||
|
||||
[.container > div 10]
|
||||
expected: FAIL
|
||||
|
||||
[.container > div 11]
|
||||
expected: FAIL
|
||||
|
||||
[.container > div 12]
|
||||
expected: FAIL
|
|
@ -1,2 +0,0 @@
|
|||
[flexbox_rtl-direction.html]
|
||||
expected: FAIL
|
|
@ -1,2 +0,0 @@
|
|||
[gap-001-rtl.html]
|
||||
expected: FAIL
|
|
@ -1,2 +0,0 @@
|
|||
[gap-004-rtl.html]
|
||||
expected: FAIL
|
|
@ -1,2 +0,0 @@
|
|||
[gap-007-rtl.html]
|
||||
expected: FAIL
|
Loading…
Add table
Add a link
Reference in a new issue