mirror of
https://github.com/servo/servo.git
synced 2025-09-30 08:39:16 +01:00
Layout: Implement CSS Grid using taffy
(#32619)
* Add layout.grid.enabled pref Signed-off-by: Nico Burns <nico@nicoburns.com> * Add taffy dependency Signed-off-by: Nico Burns <nico@nicoburns.com> * Import taffy <-> stylo conversion code from taffy_stylo crate Signed-off-by: Nico Burns <nico@nicoburns.com> * Add `Grid` variant to DisplayInside Signed-off-by: Nico Burns <nico@nicoburns.com> * Implement CSS Grid using Taffy Signed-off-by: Nico Burns <nico@nicoburns.com> Import full stylo_taffy crate Signed-off-by: Nico Burns <nico@nicoburns.com> Squashed PR feedback changes Deduplicate is_document_only_whitespace Signed-off-by: Nico Burns <nico@nicoburns.com> Import taffy::AvailableSpace Signed-off-by: Nico Burns <nico@nicoburns.com> Rename FlexContext to TaffyContainerContext Signed-off-by: Nico Burns <nico@nicoburns.com> Eliminate references to flexbox in taffy/layout module Signed-off-by: Nico Burns <nico@nicoburns.com> Use constructors for geom types Signed-off-by: Nico Burns <nico@nicoburns.com> Remove comment about abspos elements splitting contiguous text runs Signed-off-by: Nico Burns <nico@nicoburns.com> Remove reference to flexbox in taffy/construct Signed-off-by: Nico Burns <nico@nicoburns.com> Deduplicate construction of flexbox/grid containers Signed-off-by: Nico Burns <nico@nicoburns.com> Make anonymous text runs InFlow Signed-off-by: Nico Burns <nico@nicoburns.com> Remove commented code Signed-off-by: Nico Burns <nico@nicoburns.com> Update comments Signed-off-by: Nico Burns <nico@nicoburns.com> Inline/vendor the stylo/taffy interop code Signed-off-by: Nico Burns <nico@nicoburns.com> * Update test expectations Signed-off-by: Nico Burns <nico@nicoburns.com> * Fix nits from PR review Signed-off-by: Nico Burns <nico@nicoburns.com> --------- Signed-off-by: Nico Burns <nico@nicoburns.com>
This commit is contained in:
parent
339062c890
commit
6cbd89dbb0
508 changed files with 2057 additions and 10408 deletions
|
@ -1,7 +1,4 @@
|
|||
[grid-columns-rows-get-set-multiple.html]
|
||||
[Test getting grid-template-columns and grid-template-rows set through CSS for element 'gridWithFixedElement' : grid-template-columns = '7px 11px', grid-template-rows = '17px 2px']
|
||||
expected: FAIL
|
||||
|
||||
[Test getting grid-template-columns and grid-template-rows set through CSS for element 'gridWithPercentElement' : grid-template-columns = '400px 800px', grid-template-rows = '150px 450px']
|
||||
expected: FAIL
|
||||
|
||||
|
@ -11,15 +8,9 @@
|
|||
[Test getting grid-template-columns and grid-template-rows set through CSS for element 'gridWithAutoElement' : grid-template-columns = '0px 17px', grid-template-rows = '0px 3px']
|
||||
expected: FAIL
|
||||
|
||||
[Test getting grid-template-columns and grid-template-rows set through CSS for element 'gridWithEMElement' : grid-template-columns = '100px 120px', grid-template-rows = '150px 170px']
|
||||
expected: FAIL
|
||||
|
||||
[Test getting grid-template-columns and grid-template-rows set through CSS for element 'gridWithThreeItems' : grid-template-columns = '15px 0px 100px', grid-template-rows = '120px 18px 0px']
|
||||
expected: FAIL
|
||||
|
||||
[Test getting grid-template-columns and grid-template-rows set through CSS for element 'gridWithFitContentAndFitAvailable' : grid-template-columns = 'none', grid-template-rows = 'none']
|
||||
expected: FAIL
|
||||
|
||||
[Test getting grid-template-columns and grid-template-rows set through CSS for element 'gridWithMinMaxContent' : grid-template-columns = '0px 0px', grid-template-rows = '0px 0px']
|
||||
expected: FAIL
|
||||
|
||||
|
@ -38,9 +29,6 @@
|
|||
[Test getting grid-template-columns and grid-template-rows set through CSS for element 'gridWithFractionMinMax' : grid-template-columns = '45px 755px', grid-template-rows = '586px 14px']
|
||||
expected: FAIL
|
||||
|
||||
[Test getting grid-template-columns and grid-template-rows set through CSS for element 'gridWithCalcCalc' : grid-template-columns = '200px 100px', grid-template-rows = '150px 75px']
|
||||
expected: FAIL
|
||||
|
||||
[Test getting grid-template-columns and grid-template-rows set through CSS for element 'gridWithCalcAndFixed' : grid-template-columns = '400px 80px', grid-template-rows = '88px 150px']
|
||||
expected: FAIL
|
||||
|
||||
|
@ -53,9 +41,6 @@
|
|||
[Test getting grid-template-columns and grid-template-rows set through CSS for element 'gridWithAutoInsideMinMax' : grid-template-columns = '0px 30px', grid-template-rows = '132px 60px']
|
||||
expected: FAIL
|
||||
|
||||
[Test getting and setting grid-template-rows and grid-template-columns through JS: grid-template-columns = '18px 22px', element.style.gridTemplateColumns = '18px 22px', grid-template-rows = '66px 70px', element.style.gridTemplateRows = '66px 70px']
|
||||
expected: FAIL
|
||||
|
||||
[Test getting and setting grid-template-rows and grid-template-columns through JS: grid-template-columns = '440px 640px', element.style.gridTemplateColumns = '55% 80%', grid-template-rows = '240px 378px', element.style.gridTemplateRows = '40% 63%']
|
||||
expected: FAIL
|
||||
|
||||
|
@ -77,44 +62,8 @@
|
|||
[Test getting and setting grid-template-rows and grid-template-columns through JS: grid-template-columns = '345px 92px', element.style.gridTemplateColumns = 'calc(25px + 40%) minmax(min-content, calc(10% + 12px))', grid-template-rows = '100px 0px', element.style.gridTemplateRows = 'minmax(calc(75% - 350px), max-content) auto']
|
||||
expected: FAIL
|
||||
|
||||
[Test setting wrong/invalid values through CSS]
|
||||
expected: FAIL
|
||||
|
||||
[Test setting bad JS values: grid-template-columns = 'none auto', grid-template-rows = 'none auto']
|
||||
expected: FAIL
|
||||
|
||||
[Test setting bad JS values: grid-template-columns = 'none 16em', grid-template-rows = 'none 56%']
|
||||
expected: FAIL
|
||||
|
||||
[Test setting bad JS values: grid-template-columns = 'none none', grid-template-rows = 'none none']
|
||||
expected: FAIL
|
||||
|
||||
[Test setting bad JS values: grid-template-columns = 'auto none', grid-template-rows = 'auto none']
|
||||
expected: FAIL
|
||||
|
||||
[Test setting bad JS values: grid-template-columns = 'auto none 16em', grid-template-rows = 'auto 18em none']
|
||||
expected: FAIL
|
||||
|
||||
[Test setting bad JS values: grid-template-columns = '-webkit-fit-content -webkit-fit-content', grid-template-rows = '-webkit-fit-available -webkit-fit-available']
|
||||
expected: FAIL
|
||||
|
||||
[Test setting bad JS values: grid-template-columns = '-10px minmax(16px, 32px)', grid-template-rows = 'minmax(10%, 15%) -10vw']
|
||||
expected: FAIL
|
||||
|
||||
[Test setting bad JS values: grid-template-columns = '10px minmax(16px, -1vw)', grid-template-rows = 'minmax(-1%, 15%) 10vw']
|
||||
expected: FAIL
|
||||
|
||||
[Test setting bad JS values: grid-template-columns = '10px calc(16px 30px)', grid-template-rows = 'calc(25px + auto) 2em']
|
||||
expected: FAIL
|
||||
|
||||
[Test setting bad JS values: grid-template-columns = 'minmax(min-content, calc() 250px', grid-template-rows = 'calc(2em(']
|
||||
expected: FAIL
|
||||
|
||||
[Test setting grid-template-columns and grid-template-rows to 'inherit' through JS]
|
||||
expected: FAIL
|
||||
|
||||
[Test the default value]
|
||||
expected: FAIL
|
||||
|
||||
[Test setting grid-template-columns and grid-template-rows to 'initial' through JS]
|
||||
expected: FAIL
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue