Changeset 238457 in webkit
- Timestamp:
- Nov 23, 2018 3:04:23 AM (5 years ago)
- Location:
- trunk
- Files:
-
- 14 added
- 60 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r238451 r238457 1 2018-11-23 Javier Fernandez <jfernandez@igalia.com> 2 3 [css-grid] Implement Baseline Alignment for grid items 4 https://bugs.webkit.org/show_bug.cgi?id=145566 5 6 Reviewed by Manuel Rego Casasnovas. 7 8 Most of the baseline realated tests pass now; just a few still fail because of unrelated bugs. 9 10 * TestExpectations: Removed several entries, related to the baseline tests that are now passing. 11 * fast/css-grid-layout/grid-align-baseline-expected.txt: 12 * fast/css-grid-layout/grid-align-baseline-vertical-expected.txt: 13 * fast/css-grid-layout/grid-baseline-expected.html: 14 * fast/css-grid-layout/grid-baseline-margins-expected.html: 15 * fast/css-grid-layout/grid-baseline-margins.html: 16 * fast/css-grid-layout/grid-baseline-must-respect-grid-order-expected.txt: 17 * fast/css-grid-layout/grid-baseline-must-respect-grid-order.html: 18 * fast/css-grid-layout/grid-baseline.html: 19 * fast/css-grid-layout/grid-self-baseline-and-flex-tracks-with-indefinite-container-crash-expected.txt: Added. 20 * fast/css-grid-layout/grid-self-baseline-and-flex-tracks-with-indefinite-container-crash.html: Added. 21 * fast/css-grid-layout/grid-self-baseline-and-flexible-tracks-should-not-crash-expected.txt: Added. 22 * fast/css-grid-layout/grid-self-baseline-and-flexible-tracks-should-not-crash.html: Added. 23 * fast/css-grid-layout/grid-self-baseline-and-item-relayout-should-not-crash-expected.txt: Added. 24 * fast/css-grid-layout/grid-self-baseline-and-item-relayout-should-not-crash.html: Added. 25 * fast/css-grid-layout/grid-self-baseline-and-relative-sized-items-crash-expected.txt: Added. 26 * fast/css-grid-layout/grid-self-baseline-and-relative-sized-items-crash.html: Added. 27 * fast/css-grid-layout/grid-self-baseline-and-relative-sized-tracks-crash-expected.txt: Added. 28 * fast/css-grid-layout/grid-self-baseline-and-relative-sized-tracks-crash.html: Added. 29 * fast/css-grid-layout/grid-self-baseline-followed-by-item-style-change-should-not-crash-expected.txt: Added. 30 * fast/css-grid-layout/grid-self-baseline-followed-by-item-style-change-should-not-crash.html: Added. 31 * fast/css-grid-layout/grid-self-baseline-two-dimensional-expected.txt: 32 * fast/css-grid-layout/grid-self-baseline-two-dimensional.html: 33 1 34 2018-11-22 Dean Jackson <dino@apple.com> 2 35 -
trunk/LayoutTests/TestExpectations
r238438 r238457 581 581 webkit.org/b/191465 imported/w3c/web-platform-tests/css/css-grid/abspos/absolute-positioning-changing-containing-block-001.html [ ImageOnlyFailure ] 582 582 webkit.org/b/191465 imported/w3c/web-platform-tests/css/css-grid/abspos/grid-item-absolute-positioning-dynamic-001.html [ ImageOnlyFailure ] 583 webkit.org/b/145566 imported/w3c/web-platform-tests/css/css-grid/alignment/self-baseline/grid-self-baseline-changes-grid-area-size-001.html [ ImageOnlyFailure ]584 webkit.org/b/145566 imported/w3c/web-platform-tests/css/css-grid/alignment/self-baseline/grid-self-baseline-changes-grid-area-size-002.html [ ImageOnlyFailure ]585 webkit.org/b/145566 imported/w3c/web-platform-tests/css/css-grid/alignment/self-baseline/grid-self-baseline-changes-grid-area-size-003.html [ ImageOnlyFailure ]586 webkit.org/b/145566 imported/w3c/web-platform-tests/css/css-grid/alignment/self-baseline/grid-self-baseline-changes-grid-area-size-004.html [ ImageOnlyFailure ]587 webkit.org/b/145566 imported/w3c/web-platform-tests/css/css-grid/alignment/self-baseline/grid-self-baseline-changes-grid-area-size-005.html [ ImageOnlyFailure ]588 webkit.org/b/145566 imported/w3c/web-platform-tests/css/css-grid/alignment/self-baseline/grid-self-baseline-changes-grid-area-size-006.html [ ImageOnlyFailure ]589 webkit.org/b/145566 imported/w3c/web-platform-tests/css/css-grid/alignment/self-baseline/grid-self-baseline-changes-grid-area-size-007.html [ ImageOnlyFailure ]590 webkit.org/b/145566 imported/w3c/web-platform-tests/css/css-grid/alignment/self-baseline/grid-self-baseline-changes-grid-area-size-008.html [ ImageOnlyFailure ]591 webkit.org/b/145566 imported/w3c/web-platform-tests/css/css-grid/alignment/self-baseline/grid-self-baseline-changes-grid-area-size-009.html [ ImageOnlyFailure ]592 webkit.org/b/145566 imported/w3c/web-platform-tests/css/css-grid/alignment/self-baseline/grid-self-baseline-changes-grid-area-size-010.html [ ImageOnlyFailure ]593 webkit.org/b/145566 imported/w3c/web-platform-tests/css/css-grid/alignment/self-baseline/grid-self-baseline-changes-grid-area-size-011.html [ ImageOnlyFailure ]594 webkit.org/b/145566 imported/w3c/web-platform-tests/css/css-grid/alignment/self-baseline/grid-self-baseline-changes-grid-area-size-012.html [ ImageOnlyFailure ]595 webkit.org/b/145566 fast/css-grid-layout/grid-self-baseline-01.html [ Skip ]596 webkit.org/b/145566 fast/css-grid-layout/grid-self-baseline-02-b.html [ Skip ]597 webkit.org/b/145566 fast/css-grid-layout/grid-self-baseline-02.html [ Skip ]598 webkit.org/b/145566 fast/css-grid-layout/grid-self-baseline-03.html [ Skip ]599 webkit.org/b/145566 fast/css-grid-layout/grid-self-baseline-04.html [ Skip ]600 webkit.org/b/145566 fast/css-grid-layout/grid-self-baseline-05.html [ Skip ]601 webkit.org/b/145566 fast/css-grid-layout/grid-self-baseline-06.html [ Skip ]602 webkit.org/b/145566 fast/css-grid-layout/grid-self-baseline-07.html [ Skip ]603 webkit.org/b/145566 fast/css-grid-layout/grid-self-baseline-horiz-01.html [ Skip ]604 webkit.org/b/145566 fast/css-grid-layout/grid-self-baseline-horiz-02.html [ Skip ]605 webkit.org/b/145566 fast/css-grid-layout/grid-self-baseline-horiz-03.html [ Skip ]606 webkit.org/b/145566 fast/css-grid-layout/grid-self-baseline-horiz-04.html [ Skip ]607 webkit.org/b/145566 fast/css-grid-layout/grid-self-baseline-horiz-05.html [ Skip ]608 webkit.org/b/145566 fast/css-grid-layout/grid-self-baseline-horiz-06.html [ Skip ]609 webkit.org/b/145566 fast/css-grid-layout/grid-self-baseline-horiz-07.html [ Skip ]610 webkit.org/b/145566 fast/css-grid-layout/grid-self-baseline-vertical-lr-01.html [ Skip ]611 webkit.org/b/145566 fast/css-grid-layout/grid-self-baseline-vertical-lr-02.html [ Skip ]612 webkit.org/b/145566 fast/css-grid-layout/grid-self-baseline-vertical-lr-03.html [ Skip ]613 webkit.org/b/145566 fast/css-grid-layout/grid-self-baseline-vertical-lr-04.html [ Skip ]614 webkit.org/b/145566 fast/css-grid-layout/grid-self-baseline-vertical-lr-05.html [ Skip ]615 webkit.org/b/145566 fast/css-grid-layout/grid-self-baseline-vertical-lr-06.html [ Skip ]616 webkit.org/b/145566 fast/css-grid-layout/grid-self-baseline-vertical-lr-07.html [ Skip ]617 webkit.org/b/145566 fast/css-grid-layout/grid-self-baseline-vertical-rl-01.html [ Skip ]618 webkit.org/b/145566 fast/css-grid-layout/grid-self-baseline-vertical-rl-02.html [ Skip ]619 webkit.org/b/145566 fast/css-grid-layout/grid-self-baseline-vertical-rl-03.html [ Skip ]620 webkit.org/b/145566 fast/css-grid-layout/grid-self-baseline-vertical-rl-04.html [ Skip ]621 webkit.org/b/145566 fast/css-grid-layout/grid-self-baseline-vertical-rl-05.html [ Skip ]622 webkit.org/b/145566 fast/css-grid-layout/grid-self-baseline-vertical-rl-06.html [ Skip ]623 webkit.org/b/145566 fast/css-grid-layout/grid-self-baseline-vertical-rl-07.html [ Skip ]624 webkit.org/b/145566 fast/css-grid-layout/grid-self-baseline-two-dimensional.html [ Failure ]625 webkit.org/b/145566 fast/css-grid-layout/grid-align-baseline.html [ Failure ]626 webkit.org/b/145566 fast/css-grid-layout/grid-align-baseline-vertical.html [ Failure ]627 583 webkit.org/b/191365 imported/w3c/web-platform-tests/css/css-grid/grid-items/item-with-table-with-infinite-max-intrinsic-width.html [ ImageOnlyFailure ] 628 584 webkit.org/b/191365 imported/w3c/web-platform-tests/css/css-grid/grid-items/table-with-infinite-max-intrinsic-width.html [ ImageOnlyFailure ] … … 632 588 webkit.org/b/191462 imported/w3c/web-platform-tests/css/css-grid/grid-items/percentage-size-replaced-subitems-001.html [ ImageOnlyFailure ] 633 589 webkit.org/b/191463 imported/w3c/web-platform-tests/css/css-grid/grid-items/explicitly-sized-grid-item-as-table.html 590 webkit.org/b/191627 imported/w3c/web-platform-tests/css/css-grid/alignment/grid-self-baseline-not-applied-if-sizing-cyclic-dependency-001.html [ Failure ] 634 591 webkit.org/b/191473 fast/css-grid-layout/grid-crash-out-of-flow-positioned-element.html [ Crash ] 635 592 webkit.org/b/149890 fast/css-grid-layout/grid-shorthands-style-format.html [ Failure ] -
trunk/LayoutTests/fast/css-grid-layout/grid-align-baseline-expected.txt
r238105 r238457 7 7 8 8 9 baseline1 and baseline2 should have the same baseline.baseline4 and baseline5 should be below baseline6.10 9 11 10 PASS .grid 1 -
trunk/LayoutTests/fast/css-grid-layout/grid-align-baseline-vertical-expected.txt
r238105 r238457 15 15 16 16 17 baseline1 and baseline2 should have the same baseline.18 baseline4 and baseline5 should be below baseline6.19 17 20 18 PASS .grid 1 -
trunk/LayoutTests/fast/css-grid-layout/grid-baseline-expected.html
r210792 r238457 1 1 <!DOCTYPE html> 2 <html> 2 3 <style> 3 4 body { … … 203 204 204 205 </body> 206 </html> -
trunk/LayoutTests/fast/css-grid-layout/grid-baseline-margins-expected.html
r210792 r238457 18 18 .padding { padding: 13px; } 19 19 .margin { margin: 8px 0; } 20 .border-padding-margin {21 border: 5px solid pink;22 padding: 7px;23 margin: 3px 0;24 }25 20 .flexbox > div { 26 21 min-width: 0; … … 28 23 } 29 24 </style> 25 <p>This test ensures that Baseline Alignment works for 1-dimensional Grid like in Flexible Box, even using margins, paddings and borders.</p> 30 26 <div> 31 27 before text … … 77 73 <div> 78 74 Should align with the top 79 <div class="inline-block border -padding-margin" style="background-color: pink;">80 <div class="flexbox border -padding-margin" style="width: 100px; height: 100px; background-color: pink">75 <div class="inline-block border margin padding" style="background-color: pink"> 76 <div class="flexbox border margin padding" style="width: 100px; height: 100px; background-color: pink"> 81 77 <div style="width: 200px; overflow: scroll; background-color: lightgrey; margin: 10px 0px; border-top: 10px solid pink; border-bottom: 10px solid pink;"></div> 82 78 </div> -
trunk/LayoutTests/fast/css-grid-layout/grid-baseline-margins.html
r210792 r238457 10 10 .padding { padding: 13px; } 11 11 .margin { margin: 8px 0; } 12 .border-padding-margin {13 border: 5px solid pink;14 padding: 7px;15 margin: 3px 0;16 }17 12 </style> 13 <p>This test ensures that Baseline Alignment works for 1-dimensional Grid like in Flexible Box, even using margins, paddings and borders.</p> 18 14 <div> 19 15 before text … … 65 61 <div> 66 62 Should align with the top 67 <div class="inline-block border -padding-margin" style="background-color: pink">68 <div class="grid border border-padding-margin" style="width: 100px; height: 100px; background-color: pink">63 <div class="inline-block border margin padding" style="background-color: pink"> 64 <div class="grid border margin padding" style="grid-template-columns: 100px; grid-template-rows: 100px; background-color: pink"> 69 65 <div style="overflow: scroll; background-color: lightgrey; margin: 10px 0px; border-top: 10px solid pink; border-bottom: 10px solid pink;"></div> 70 66 </div> -
trunk/LayoutTests/fast/css-grid-layout/grid-baseline-must-respect-grid-order-expected.txt
r210792 r238457 1 2 PASS .grid, container 1 3 PASS .grid, container 2 4 PASS .grid, container 3 5 PASS .grid, container 4 6 PASS .grid, container 5 7 PASS .grid, container 6 8 PASS .grid, container 7 9 PASS .grid, container 8 10 PASS .grid, container 9 11 PASS .grid, container 10 12 PASS .grid, container 11 13 PASS .grid, container 12 14 PASS .grid, container 13 15 PASS .grid, container 14 16 PASS .grid, container 15 17 PASS .grid, container 16 18 PASS .grid, container 17 19 PASS .grid, container 18 1 20 The test shows 3 grids each of them with 3 items sorted differently in the DOM. 2 21 Each grid container must use its first (grid order) item to compute its baseline, and using document-oder in case of element with same grid-order. Hence they might be baseline aligned each other accordingly. … … 6 25 7 26 8 PASS9 PASS10 PASS11 27 This case shows 3 items located along the first row and in different columns, so such item is used to determine the grid's baseline instead of using the grid order. 12 28 13 29 14 30 15 PASS16 PASS17 PASS18 31 This case shows 3 items' areas intersecting the first row and first column, so the dom order must be used to determine each grid's baseline. 19 32 20 33 21 34 22 PASS23 PASS24 PASS25 35 This case shows 3 items' areas intersecting the first row and first column, but one of the items participates in baseline alignment, so such item is used to determine the grid's baseline instead of using the dom order. 26 36 27 37 28 38 29 PASS30 PASS31 PASS32 39 This case shows one of the grids with no items, hence its baseline must be synthesized. 33 40 34 41 35 42 36 PASS37 PASS38 PASS39 43 This case shows one of the grids with no items in the first row, hence its baseline must be synthesized. 40 44 41 45 42 46 43 PASS 44 PASS 45 PASS 47 -
trunk/LayoutTests/fast/css-grid-layout/grid-baseline-must-respect-grid-order.html
r210792 r238457 58 58 } 59 59 </style> 60 <script src="../../resources/check-layout.js"></script> 60 <script src="../../resources/testharness.js"></script> 61 <script src="../../resources/testharnessreport.js"></script> 62 <script src="../../resources/check-layout-th.js"></script> 61 63 <body onload="checkLayout('.grid, container')"> 62 64 <div id="log"></div> -
trunk/LayoutTests/fast/css-grid-layout/grid-baseline.html
r210792 r238457 1 1 <!DOCTYPE html> 2 <html> 2 3 <style> 3 4 body { … … 94 95 <div> 95 96 should align with the bottom 96 <div class=" emptyinline-grid" style="width: 30px; height: 30px">97 <div class="inline-grid" style="width: 30px; height: 30px"> 97 98 </div> 98 99 of the grey box … … 209 210 210 211 </body> 212 </html> -
trunk/LayoutTests/fast/css-grid-layout/grid-self-baseline-horiz-04-expected.html
r238105 r238457 24 24 .extraRightPadding { padding-right: 30px; } 25 25 .extraLeftPadding { padding-left: 30px; } 26 .item { display: inline; }26 .item { float: left; clear: both; } 27 27 .left { vertical-align: bottom; } 28 28 </style> 29 29 30 30 <p>4x1 with parallel items. <br>No item shares any row-like Baseline Context. All items share 'first-column' Baseline Context.<br>All the items are orthogonal to the column-axis, so they don't participate in the column-like Baseline Context; since no items shares row-like Baseline context, neither 'justify-self' or 'align-self' should apply.</p> 31 <div class="block verticalLR"><div class="item horizontalTB left">A</div><div class="item horizontalTB left">A</div><div class="item horizontalTB left">A</div><div class="item horizontalTBleft">A</div></div>32 <div class="block verticalLR"><div class="item horizontalTB extraRightPadding left">A</div><div class="item horizontalTB left">A</div><div class="item horizontalTB extraLeftPadding left">A</div><div class="item horizontalTBleft">A</div></div>31 <div class="block"><div class="item left">A</div><div class="item left">A</div><div class="item left">A</div><div class="item left">A</div></div> 32 <div class="block"><div class="item extraRightPadding left">A</div><div class="item left">A</div><div class="item extraLeftPadding left">A</div><div class="item left">A</div></div> -
trunk/LayoutTests/fast/css-grid-layout/grid-self-baseline-two-dimensional-expected.txt
r238105 r238457 12 12 PASS .grid 11 13 13 PASS .grid 12 14 15 14 This test checks that baseline is applied correctly on a grid aling both axis and different writing-modes when using symbolic fonts, which will use middle-baseline. 16 15 -
trunk/LayoutTests/fast/css-grid-layout/grid-self-baseline-two-dimensional.html
r238105 r238457 8 8 margin: 5px; 9 9 font-family: Ahem; 10 -webkit-text-orientation: sideways; 10 11 } 11 12 .font12 { font-size:24px; } … … 47 48 <div style="position: relative"> 48 49 <div class="grid fit-content itemsBaseline"> 49 <span class="firstRowFirstColumn verticalLR font12" data-offset-x=" 37" data-offset-y="10">A</span><span class="firstRowSecondColumn horizontalTB font16 extraTopPadding" data-offset-x="138" data-offset-y="11">A</span><span class="firstRowThirdColumn verticalLR font24 extraLeftPadding" data-offset-x="240" data-offset-y="10">A</span><span class="firstRowFourthColumn horizontalTB font32" data-offset-x="348" data-offset-y="10">A</span>50 <span class="secondRowFirstColumn verticalLR font16 extraTopPadding" data-offset-x=" 33" data-offset-y="111">A</span><span class="secondRowSecondColumn horizontalTB font24" data-offset-x="138" data-offset-y="124">A</span><span class="secondRowThirdColumn verticalLR font12" data-offset-x="274" data-offset-y="111">A</span><span class="secondRowFourthColumn horizontalTB font32" data-offset-x="348" data-offset-y="111">A</span>51 <span class="thirdRowFirstColumn verticalLR font32" data-offset-x="17" data-offset-y="212">A</span><span class="thirdRowSecondColumn horizontalTB font12" data-offset-x="13 8" data-offset-y="243">A</span><span class="thirdRowThirdColumn verticalLR font24 extraBottomPadding" data-offset-x="262" data-offset-y="212">A</span><span class="thirdRowFourthColumn horizontalTB font16 extraTopPadding" data-offset-x="348" data-offset-y="212">A</span>52 <span class="fourthRowFirstColumn verticalLR font24 extraRightPadding" data-offset-x="2 5" data-offset-y="320">A</span><span class="fourthRowSecondColumn horizontalTB font32 extraBottomPadding" data-offset-x="138" data-offset-y="320">A</span><span class="fourthRowThirdColumn verticalLR font16" data-offset-x="270" data-offset-y="320">A</span><span class="fourthRowFourthColumn horizontalTB font12" data-offset-x="348" data-offset-y="352">A</span>50 <span class="firstRowFirstColumn verticalLR font12" data-offset-x="25" data-offset-y="10">A</span><span class="firstRowSecondColumn horizontalTB font16 extraTopPadding" data-offset-x="133" data-offset-y="11">A</span><span class="firstRowThirdColumn verticalLR font24 extraLeftPadding" data-offset-x="235" data-offset-y="10">A</span><span class="firstRowFourthColumn horizontalTB font32" data-offset-x="343" data-offset-y="10">A</span> 51 <span class="secondRowFirstColumn verticalLR font16 extraTopPadding" data-offset-x="24" data-offset-y="111">A</span><span class="secondRowSecondColumn horizontalTB font24" data-offset-x="133" data-offset-y="124">A</span><span class="secondRowThirdColumn verticalLR font12" data-offset-x="262" data-offset-y="111">A</span><span class="secondRowFourthColumn horizontalTB font32" data-offset-x="343" data-offset-y="111">A</span> 52 <span class="thirdRowFirstColumn verticalLR font32" data-offset-x="17" data-offset-y="212">A</span><span class="thirdRowSecondColumn horizontalTB font12" data-offset-x="133" data-offset-y="243">A</span><span class="thirdRowThirdColumn verticalLR font24 extraBottomPadding" data-offset-x="257" data-offset-y="212">A</span><span class="thirdRowFourthColumn horizontalTB font16 extraTopPadding" data-offset-x="343" data-offset-y="212">A</span> 53 <span class="fourthRowFirstColumn verticalLR font24 extraRightPadding" data-offset-x="20" data-offset-y="320">A</span><span class="fourthRowSecondColumn horizontalTB font32 extraBottomPadding" data-offset-x="133" data-offset-y="320">A</span><span class="fourthRowThirdColumn verticalLR font16" data-offset-x="261" data-offset-y="320">A</span><span class="fourthRowFourthColumn horizontalTB font12" data-offset-x="343" data-offset-y="352">A</span> 53 54 </div> 54 55 </div> … … 58 59 <div style="position: relative"> 59 60 <div class="grid fit-content itemsBaseline"> 60 <span class="firstRowFirstColumn verticalLR font12 extraLeftPadding" data-offset-x="17" data-offset-y="10">A</span><span class="firstRowSecondColumn horizontalTB font16" data-offset-x="1 21" data-offset-y="35">A</span><span class="firstRowThirdColumn verticalLR font24 extraRightPadding" data-offset-x="" data-offset-y="10">A</span><span class="firstRowFourthColumn horizontalTB font32" data-offset-x="336" data-offset-y="10">A</span>61 <span class="secondRowFirstColumn horizontalTB font16" data-offset-x="17" data-offset-y="111">A</span><span class="secondRowSecondColumn verticalLR font24" data-offset-x="1 29" data-offset-y="111">A</span><span class="secondRowThirdColumn horizontalTB font12" data-offset-x="223" data-offset-y="118">A</span><span class="secondRowFourthColumn verticalLR font32 extraBottomPadding" data-offset-x="336" data-offset-y="111">A</span>62 <span class="thirdRowFirstColumn verticalLR font32 extraBottomPadding" data-offset-x=" 19" data-offset-y="235">A</span><span class="thirdRowSecondColumn horizontalTB font12" data-offset-x="121" data-offset-y="242">A</span><span class="thirdRowThirdColumn verticalLR font24 extraTopPadding" data-offset-x="223" data-offset-y="235">A</span><span class="thirdRowFourthColumn horizontalTB font16" data-offset-x="336" data-offset-y="235">A</span>63 <span class="fourthRowFirstColumn horizontalTB font24" data-offset-x="17" data-offset-y="359">A</span><span class="fourthRowSecondColumn verticalLR font32" data-offset-x="1 21" data-offset-y="359">A</span><span class="fourthRowThirdColumn horizontalTB font16" data-offset-x="223" data-offset-y="371">A</span><span class="fourthRowFourthColumn verticalLR font12" data-offset-x="356" data-offset-y="359">A</span>61 <span class="firstRowFirstColumn verticalLR font12 extraLeftPadding" data-offset-x="17" data-offset-y="10">A</span><span class="firstRowSecondColumn horizontalTB font16" data-offset-x="133" data-offset-y="35">A</span><span class="firstRowThirdColumn verticalLR font24 extraRightPadding" data-offset-x="" data-offset-y="10">A</span><span class="firstRowFourthColumn horizontalTB font32" data-offset-x="348" data-offset-y="10">A</span> 62 <span class="secondRowFirstColumn horizontalTB font16" data-offset-x="17" data-offset-y="111">A</span><span class="secondRowSecondColumn verticalLR font24" data-offset-x="136" data-offset-y="111">A</span><span class="secondRowThirdColumn horizontalTB font12" data-offset-x="235" data-offset-y="118">A</span><span class="secondRowFourthColumn verticalLR font32 extraBottomPadding" data-offset-x="348" data-offset-y="111">A</span> 63 <span class="thirdRowFirstColumn verticalLR font32 extraBottomPadding" data-offset-x="31" data-offset-y="235">A</span><span class="thirdRowSecondColumn horizontalTB font12" data-offset-x="133" data-offset-y="242">A</span><span class="thirdRowThirdColumn verticalLR font24 extraTopPadding" data-offset-x="235" data-offset-y="235">A</span><span class="thirdRowFourthColumn horizontalTB font16" data-offset-x="348" data-offset-y="235">A</span> 64 <span class="fourthRowFirstColumn horizontalTB font24" data-offset-x="17" data-offset-y="359">A</span><span class="fourthRowSecondColumn verticalLR font32" data-offset-x="133" data-offset-y="359">A</span><span class="fourthRowThirdColumn horizontalTB font16" data-offset-x="235" data-offset-y="371">A</span><span class="fourthRowFourthColumn verticalLR font12" data-offset-x="356" data-offset-y="359">A</span> 64 65 </div> 65 66 </div> … … 80 81 <div style="position: relative"> 81 82 <div class="grid fit-content itemsBaseline verticalLR"> 82 <span class="firstRowFirstColumn verticalLR font12" data-offset-x="2 9" data-offset-y="10">A</span><span class="firstRowSecondColumn horizontalTB font16 extraTopPadding" data-offset-x="17" data-offset-y="135">A</span><span class="firstRowThirdColumn verticalLR font24 extraBottomPadding" data-offset-x="17" data-offset-y="235">A</span><span class="firstRowFourthColumn horizontalTB font32" data-offset-x="17" data-offset-y="343">A</span>83 <span class="secondRowFirstColumn verticalLR font16" data-offset-x="119" data-offset-y="10">A</span><span class="secondRowSecondColumn horizontalTB font24" data-offset-x="119" data-offset-y="147">A</span><span class="secondRowThirdColumn verticalLR font12" data-offset-x="12 3" data-offset-y="235">A</span><span class="secondRowFourthColumn horizontalTB font32" data-offset-x="119" data-offset-y="343">A</span>84 <span class="thirdRowFirstColumn verticalLR font32 extraBottomPadding" data-offset-x="221" data-offset-y="10">A</span><span class="thirdRowSecondColumn horizontalTB font12 extraTopPadding" data-offset-x="221" data-offset-y="142">A</span><span class="thirdRowThirdColumn verticalLR font24" data-offset-x="22 9" data-offset-y="235">A</span><span class="thirdRowFourthColumn horizontalTB font16 extraTopPadding" data-offset-x="221" data-offset-y="344">A</span>85 <span class="fourthRowFirstColumn verticalLR font24" data-offset-x="323" data-offset-y="10">A</span><span class="fourthRowSecondColumn horizontalTB font32" data-offset-x="323" data-offset-y="134">A</span><span class="fourthRowThirdColumn verticalLR font16" data-offset-x="3 31" data-offset-y="235">A</span><span class="fourthRowFourthColumn horizontalTB font12" data-offset-x="323" data-offset-y="375">A</span>83 <span class="firstRowFirstColumn verticalLR font12" data-offset-x="22" data-offset-y="10">A</span><span class="firstRowSecondColumn horizontalTB font16 extraTopPadding" data-offset-x="17" data-offset-y="135">A</span><span class="firstRowThirdColumn verticalLR font24 extraBottomPadding" data-offset-x="17" data-offset-y="235">A</span><span class="firstRowFourthColumn horizontalTB font32" data-offset-x="17" data-offset-y="343">A</span> 84 <span class="secondRowFirstColumn verticalLR font16" data-offset-x="119" data-offset-y="10">A</span><span class="secondRowSecondColumn horizontalTB font24" data-offset-x="119" data-offset-y="147">A</span><span class="secondRowThirdColumn verticalLR font12" data-offset-x="120" data-offset-y="235">A</span><span class="secondRowFourthColumn horizontalTB font32" data-offset-x="119" data-offset-y="343">A</span> 85 <span class="thirdRowFirstColumn verticalLR font32 extraBottomPadding" data-offset-x="221" data-offset-y="10">A</span><span class="thirdRowSecondColumn horizontalTB font12 extraTopPadding" data-offset-x="221" data-offset-y="142">A</span><span class="thirdRowThirdColumn verticalLR font24" data-offset-x="224" data-offset-y="235">A</span><span class="thirdRowFourthColumn horizontalTB font16 extraTopPadding" data-offset-x="221" data-offset-y="344">A</span> 86 <span class="fourthRowFirstColumn verticalLR font24" data-offset-x="323" data-offset-y="10">A</span><span class="fourthRowSecondColumn horizontalTB font32" data-offset-x="323" data-offset-y="134">A</span><span class="fourthRowThirdColumn verticalLR font16" data-offset-x="327" data-offset-y="235">A</span><span class="fourthRowFourthColumn horizontalTB font12" data-offset-x="323" data-offset-y="375">A</span> 86 87 </div> 87 88 </div> … … 91 92 <div style="position: relative"> 92 93 <div class="grid fit-content itemsBaseline verticalLR"> 93 <span class="firstRowFirstColumn verticalLR font12 extraBottomPadding" data-offset-x="2 9" data-offset-y="10">A</span><span class="firstRowSecondColumn horizontalTB font16 extraTopPadding" data-offset-x="17" data-offset-y="135">A</span><span class="firstRowThirdColumn verticalLR font24" data-offset-x="17" data-offset-y="236">A</span><span class="firstRowFourthColumn horizontalTB font32" data-offset-x="17" data-offset-y="351">A</span>94 <span class="secondRowFirstColumn horizontalTB font16" data-offset-x="119" data-offset-y="22">A</span><span class="secondRowSecondColumn verticalLR font24" data-offset-x="12 7" data-offset-y="135">A</span><span class="secondRowThirdColumn horizontalTB font12 extraBottomPadding" data-offset-x="119" data-offset-y="267">A</span><span class="secondRowFourthColumn verticalLR font32" data-offset-x="119" data-offset-y="351">A</span>95 <span class="thirdRowFirstColumn verticalLR font32 extraTopPadding" data-offset-x="221" data-offset-y="10">A</span><span class="thirdRowSecondColumn horizontalTB font12" data-offset-x="221" data-offset-y="166">A</span><span class="thirdRowThirdColumn verticalLR font24" data-offset-x="22 9" data-offset-y="236">A</span><span class="thirdRowFourthColumn horizontalTB font16" data-offset-x="221" data-offset-y="376">A</span>96 <span class="fourthRowFirstColumn horizontalTB font24" data-offset-x="323" data-offset-y="10">A</span><span class="fourthRowSecondColumn verticalLR font32" data-offset-x="323" data-offset-y="135">A</span><span class="fourthRowThirdColumn horizontalTB font16 extraTopPadding" data-offset-x="323" data-offset-y="236">A</span><span class="fourthRowFourthColumn verticalLR font12" data-offset-x="3 43" data-offset-y="351">A</span>94 <span class="firstRowFirstColumn verticalLR font12 extraBottomPadding" data-offset-x="22" data-offset-y="10">A</span><span class="firstRowSecondColumn horizontalTB font16 extraTopPadding" data-offset-x="17" data-offset-y="135">A</span><span class="firstRowThirdColumn verticalLR font24" data-offset-x="17" data-offset-y="236">A</span><span class="firstRowFourthColumn horizontalTB font32" data-offset-x="17" data-offset-y="351">A</span> 95 <span class="secondRowFirstColumn horizontalTB font16" data-offset-x="119" data-offset-y="22">A</span><span class="secondRowSecondColumn verticalLR font24" data-offset-x="122" data-offset-y="135">A</span><span class="secondRowThirdColumn horizontalTB font12 extraBottomPadding" data-offset-x="119" data-offset-y="267">A</span><span class="secondRowFourthColumn verticalLR font32" data-offset-x="119" data-offset-y="351">A</span> 96 <span class="thirdRowFirstColumn verticalLR font32 extraTopPadding" data-offset-x="221" data-offset-y="10">A</span><span class="thirdRowSecondColumn horizontalTB font12" data-offset-x="221" data-offset-y="166">A</span><span class="thirdRowThirdColumn verticalLR font24" data-offset-x="224" data-offset-y="236">A</span><span class="thirdRowFourthColumn horizontalTB font16" data-offset-x="221" data-offset-y="376">A</span> 97 <span class="fourthRowFirstColumn horizontalTB font24" data-offset-x="323" data-offset-y="10">A</span><span class="fourthRowSecondColumn verticalLR font32" data-offset-x="323" data-offset-y="135">A</span><span class="fourthRowThirdColumn horizontalTB font16 extraTopPadding" data-offset-x="323" data-offset-y="236">A</span><span class="fourthRowFourthColumn verticalLR font12" data-offset-x="331" data-offset-y="351">A</span> 97 98 </div> 98 99 </div> … … 113 114 <div style="position: relative"> 114 115 <div class="grid fit-content itemsBaseline verticalRL"> 115 <span class="firstRowFirstColumn verticalLR font12" data-offset-x="37 8" data-offset-y="10">A</span><span class="firstRowSecondColumn horizontalTB font16" data-offset-x="382" data-offset-y="170">A</span><span class="firstRowThirdColumn verticalLR font24 extraTopPadding" data-offset-x="366" data-offset-y="246">A</span><span class="firstRowFourthColumn horizontalTB font32 extraRightPadding" data-offset-x="323" data-offset-y="355">A</span>116 <span class="secondRowFirstColumn verticalLR font16" data-offset-x="253" data-offset-y="10">A</span><span class="secondRowSecondColumn horizontalTB font24 extraTopPadding" data-offset-x="237" data-offset-y="134">A</span><span class="secondRowThirdColumn verticalLR font12" data-offset-x="25 7" data-offset-y="246">A</span><span class="secondRowFourthColumn horizontalTB font32" data-offset-x="221" data-offset-y="355">A</span>117 <span class="thirdRowFirstColumn verticalLR font32 extraBottomPadding" data-offset-x="119" data-offset-y="10">A</span><span class="thirdRowSecondColumn horizontalTB font12" data-offset-x="159" data-offset-y="177">A</span><span class="thirdRowThirdColumn verticalLR font24" data-offset-x="12 7" data-offset-y="246">A</span><span class="thirdRowFourthColumn horizontalTB font16" data-offset-x="151" data-offset-y="380">A</span>118 <span class="fourthRowFirstColumn verticalLR font24 extraTopPadding" data-offset-x="33" data-offset-y="10">A</span><span class="fourthRowSecondColumn horizontalTB font32" data-offset-x="17" data-offset-y="145">A</span><span class="fourthRowThirdColumn verticalLR font16 extraBottomPadding" data-offset-x=" 41" data-offset-y="246">A</span><span class="fourthRowFourthColumn horizontalTB font12" data-offset-x="57" data-offset-y="387">A</span>116 <span class="firstRowFirstColumn verticalLR font12" data-offset-x="371" data-offset-y="10">A</span><span class="firstRowSecondColumn horizontalTB font16" data-offset-x="382" data-offset-y="170">A</span><span class="firstRowThirdColumn verticalLR font24 extraTopPadding" data-offset-x="366" data-offset-y="246">A</span><span class="firstRowFourthColumn horizontalTB font32 extraRightPadding" data-offset-x="323" data-offset-y="355">A</span> 117 <span class="secondRowFirstColumn verticalLR font16" data-offset-x="253" data-offset-y="10">A</span><span class="secondRowSecondColumn horizontalTB font24 extraTopPadding" data-offset-x="237" data-offset-y="134">A</span><span class="secondRowThirdColumn verticalLR font12" data-offset-x="254" data-offset-y="246">A</span><span class="secondRowFourthColumn horizontalTB font32" data-offset-x="221" data-offset-y="355">A</span> 118 <span class="thirdRowFirstColumn verticalLR font32 extraBottomPadding" data-offset-x="119" data-offset-y="10">A</span><span class="thirdRowSecondColumn horizontalTB font12" data-offset-x="159" data-offset-y="177">A</span><span class="thirdRowThirdColumn verticalLR font24" data-offset-x="122" data-offset-y="246">A</span><span class="thirdRowFourthColumn horizontalTB font16" data-offset-x="151" data-offset-y="380">A</span> 119 <span class="fourthRowFirstColumn verticalLR font24 extraTopPadding" data-offset-x="33" data-offset-y="10">A</span><span class="fourthRowSecondColumn horizontalTB font32" data-offset-x="17" data-offset-y="145">A</span><span class="fourthRowThirdColumn verticalLR font16 extraBottomPadding" data-offset-x="37" data-offset-y="246">A</span><span class="fourthRowFourthColumn horizontalTB font12" data-offset-x="57" data-offset-y="387">A</span> 119 120 </div> 120 121 </div> … … 124 125 <div style="position: relative"> 125 126 <div class="grid fit-content itemsBaseline verticalRL"> 126 <span class="firstRowFirstColumn verticalLR font12" data-offset-x="3 51" data-offset-y="10">A</span><span class="firstRowSecondColumn horizontalTB font16 extraBottomPadding" data-offset-x="355" data-offset-y="114">A</span><span class="firstRowThirdColumn verticalLR font24" data-offset-x="339" data-offset-y="215">A</span><span class="firstRowFourthColumn horizontalTB font32" data-offset-x="323" data-offset-y="307">A</span>127 <span class="secondRowFirstColumn horizontalTB font16 extraBottomPadding" data-offset-x="253" data-offset-y="22">A</span><span class="secondRowSecondColumn verticalLR font24" data-offset-x="22 9" data-offset-y="114">A</span><span class="secondRowThirdColumn horizontalTB font12" data-offset-x="261" data-offset-y="222">A</span><span class="secondRowFourthColumn verticalLR font32" data-offset-x="221" data-offset-y="307">A</span>128 <span class="thirdRowFirstColumn verticalLR font32" data-offset-x="119" data-offset-y="10">A</span><span class="thirdRowSecondColumn horizontalTB font12 extraLeftPadding" data-offset-x="137" data-offset-y="121">A</span><span class="thirdRowThirdColumn verticalLR font24" data-offset-x="12 7" data-offset-y="215">A</span><span class="thirdRowFourthColumn horizontalTB font16" data-offset-x="151" data-offset-y="332">A</span>129 <span class="fourthRowFirstColumn horizontalTB font24" data-offset-x="33" data-offset-y="10">A</span><span class="fourthRowSecondColumn verticalLR font32" data-offset-x="17" data-offset-y="114">A</span><span class="fourthRowThirdColumn horizontalTB font16 extraBottomPadding" data-offset-x="49" data-offset-y="215">A</span><span class="fourthRowFourthColumn verticalLR font12" data-offset-x=" 37" data-offset-y="307">A</span>127 <span class="firstRowFirstColumn verticalLR font12" data-offset-x="344" data-offset-y="10">A</span><span class="firstRowSecondColumn horizontalTB font16 extraBottomPadding" data-offset-x="355" data-offset-y="114">A</span><span class="firstRowThirdColumn verticalLR font24" data-offset-x="339" data-offset-y="215">A</span><span class="firstRowFourthColumn horizontalTB font32" data-offset-x="323" data-offset-y="307">A</span> 128 <span class="secondRowFirstColumn horizontalTB font16 extraBottomPadding" data-offset-x="253" data-offset-y="22">A</span><span class="secondRowSecondColumn verticalLR font24" data-offset-x="224" data-offset-y="114">A</span><span class="secondRowThirdColumn horizontalTB font12" data-offset-x="261" data-offset-y="222">A</span><span class="secondRowFourthColumn verticalLR font32" data-offset-x="221" data-offset-y="307">A</span> 129 <span class="thirdRowFirstColumn verticalLR font32" data-offset-x="119" data-offset-y="10">A</span><span class="thirdRowSecondColumn horizontalTB font12 extraLeftPadding" data-offset-x="137" data-offset-y="121">A</span><span class="thirdRowThirdColumn verticalLR font24" data-offset-x="122" data-offset-y="215">A</span><span class="thirdRowFourthColumn horizontalTB font16" data-offset-x="151" data-offset-y="332">A</span> 130 <span class="fourthRowFirstColumn horizontalTB font24" data-offset-x="33" data-offset-y="10">A</span><span class="fourthRowSecondColumn verticalLR font32" data-offset-x="17" data-offset-y="114">A</span><span class="fourthRowThirdColumn horizontalTB font16 extraBottomPadding" data-offset-x="49" data-offset-y="215">A</span><span class="fourthRowFourthColumn verticalLR font12" data-offset-x="25" data-offset-y="307">A</span> 130 131 </div> 131 132 </div> … … 146 147 <div style="position: relative"> 147 148 <div class="grid fit-content itemsBaseline"> 148 <span class="firstRowFirstColumn verticalLR font12 extraLeftPadding" data-offset-x="17" data-offset-y="10">A<br>A</span><span class="firstRowSecondColumn horizontalTB font16 extraBottomPadding" data-offset-x="1 85" data-offset-y="35">A<br>A</span><span class="firstRowThirdColumn verticalLR font24" data-offset-x="287" data-offset-y="10">A<br>A</span><span class="firstRowFourthColumn horizontalTB font32" data-offset-x="421" data-offset-y="10">A<br>A</span>149 <span class="secondRowFirstColumn verticalLR font16 extraTopPadding" data-offset-x="3 5" data-offset-y="175">A<br>A</span><span class="secondRowSecondColumn horizontalTB font24" data-offset-x="185" data-offset-y="188">A<br>A</span><span class="secondRowThirdColumn verticalLR font12 extraTopPadding" data-offset-x="299" data-offset-y="175">A<br>A</span><span class="secondRowFourthColumn horizontalTB font32 extraLeftPadding" data-offset-x="421" data-offset-y="175">A<br>A</span>150 <span class="thirdRowFirstColumn verticalLR font32" data-offset-x=" 19" data-offset-y="340">A<br>A</span><span class="thirdRowSecondColumn horizontalTB font12 extraTopPadding" data-offset-x="185" data-offset-y="340">A<br>A</span><span class="thirdRowThirdColumn verticalLR font24" data-offset-x="287" data-offset-y="340">A<br>A</span><span class="thirdRowFourthColumn horizontalTB font16" data-offset-x="421" data-offset-y="357">A<br>A</span>151 <span class="fourthRowFirstColumn verticalLR font24" data-offset-x=" 27" data-offset-y="458">A<br>A</span><span class="fourthRowSecondColumn horizontalTB font32" data-offset-x="185" data-offset-y="458">A<br>A</span><span class="fourthRowThirdColumn verticalLR font16 extraBottomPadding" data-offset-x="295" data-offset-y="458">A<br>A</span><span class="fourthRowFourthColumn horizontalTB font12 extraTopPadding" data-offset-x="421" data-offset-y="466">A<br>A</span>149 <span class="firstRowFirstColumn verticalLR font12 extraLeftPadding" data-offset-x="17" data-offset-y="10">A<br>A</span><span class="firstRowSecondColumn horizontalTB font16 extraBottomPadding" data-offset-x="197" data-offset-y="35">A<br>A</span><span class="firstRowThirdColumn verticalLR font24" data-offset-x="299" data-offset-y="10">A<br>A</span><span class="firstRowFourthColumn horizontalTB font32" data-offset-x="433" data-offset-y="10">A<br>A</span> 150 <span class="secondRowFirstColumn verticalLR font16 extraTopPadding" data-offset-x="38" data-offset-y="175">A<br>A</span><span class="secondRowSecondColumn horizontalTB font24" data-offset-x="197" data-offset-y="188">A<br>A</span><span class="secondRowThirdColumn verticalLR font12 extraTopPadding" data-offset-x="304" data-offset-y="175">A<br>A</span><span class="secondRowFourthColumn horizontalTB font32 extraLeftPadding" data-offset-x="433" data-offset-y="175">A<br>A</span> 151 <span class="thirdRowFirstColumn verticalLR font32" data-offset-x="31" data-offset-y="340">A<br>A</span><span class="thirdRowSecondColumn horizontalTB font12 extraTopPadding" data-offset-x="197" data-offset-y="340">A<br>A</span><span class="thirdRowThirdColumn verticalLR font24" data-offset-x="299" data-offset-y="340">A<br>A</span><span class="thirdRowFourthColumn horizontalTB font16" data-offset-x="433" data-offset-y="357">A<br>A</span> 152 <span class="fourthRowFirstColumn verticalLR font24" data-offset-x="34" data-offset-y="458">A<br>A</span><span class="fourthRowSecondColumn horizontalTB font32" data-offset-x="197" data-offset-y="458">A<br>A</span><span class="fourthRowThirdColumn verticalLR font16 extraBottomPadding" data-offset-x="303" data-offset-y="458">A<br>A</span><span class="fourthRowFourthColumn horizontalTB font12 extraTopPadding" data-offset-x="433" data-offset-y="466">A<br>A</span> 152 153 </div> 153 154 </div> … … 157 158 <div style="position: relative"> 158 159 <div class="grid fit-content itemsBaseline"> 159 <span class="firstRowFirstColumn verticalLR font12 extraTopPadding" data-offset-x=" 37" data-offset-y="10">A<br>A</span><span class="firstRowSecondColumn horizontalTB font16 extraBottomPadding" data-offset-x="183" data-offset-y="35">A<br>A</span><span class="firstRowThirdColumn verticalLR font24" data-offset-x="371" data-offset-y="10">A<br>A</span><span class="firstRowFourthColumn horizontalTB font32" data-offset-x="505" data-offset-y="10">A<br>A</span>160 <span class="secondRowFirstColumn horizontalTB font16" data-offset-x="17" data-offset-y="192">A<br>A</span><span class="secondRowSecondColumn verticalLR font24" data-offset-x="1 91" data-offset-y="175">A<br>A</span><span class="secondRowThirdColumn horizontalTB font12 extraTopPadding" data-offset-x="349" data-offset-y="175">A<br>A</span><span class="secondRowFourthColumn verticalLR font32" data-offset-x="505" data-offset-y="175">A<br>A</span>160 <span class="firstRowFirstColumn verticalLR font12 extraTopPadding" data-offset-x="25" data-offset-y="10">A<br>A</span><span class="firstRowSecondColumn horizontalTB font16 extraBottomPadding" data-offset-x="183" data-offset-y="35">A<br>A</span><span class="firstRowThirdColumn verticalLR font24" data-offset-x="371" data-offset-y="10">A<br>A</span><span class="firstRowFourthColumn horizontalTB font32" data-offset-x="505" data-offset-y="10">A<br>A</span> 161 <span class="secondRowFirstColumn horizontalTB font16" data-offset-x="17" data-offset-y="192">A<br>A</span><span class="secondRowSecondColumn verticalLR font24" data-offset-x="186" data-offset-y="175">A<br>A</span><span class="secondRowThirdColumn horizontalTB font12 extraTopPadding" data-offset-x="349" data-offset-y="175">A<br>A</span><span class="secondRowFourthColumn verticalLR font32" data-offset-x="505" data-offset-y="175">A<br>A</span> 161 162 <span class="thirdRowFirstColumn verticalLR font32" data-offset-x="17" data-offset-y="293">A<br>A</span><span class="thirdRowSecondColumn horizontalTB font12 extraTopPadding" data-offset-x="183" data-offset-y="300">A<br>A</span><span class="thirdRowThirdColumn verticalLR font24 extraLeftPadding" data-offset-x="349" data-offset-y="293">A<br>A</span><span class="thirdRowFourthColumn horizontalTB font16 extraTopPadding" data-offset-x="505" data-offset-y="293">A<br>A</span> 162 <span class="fourthRowFirstColumn horizontalTB font24" data-offset-x="17" data-offset-y="418">A<br>A</span><span class="fourthRowSecondColumn verticalLR font32" data-offset-x="183" data-offset-y="418">A<br>A</span><span class="fourthRowThirdColumn horizontalTB font16" data-offset-x="349" data-offset-y="430">A<br>A</span><span class="fourthRowFourthColumn verticalLR font12" data-offset-x="5 25" data-offset-y="418">A<br>A</span>163 <span class="fourthRowFirstColumn horizontalTB font24" data-offset-x="17" data-offset-y="418">A<br>A</span><span class="fourthRowSecondColumn verticalLR font32" data-offset-x="183" data-offset-y="418">A<br>A</span><span class="fourthRowThirdColumn horizontalTB font16" data-offset-x="349" data-offset-y="430">A<br>A</span><span class="fourthRowFourthColumn verticalLR font12" data-offset-x="513" data-offset-y="418">A<br>A</span> 163 164 </div> 164 165 </div> -
trunk/LayoutTests/fast/css-grid-layout/grid-self-baseline-vertical-lr-04-expected.html
r238105 r238457 9 9 margin: 5px; 10 10 text-orientation: sideways; 11 width: 3 50px;11 width: 360px; 12 12 height: 100px; 13 13 } -
trunk/LayoutTests/fast/css-grid-layout/grid-self-baseline-vertical-lr-04.html
r238105 r238457 9 9 margin: 5px; 10 10 text-orientation: sideways; 11 width: 3 50px;11 width: 360px; 12 12 height: 100px; 13 13 } -
trunk/LayoutTests/fast/css-grid-layout/grid-self-baseline-vertical-rl-04-expected.html
r238105 r238457 9 9 margin: 5px; 10 10 text-orientation: sideways; 11 width: 3 50px;11 width: 360px; 12 12 height: 100px; 13 13 } -
trunk/LayoutTests/fast/css-grid-layout/grid-self-baseline-vertical-rl-04.html
r238105 r238457 9 9 margin: 5px; 10 10 text-orientation: sideways; 11 width: 3 50px;11 width: 360px; 12 12 height: 100px; 13 13 } -
trunk/LayoutTests/imported/w3c/ChangeLog
r238395 r238457 1 2018-11-23 Javier Fernandez <jfernandez@igalia.com> 2 3 [css-grid] Implement Baseline Alignment for grid items 4 https://bugs.webkit.org/show_bug.cgi?id=145566 5 6 Reviewed by Manuel Rego Casasnovas. 7 8 Updated test expectations of severla tests, that are now passing with the new code. 9 10 * resources/import-expectations.json: 11 * web-platform-tests/css/css-grid/alignment/grid-alignment-style-changes-001-expected.txt: 12 * web-platform-tests/css/css-grid/alignment/grid-alignment-style-changes-002-expected.txt: 13 * web-platform-tests/css/css-grid/alignment/grid-alignment-style-changes-003-expected.txt: 14 * web-platform-tests/css/css-grid/alignment/grid-alignment-style-changes-004-expected.txt: 15 * web-platform-tests/css/css-grid/alignment/grid-alignment-style-changes-005-expected.txt: 16 * web-platform-tests/css/css-grid/alignment/grid-alignment-style-changes-006-expected.txt: 17 * web-platform-tests/css/css-grid/alignment/grid-alignment-style-changes-007-expected.txt: 18 * web-platform-tests/css/css-grid/alignment/grid-alignment-style-changes-008-expected.txt: 19 * web-platform-tests/css/css-grid/alignment/grid-column-axis-self-baseline-synthesized-001-expected.txt: 20 * web-platform-tests/css/css-grid/alignment/grid-column-axis-self-baseline-synthesized-002-expected.txt: 21 * web-platform-tests/css/css-grid/alignment/grid-column-axis-self-baseline-synthesized-003-expected.txt: 22 * web-platform-tests/css/css-grid/alignment/grid-column-axis-self-baseline-synthesized-004-expected.txt: 23 * web-platform-tests/css/css-grid/alignment/grid-row-axis-self-baseline-synthesized-001-expected.txt: 24 * web-platform-tests/css/css-grid/alignment/grid-row-axis-self-baseline-synthesized-002-expected.txt: 25 * web-platform-tests/css/css-grid/alignment/grid-row-axis-self-baseline-synthesized-003-expected.txt: 26 * web-platform-tests/css/css-grid/alignment/grid-row-axis-self-baseline-synthesized-004-expected.txt: 27 * web-platform-tests/css/css-grid/alignment/grid-self-baseline-not-applied-if-sizing-cyclic-dependency-001-expected.txt: 28 * web-platform-tests/css/css-grid/alignment/grid-self-baseline-not-applied-if-sizing-cyclic-dependency-002-expected.txt: 29 * web-platform-tests/css/css-grid/alignment/grid-self-baseline-not-applied-if-sizing-cyclic-dependency-003-expected.txt: 30 * web-platform-tests/css/css-grid/alignment/self-baseline/grid-self-baseline-changes-grid-area-size-007.html: 31 * web-platform-tests/css/css-grid/alignment/self-baseline/grid-self-baseline-changes-grid-area-size-008.html: 32 * web-platform-tests/css/css-grid/alignment/self-baseline/grid-self-baseline-changes-grid-area-size-009.html: 33 * web-platform-tests/css/css-grid/alignment/self-baseline/grid-self-baseline-changes-grid-area-size-010.html: 34 * web-platform-tests/css/css-grid/alignment/self-baseline/grid-self-baseline-changes-grid-area-size-011.html: 35 * web-platform-tests/css/css-grid/alignment/self-baseline/grid-self-baseline-changes-grid-area-size-012.html: 36 * web-platform-tests/css/css-grid/grid-items/grid-items-percentage-margins-002-expected.txt: 37 * web-platform-tests/css/css-grid/grid-items/grid-items-percentage-margins-vertical-lr-002-expected.txt: 38 * web-platform-tests/css/css-grid/grid-items/grid-items-percentage-margins-vertical-rl-002-expected.txt: 39 * web-platform-tests/css/css-grid/grid-items/grid-items-percentage-paddings-002-expected.txt: 40 * web-platform-tests/css/css-grid/grid-items/grid-items-percentage-paddings-vertical-lr-002-expected.txt: 41 * web-platform-tests/css/css-grid/grid-items/grid-items-percentage-paddings-vertical-rl-002-expected.txt: 42 1 43 2018-11-20 Manuel Rego Casasnovas <rego@igalia.com> 2 44 -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid/alignment/grid-alignment-style-changes-001-expected.txt
r238079 r238457 1 1 2 FAIL .before 1 assert_equals: 3 <div id="item3" data-expected-width="50" data-expected-height="30" data-offset-x="100" class=" before" data-offset-y="20"></div> 4 offsetTop expected 20 but got 0 2 PASS .before 1 5 3 PASS .before 2 6 FAIL .before 3 assert_equals: 7 <div id="item1" data-expected-width="50" data-expected-height="20" data-offset-x="0" class=" before" data-offset-y="30"></div> 8 offsetTop expected 30 but got 0 4 PASS .before 3 9 5 -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid/alignment/grid-alignment-style-changes-002-expected.txt
r238079 r238457 2 2 PASS .before 1 3 3 PASS .before 2 4 FAIL .before 3 assert_equals: 5 <div id="item1" data-expected-width="50" data-expected-height="20" data-offset-x="0" class=" before" data-offset-y="10"></div> 6 offsetTop expected 10 but got 0 4 PASS .before 3 7 5 -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid/alignment/grid-alignment-style-changes-003-expected.txt
r238079 r238457 1 1 2 FAIL .before 1 assert_equals: 3 <div id="item3" data-expected-width="30" data-expected-height="50" data-offset-y="100" class=" before" data-offset-x="20"></div> 4 offsetLeft expected 20 but got 0 2 PASS .before 1 5 3 PASS .before 2 6 FAIL .before 3 assert_equals: 7 <div id="item1" data-expected-width="20" data-expected-height="50" data-offset-y="0" class=" before" data-offset-x="30"></div> 8 offsetLeft expected 30 but got 0 4 PASS .before 3 9 5 -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid/alignment/grid-alignment-style-changes-004-expected.txt
r238079 r238457 2 2 PASS .before 1 3 3 PASS .before 2 4 FAIL .before 3 assert_equals: 5 <div id="item1" data-expected-width="20" data-expected-height="50" data-offset-y="0" class=" before" data-offset-x="10"></div> 6 offsetLeft expected 10 but got 0 4 PASS .before 3 7 5 -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid/alignment/grid-alignment-style-changes-005-expected.txt
r238079 r238457 3 3 É 4 4 5 FAIL .before 1 assert_equals: 6 <div id="item3" data-expected-width="50" data-expected-height="30" data-offset-x="100" class=" before" data-offset-y="8">É</div> 7 offsetTop expected 8 but got 0 5 PASS .before 1 8 6 PASS .before 2 9 FAIL .before 3 assert_equals: 10 <div id="item1" data-expected-width="50" data-expected-height="20" data-offset-x="0" class=" before" data-offset-y="16">É</div> 11 offsetTop expected 16 but got 0 7 PASS .before 3 12 8 -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid/alignment/grid-alignment-style-changes-006-expected.txt
r238079 r238457 5 5 PASS .before 1 6 6 PASS .before 2 7 FAIL .before 3 assert_equals: 8 <div id="item1" data-expected-width="50" data-expected-height="20" data-offset-x="0" class=" before" data-offset-y="8">É</div> 9 offsetTop expected 8 but got 0 7 PASS .before 3 10 8 -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid/alignment/grid-alignment-style-changes-007-expected.txt
r238079 r238457 3 3 É 4 4 5 FAIL .before 1 assert_equals: 6 <div id="item3" data-expected-width="30" data-expected-height="50" data-offset-y="100" class=" before" data-offset-x="2">É</div> 7 offsetLeft expected 2 but got 0 5 PASS .before 1 8 6 PASS .before 2 9 FAIL .before 3 assert_equals: 10 <div id="item1" data-expected-width="20" data-expected-height="50" data-offset-y="0" class=" before" data-offset-x="4">É</div> 11 offsetLeft expected 4 but got 0 7 PASS .before 3 12 8 -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid/alignment/grid-alignment-style-changes-008-expected.txt
r238079 r238457 7 7 FAIL .before 3 assert_equals: 8 8 <div id="item1" data-expected-width="20" data-expected-height="50" data-offset-y="0" class=" before" data-offset-x="5">É</div> 9 offsetLeft expected 5 but got 09 offsetLeft expected 5 but got 2 10 10 -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid/alignment/grid-column-axis-self-baseline-synthesized-001-expected.txt
r232903 r238457 12 12 É É ÉÉ 13 13 14 FAIL .grid 1 assert_equals: 15 <div class="grid alignItemsBaseline verticalRL"> 16 <div class="firstRowFirstColumn horizontalTB" data-offset-x="100" data-offset-y="0" data-expected-width="200" data-expected-height="100">ÉÉ É ÉÉÉ É ÉÉ É</div> 17 <div class="firstRowSecondColumn bigFont paddingRight" data-offset-x="40" data-offset-y="100" data-expected-width="125" data-expected-height="200">É É ÉÉ</div> 18 <div class="autoRowAutoColumnSpanning2 width25"></div> 19 </div> 20 offsetLeft expected 40 but got 175 21 FAIL .grid 2 assert_equals: 22 <div class="grid alignItemsBaseline verticalLR"> 23 <div class="firstRowFirstColumn horizontalTB" data-offset-x="35" data-offset-y="0" data-expected-width="200" data-expected-height="100">ÉÉ É ÉÉÉ É ÉÉ É</div> 24 <div class="firstRowSecondColumn bigFont paddingLeft" data-offset-x="0" data-offset-y="100" data-expected-width="125" data-expected-height="200">É É ÉÉ</div> 25 <div class="autoRowAutoColumnSpanning2 width25"></div> 26 </div> 27 offsetLeft expected 35 but got 0 28 FAIL .grid 3 assert_equals: 29 <div class="grid width300 alignItemsBaseline"> 30 <div class="firstRowFirstColumn verticalLR" data-offset-x="0" data-offset-y="0" data-expected-width="100" data-expected-height="200">ÉÉ É ÉÉÉ É ÉÉ É</div> 31 <div class="firstRowSecondColumn bigFont" data-offset-x="100" data-offset-y="160" data-expected-width="200" data-expected-height="100">É É ÉÉ</div> 32 <div class="autoRowAutoColumnSpanning2 height25"></div> 33 </div> 34 offsetTop expected 160 but got 0 35 FAIL .grid 4 assert_equals: 36 <div class="grid width300 alignItemsBaseline"> 37 <div class="firstRowFirstColumn verticalRL" data-offset-x="0" data-offset-y="0" data-expected-width="100" data-expected-height="200">ÉÉ É ÉÉÉ É ÉÉ É</div> 38 <div class="firstRowSecondColumn bigFont" data-offset-x="100" data-offset-y="160" data-expected-width="200" data-expected-height="100">É É ÉÉ</div> 39 <div class="autoRowAutoColumnSpanning2 height25"></div> 40 </div> 41 offsetTop expected 160 but got 0 14 PASS .grid 1 15 PASS .grid 2 16 PASS .grid 3 17 PASS .grid 4 42 18 -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid/alignment/grid-column-axis-self-baseline-synthesized-002-expected.txt
r232903 r238457 6 6 É É ÉÉ 7 7 8 FAIL .grid 1 assert_equals: 9 <div class="grid alignItemsBaseline verticalRL"> 10 <div class="firstRowFirstColumn fixedWidth" data-offset-x="175" data-offset-y="0" data-expected-width="125" data-expected-height="100"></div> 11 <div class="firstRowSecondColumn bigFont paddingRight" data-offset-x="115" data-offset-y="100" data-expected-width="120" data-expected-height="200">É É ÉÉ</div> 12 <div class="autoRowAutoColumnSpanning2 width25"></div> 13 </div> 14 offsetLeft expected 115 but got 180 15 FAIL .grid 2 assert_equals: 16 <div class="grid alignItemsBaseline verticalLR"> 17 <div class="firstRowFirstColumn fixedWidth" data-offset-x="30" data-offset-y="0" data-expected-width="125" data-expected-height="100"></div> 18 <div class="firstRowSecondColumn bigFont paddingLeft" data-offset-x="0" data-offset-y="100" data-expected-width="120" data-expected-height="200">É É ÉÉ</div> 19 <div class="autoRowAutoColumnSpanning2 width25"></div> 20 </div> 21 offsetLeft expected 30 but got 0 22 FAIL .grid 3 assert_equals: 23 <div class="grid width300 alignItemsBaseline"> 24 <div class="firstRowFirstColumn fixedHeight" data-offset-x="0" data-offset-y="0" data-expected-width="100" data-expected-height="125"></div> 25 <div class="firstRowSecondColumn bigFont" data-offset-x="100" data-offset-y="85" data-expected-width="200" data-expected-height="100">É É ÉÉ</div> 26 <div class="autoRowAutoColumnSpanning2 height25"></div> 27 </div> 28 offsetTop expected 85 but got 0 8 PASS .grid 1 9 PASS .grid 2 10 PASS .grid 3 29 11 -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid/alignment/grid-column-axis-self-baseline-synthesized-003-expected.txt
r232903 r238457 6 6 É É ÉÉ 7 7 8 FAIL .grid 1 assert_equals: 9 <div class="grid alignItemsBaseline verticalRL"> 10 <div class="firstRowFirstColumn relativeWidth" data-offset-x="200" data-offset-y="0" data-expected-width="100" data-expected-height="100"></div> 11 <div class="firstRowSecondColumn bigFont paddingRight" data-offset-x="140" data-offset-y="100" data-expected-width="120" data-expected-height="200">É É ÉÉ</div> 12 <div class="autoRowAutoColumnSpanning2 width25"></div> 13 </div> 14 offsetLeft expected 140 but got 180 15 FAIL .grid 2 assert_equals: 16 <div class="grid alignItemsBaseline verticalLR"> 17 <div class="firstRowFirstColumn relativeWidth" data-offset-x="30" data-offset-y="0" data-expected-width="100" data-expected-height="100"></div> 18 <div class="firstRowSecondColumn bigFont paddingLeft" data-offset-x="0" data-offset-y="100" data-expected-width="120" data-expected-height="200">É É ÉÉ</div> 19 <div class="autoRowAutoColumnSpanning2 width25"></div> 20 </div> 21 offsetLeft expected 30 but got 0 22 FAIL .grid 3 assert_equals: 23 <div class="grid width300 alignItemsBaseline"> 24 <div class="firstRowFirstColumn relativeHeight" data-offset-x="0" data-offset-y="0" data-expected-width="100" data-expected-height="100"></div> 25 <div class="firstRowSecondColumn bigFont" data-offset-x="100" data-offset-y="60" data-expected-width="200" data-expected-height="100">É É ÉÉ</div> 26 <div class="autoRowAutoColumnSpanning2 height25"></div> 27 </div> 28 offsetTop expected 60 but got 0 8 PASS .grid 1 9 PASS .grid 2 10 PASS .grid 3 29 11 -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid/alignment/grid-column-axis-self-baseline-synthesized-004-expected.txt
r232903 r238457 6 6 É É ÉÉ 7 7 8 FAIL .grid 1 assert_equals: 9 <div class="grid alignItemsBaseline verticalRL"> 10 <div class="firstRowFirstColumn fixedWidth" data-offset-x="85" data-offset-y="0" data-expected-width="125" data-expected-height="100"></div> 11 <div class="firstRowSecondColumn bigFont paddingRight" data-offset-x="25" data-offset-y="100" data-expected-width="120" data-expected-height="200">É É ÉÉ</div> 12 <div class="autoRowAutoColumnSpanning2 width25"></div> 13 </div> 14 offsetLeft expected 85 but got 25 15 FAIL .grid 2 assert_equals: 16 <div class="grid alignItemsBaseline verticalLR"> 17 <div class="firstRowFirstColumn fixedWidth" data-offset-x="30" data-offset-y="0" data-expected-width="125" data-expected-height="100"></div> 18 <div class="firstRowSecondColumn bigFont paddingLeft" data-offset-x="0" data-offset-y="100" data-expected-width="120" data-expected-height="200">É É ÉÉ</div> 19 <div class="autoRowAutoColumnSpanning2 width25"></div> 20 </div> 21 offsetLeft expected 30 but got 0 22 FAIL .grid 3 assert_equals: 23 <div class="grid width300 alignItemsBaseline"> 24 <div class="firstRowFirstColumn fixedHeight" data-offset-x="0" data-offset-y="0" data-expected-width="100" data-expected-height="125"></div> 25 <div class="firstRowSecondColumn bigFont" data-offset-x="100" data-offset-y="85" data-expected-width="200" data-expected-height="100">É É ÉÉ</div> 26 <div class="autoRowAutoColumnSpanning2 height25"></div> 27 </div> 28 offsetTop expected 85 but got 0 8 PASS .grid 1 9 PASS .grid 2 10 PASS .grid 3 29 11 -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid/alignment/grid-row-axis-self-baseline-synthesized-001-expected.txt
r232903 r238457 12 12 É É ÉÉ 13 13 14 FAIL .grid 1 assert_equals: 15 <div class="grid justifyItemsBaseline verticalRL"> 16 <div class="firstRowFirstColumn" data-offset-x="200" data-offset-y="0" data-expected-width="100" data-expected-height="200">ÉÉ É ÉÉÉ É ÉÉ É</div> 17 <div class="secondRowFirstColumn bigFont horizontalTB" data-offset-x="0" data-offset-y="160" data-expected-width="200" data-expected-height="100">É É ÉÉ</div> 18 <div class="autoRowSpanning2AutoColumn height25"></div> 19 </div> 20 offsetTop expected 160 but got 0 21 FAIL .grid 2 assert_equals: 22 <div class="grid justifyItemsBaseline verticalLR"> 23 <div class="firstRowFirstColumn" data-offset-x="0" data-offset-y="0" data-expected-width="100" data-expected-height="200">ÉÉ É ÉÉÉ É ÉÉ É</div> 24 <div class="secondRowFirstColumn bigFont horizontalTB" data-offset-x="100" data-offset-y="160" data-expected-width="200" data-expected-height="100">É É ÉÉ</div> 25 <div class="autoRowSpanning2AutoColumn height25"></div> 26 </div> 27 offsetTop expected 160 but got 0 28 FAIL .grid 3 assert_equals: 29 <div class="grid width300 justifyItemsBaseline"> 30 <div class="firstRowFirstColumn" data-offset-x="35" data-offset-y="0" data-expected-width="200" data-expected-height="100">ÉÉ É ÉÉÉ É ÉÉ É</div> 31 <div class="secondRowFirstColumn bigFont paddingLeft verticalLR" data-offset-x="0" data-offset-y="100" data-expected-width="125" data-expected-height="200">É É ÉÉ</div> 32 <div class="autoRowSpanning2AutoColumn width25"></div> 33 </div> 34 offsetLeft expected 35 but got 0 35 FAIL .grid 4 assert_equals: 36 <div class="grid width300 justifyItemsBaseline"> 37 <div class="firstRowFirstColumn" data-offset-x="60" data-offset-y="0" data-expected-width="200" data-expected-height="100">ÉÉ É ÉÉÉ É ÉÉ É</div> 38 <div class="secondRowFirstColumn bigFont paddingRight verticalRL" data-offset-x="0" data-offset-y="100" data-expected-width="125" data-expected-height="200">É É ÉÉ</div> 39 <div class="autoRowSpanning2AutoColumn width25"></div> 40 </div> 41 offsetLeft expected 60 but got 0 14 PASS .grid 1 15 PASS .grid 2 16 PASS .grid 3 17 PASS .grid 4 42 18 -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid/alignment/grid-row-axis-self-baseline-synthesized-002-expected.txt
r232903 r238457 8 8 É É ÉÉ 9 9 10 FAIL .grid 1 assert_equals: 11 <div class="grid justifyItemsBaseline verticalRL"> 12 <div class="firstRowFirstColumn fixedHeight" data-offset-x="200" data-offset-y="0" data-expected-width="100" data-expected-height="125"></div> 13 <div class="secondRowFirstColumn bigFont horizontalTB" data-offset-x="0" data-offset-y="85" data-expected-width="200" data-expected-height="100">É É ÉÉ</div> 14 <div class="autoRowSpanning2AutoColumn height25"></div> 15 </div> 16 offsetTop expected 85 but got 0 17 FAIL .grid 2 assert_equals: 18 <div class="grid justifyItemsBaseline verticalLR"> 19 <div class="firstRowFirstColumn fixedHeight" data-offset-x="0" data-offset-y="0" data-expected-width="100" data-expected-height="125"></div> 20 <div class="secondRowFirstColumn bigFont horizontalTB" data-offset-x="100" data-offset-y="85" data-expected-width="200" data-expected-height="100">É É ÉÉ</div> 21 <div class="autoRowSpanning2AutoColumn height25"></div> 22 </div> 23 offsetTop expected 85 but got 0 24 FAIL .grid 3 assert_equals: 25 <div class="grid width300 justifyItemsBaseline"> 26 <div class="firstRowFirstColumn fixedWidth" data-offset-x="60" data-offset-y="0" data-expected-width="125" data-expected-height="100"></div> 27 <div class="secondRowFirstColumn bigFont paddingRight verticalRL" data-offset-x="0" data-offset-y="100" data-expected-width="120" data-expected-height="200">É É ÉÉ</div> 28 <div class="autoRowSpanning2AutoColumn width25"></div> 29 </div> 30 offsetLeft expected 60 but got 0 31 FAIL .grid 4 assert_equals: 32 <div class="grid width300 justifyItemsBaseline"> 33 <div class="firstRowFirstColumn fixedWidth" data-offset-x="30" data-offset-y="0" data-expected-width="125" data-expected-height="100"></div> 34 <div class="secondRowFirstColumn bigFont paddingLeft verticalLR" data-offset-x="0" data-offset-y="100" data-expected-width="120" data-expected-height="200">É É ÉÉ</div> 35 <div class="autoRowSpanning2AutoColumn width25"></div> 36 </div> 37 offsetLeft expected 30 but got 0 10 PASS .grid 1 11 PASS .grid 2 12 PASS .grid 3 13 PASS .grid 4 38 14 -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid/alignment/grid-row-axis-self-baseline-synthesized-003-expected.txt
r232903 r238457 8 8 É É ÉÉ 9 9 10 FAIL .grid 1 assert_equals: 11 <div class="grid justifyItemsBaseline verticalRL"> 12 <div class="firstRowFirstColumn relativeHeight" data-offset-x="200" data-offset-y="0" data-expected-width="100" data-expected-height="100"></div> 13 <div class="secondRowFirstColumn bigFont horizontalTB" data-offset-x="0" data-offset-y="60" data-expected-width="200" data-expected-height="100">É É ÉÉ</div> 14 <div class="autoRowSpanning2AutoColumn height25"></div> 15 </div> 16 offsetTop expected 60 but got 0 17 FAIL .grid 2 assert_equals: 18 <div class="grid justifyItemsBaseline verticalLR"> 19 <div class="firstRowFirstColumn relativeHeight" data-offset-x="0" data-offset-y="0" data-expected-width="100" data-expected-height="100"></div> 20 <div class="secondRowFirstColumn bigFont horizontalTB" data-offset-x="100" data-offset-y="60" data-expected-width="200" data-expected-height="100">É É ÉÉ</div> 21 <div class="autoRowSpanning2AutoColumn height25"></div> 22 </div> 23 offsetTop expected 60 but got 0 24 FAIL .grid 3 assert_equals: 25 <div class="grid width300 justifyItemsBaseline"> 26 <div class="firstRowFirstColumn relativeWidth" data-offset-x="60" data-offset-y="0" data-expected-width="100" data-expected-height="100"></div> 27 <div class="secondRowFirstColumn bigFont paddingRight verticalRL" data-offset-x="0" data-offset-y="100" data-expected-width="120" data-expected-height="200">É É ÉÉ</div> 28 <div class="autoRowSpanning2AutoColumn width25"></div> 29 </div> 30 offsetLeft expected 60 but got 0 31 FAIL .grid 4 assert_equals: 32 <div class="grid width300 justifyItemsBaseline"> 33 <div class="firstRowFirstColumn relativeWidth" data-offset-x="30" data-offset-y="0" data-expected-width="100" data-expected-height="100"></div> 34 <div class="secondRowFirstColumn bigFont paddingLeft verticalLR" data-offset-x="0" data-offset-y="100" data-expected-width="120" data-expected-height="200">É É ÉÉ</div> 35 <div class="autoRowSpanning2AutoColumn width25"></div> 36 </div> 37 offsetLeft expected 30 but got 0 10 PASS .grid 1 11 PASS .grid 2 12 PASS .grid 3 13 PASS .grid 4 38 14 -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid/alignment/grid-row-axis-self-baseline-synthesized-004-expected.txt
r232903 r238457 8 8 É É ÉÉ 9 9 10 FAIL .inline-grid 1 assert_equals: 11 <div class="inline-grid justifyItemsBaseline verticalRL"> 12 <div class="firstRowFirstColumn fixedHeight" data-offset-x="200" data-offset-y="0" data-expected-width="100" data-expected-height="125"></div> 13 <div class="secondRowFirstColumn bigFont horizontalTB" data-offset-x="0" data-offset-y="85" data-expected-width="200" data-expected-height="100">É É ÉÉ</div> 14 <div class="autoRowSpanning2AutoColumn height25"></div> 15 </div> 16 offsetTop expected 85 but got 0 17 FAIL .inline-grid 2 assert_equals: 18 <div class="inline-grid justifyItemsBaseline verticalLR"> 19 <div class="firstRowFirstColumn fixedHeight" data-offset-x="0" data-offset-y="0" data-expected-width="100" data-expected-height="125"></div> 20 <div class="secondRowFirstColumn bigFont horizontalTB" data-offset-x="100" data-offset-y="85" data-expected-width="200" data-expected-height="100">É É ÉÉ</div> 21 <div class="autoRowSpanning2AutoColumn height25"></div> 22 </div> 23 offsetTop expected 85 but got 0 24 FAIL .inline-grid 3 assert_equals: 25 <div class="inline-grid justifyItemsBaseline" data-expected-width="210" data-expected-height="300"> 26 <div class="firstRowFirstColumn fixedWidth" data-offset-x="60" data-offset-y="0" data-expected-width="125" data-expected-height="100"></div> 27 <div class="secondRowFirstColumn bigFont paddingRight verticalRL" data-offset-x="0" data-offset-y="100" data-expected-width="120" data-expected-height="200">É É ÉÉ</div> 28 <div class="autoRowSpanning2AutoColumn width25"></div> 29 </div> 30 width expected 210 but got 150 31 FAIL .inline-grid 4 assert_equals: 32 <div class="inline-grid justifyItemsBaseline" data-expected-width="180" data-expected-height="300"> 33 <div class="firstRowFirstColumn fixedWidth" data-offset-x="30" data-offset-y="0" data-expected-width="125" data-expected-height="100"></div> 34 <div class="secondRowFirstColumn bigFont paddingLeft verticalLR" data-offset-x="0" data-offset-y="100" data-expected-width="120" data-expected-height="200">É É ÉÉ</div> 35 <div class="autoRowSpanning2AutoColumn width25"></div> 36 </div> 37 width expected 180 but got 150 10 PASS .inline-grid 1 11 PASS .inline-grid 2 12 PASS .inline-grid 3 13 PASS .inline-grid 4 38 14 -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid/alignment/grid-self-baseline-not-applied-if-sizing-cyclic-dependency-001-expected.txt
r238079 r238457 19 19 baseline is not applied initially, but orthogonal items force repeating the track sizing and height is not indefinite in that phase. 20 20 21 FAIL .inline-grid 1 assert_equals: 22 <div class="inline-grid justifyItemsBaseline rows max-flex-columns"> 23 <div class="firstRowFirstColumn verticalRL width50" data-offset-x="0" data-offset-y="0" data-expected-width="50" data-expected-height="100"></div> 24 <div class="secondRowFirstColumn verticalRL width200Percent" data-offset-x="-50" data-offset-y="100" data-expected-width="100" data-expected-height="100"></div> 25 <div class="firstRowSpanning2AutoColumn verticalRL width25" data-offset-x="50" data-offset-y="0" data-expected-width="25" data-expected-height="200"></div> 26 </div> 27 offsetLeft expected -50 but got 0 28 FAIL .inline-grid 2 assert_equals: 29 <div class="inline-grid justifyItemsBaseline rows flex-columns"> 30 <div class="firstRowFirstColumn verticalRL width50" data-offset-x="0" data-offset-y="0" data-expected-width="50" data-expected-height="100"></div> 31 <div class="secondRowFirstColumn verticalRL width200Percent" data-offset-x="0" data-offset-y="100" data-expected-width="100" data-expected-height="100"></div> 32 <div class="firstRowSpanning2AutoColumn verticalRL width25" data-offset-x="50" data-offset-y="0" data-expected-width="25" data-expected-height="200"></div> 33 </div> 34 width expected 100 but got 300 35 FAIL .inline-grid 3 assert_equals: 36 <div class="inline-grid justifyItemsBaseline rows fit-content-columns"> 37 <div class="firstRowFirstColumn verticalRL" data-offset-x="0" data-offset-y="0" data-expected-width="80" data-expected-height="100">ÉÉ É ÉÉ ÉÉÉÉ É ÉÉ ÉÉÉ ÉÉ É</div> 38 <div class="secondRowFirstColumn verticalRL width200Percent" data-offset-x="0" data-offset-y="100" data-expected-width="160" data-expected-height="100"></div> 39 <div class="firstRowSpanning2AutoColumn verticalRL width25" data-offset-x="80" data-offset-y="0" data-expected-width="25" data-expected-height="200"></div> 40 </div> 41 width expected 160 but got 420 42 FAIL .inline-grid 4 assert_equals: 43 <div class="inline-grid justifyItemsBaseline rows max-content-columns"> 44 <div class="firstRowFirstColumn verticalRL" data-offset-x="0" data-offset-y="0" data-expected-width="80" data-expected-height="100">ÉÉ É ÉÉ ÉÉÉÉ É ÉÉ ÉÉÉ ÉÉ É</div> 45 <div class="secondRowFirstColumn verticalRL width200Percent" data-offset-x="0" data-offset-y="100" data-expected-width="160" data-expected-height="100"></div> 46 <div class="firstRowSpanning2AutoColumn verticalRL width25" data-offset-x="80" data-offset-y="0" data-expected-width="25" data-expected-height="200"></div> 47 </div> 48 width expected 160 but got 420 49 FAIL .inline-grid 5 assert_equals: 50 <div class="inline-grid justifyItemsBaseline rows min-content-columns"> 51 <div class="firstRowFirstColumn verticalRL" data-offset-x="0" data-offset-y="0" data-expected-width="80" data-expected-height="100">ÉÉ É ÉÉ ÉÉÉÉ É ÉÉ ÉÉÉ ÉÉ É</div> 52 <div class="secondRowFirstColumn verticalRL width200Percent" data-offset-x="0" data-offset-y="100" data-expected-width="160" data-expected-height="100"></div> 53 <div class="firstRowSpanning2AutoColumn verticalRL width25" data-offset-x="80" data-offset-y="0" data-expected-width="25" data-expected-height="200"></div> 54 </div> 55 width expected 160 but got 420 56 FAIL .inline-grid 6 assert_equals: 57 <div class="inline-grid justifyItemsBaseline rows"> 58 <div class="firstRowFirstColumn verticalRL width50" data-offset-x="0" data-offset-y="0" data-expected-width="50" data-expected-height="100"></div> 59 <div class="secondRowFirstColumn verticalRL width200Percent" data-offset-x="0" data-offset-y="100" data-expected-width="100" data-expected-height="100"></div> 60 <div class="firstRowSpanning2AutoColumn verticalRL width25" data-offset-x="50" data-offset-y="0" data-expected-width="25" data-expected-height="200"></div> 61 </div> 62 width expected 100 but got 300 21 PASS .inline-grid 1 22 PASS .inline-grid 2 23 PASS .inline-grid 3 24 PASS .inline-grid 4 25 PASS .inline-grid 5 26 PASS .inline-grid 6 63 27 PASS .inline-grid 7 64 28 PASS .inline-grid 8 -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid/alignment/grid-self-baseline-not-applied-if-sizing-cyclic-dependency-002-expected.txt
r238079 r238457 76 76 ÉÉ É ÉÉ ÉÉÉÉ É ÉÉ ÉÉÉ ÉÉ É 77 77 78 FAIL .inline-grid 1 assert_equals: 79 <div class="inline-grid verticalRL alignItemsBaseline columns max-flex-rows"> 80 <div class="firstRowFirstColumn bigFont paddingLeft" data-offset-x="-10" data-offset-y="0" data-expected-width="75" data-expected-height="100">É</div> 81 <div class="firstRowSecondColumn horizontalTB" data-offset-x="25" data-offset-y="100" data-expected-width="416" data-expected-height="100">ÉÉ É ÉÉ ÉÉÉÉ É ÉÉ ÉÉÉ ÉÉ É</div> 82 <div class="autoRowAutoColumnSpanning2 width25" data-offset-x="0" data-offset-y="0" data-expected-width="25" data-expected-height="200"></div> 83 </div> 84 offsetLeft expected -10 but got 366 78 PASS .inline-grid 1 85 79 PASS .inline-grid 2 86 80 PASS .inline-grid 3 … … 88 82 PASS .inline-grid 5 89 83 PASS .inline-grid 6 90 FAIL .inline-grid 7 assert_equals: 91 <div class="inline-grid verticalLR alignItemsBaseline columns max-flex-rows"> 92 <div class="firstRowFirstColumn bigFont paddingLeft" data-offset-x="0" data-offset-y="0" data-expected-width="75" data-expected-height="100">É</div> 93 <div class="firstRowSecondColumn horizontalTB" data-offset-x="35" data-offset-y="100" data-expected-width="416" data-expected-height="100">ÉÉ É ÉÉ ÉÉÉÉ É ÉÉ ÉÉÉ ÉÉ É</div> 94 <div class="autoRowAutoColumnSpanning2 width25" data-offset-x="416" data-offset-y="0" data-expected-width="25" data-expected-height="200"></div> 95 </div> 96 offsetLeft expected 35 but got 0 84 PASS .inline-grid 7 97 85 PASS .inline-grid 8 98 86 PASS .inline-grid 9 … … 100 88 PASS .inline-grid 11 101 89 PASS .inline-grid 12 102 FAIL .inline-grid 13 assert_equals: 103 <div class="inline-grid justifyItemsBaseline rows max-flex-columns"> 104 <div class="firstRowFirstColumn bigFont verticalLR paddingLeft" data-offset-x="0" data-offset-y="0" data-expected-width="75" data-expected-height="100">É</div> 105 <div class="secondRowFirstColumn" data-offset-x="35" data-offset-y="100" data-expected-width="416" data-expected-height="100">ÉÉ É ÉÉ ÉÉÉÉ É ÉÉ ÉÉÉ ÉÉ É</div> 106 <div class="firstRowSpanning2AutoColumn width25" data-offset-x="416" data-offset-y="0" data-expected-width="25" data-expected-height="200"></div> 107 </div> 108 offsetLeft expected 35 but got 0 90 PASS .inline-grid 13 109 91 PASS .inline-grid 14 110 92 PASS .inline-grid 15 … … 112 94 PASS .inline-grid 17 113 95 PASS .inline-grid 18 114 FAIL .inline-grid 19 assert_equals: 115 <div class="inline-grid alignItemsBaseline columns max-flex-rows"> 116 <div class="firstRowFirstColumn bigFont paddingBottom" data-offset-x="0" data-offset-y="376" data-expected-width="100" data-expected-height="75">É</div> 117 <div class="firstRowSecondColumn verticalLR" data-offset-x="100" data-offset-y="0" data-expected-width="100" data-expected-height="416">ÉÉ É ÉÉ ÉÉÉÉ É ÉÉ ÉÉÉ ÉÉ É</div> 118 <div class="autoRowAutoColumnSpanning2 height25" data-offset-x="0" data-offset-y="416" data-expected-width="200" data-expected-height="25"></div> 119 </div> 120 offsetTop expected 376 but got 0 96 PASS .inline-grid 19 121 97 PASS .inline-grid 20 122 98 PASS .inline-grid 21 -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid/alignment/grid-self-baseline-not-applied-if-sizing-cyclic-dependency-003-expected.txt
r238079 r238457 20 20 É 21 21 22 FAIL .grid 1 assert_equals: 23 <div class="grid column justifyItemsBaseline"> 24 <div class="item1 relativeWidth height50" data-offset-x="16" data-offset-y="0" data-expected-width="40" data-expected-height="50"></div> 25 <div class="item2" data-offset-x="16" data-offset-y="50" data-expected-width="20" data-expected-height="50">É</div> 26 <div class="item3 verticalLR" data-offset-x="0" data-offset-y="100" data-expected-width="80" data-expected-height="100">É</div> 27 </div> 28 offsetLeft expected 16 but got 0 29 FAIL .grid 2 assert_equals: 30 <div class="grid column justifyItemsBaseline"> 31 <div class="item1 relativeWidth height50" data-offset-x="16" data-offset-y="0" data-expected-width="40" data-expected-height="50"></div> 32 <div class="item2 verticalLR" data-offset-x="12" data-offset-y="50" data-expected-width="20" data-expected-height="50">É</div> 33 <div class="item3 verticalLR" data-offset-x="0" data-offset-y="100" data-expected-width="80" data-expected-height="100">É</div> 34 </div> 35 offsetLeft expected 16 but got 0 36 FAIL .grid 3 assert_equals: 37 <div class="grid column justifyItemsBaseline"> 38 <div class="item1" data-offset-x="16" data-offset-y="0" data-expected-width="30" data-expected-height="50">É</div> 39 <div class="item2 verticalLR" data-offset-x="12" data-offset-y="50" data-expected-width="20" data-expected-height="50">É</div> 40 <div class="item3 verticalLR" data-offset-x="0" data-offset-y="100" data-expected-width="80" data-expected-height="100">É</div> 41 </div> 42 offsetLeft expected 16 but got 0 43 FAIL .grid 4 assert_equals: 44 <div class="grid row alignItemsBaseline"> 45 <div class="item1 relativeHeight" data-offset-x="0" data-offset-y="24" data-expected-width="50" data-expected-height="40"></div> 46 <div class="item2 verticalLR" data-offset-x="50" data-offset-y="44" data-expected-width="50" data-expected-height="20">É</div> 47 <div class="item3" data-offset-x="100" data-offset-y="0" data-expected-width="100" data-expected-height="80">É</div> 48 </div> 49 offsetTop expected 24 but got 0 50 FAIL .grid 5 assert_equals: 51 <div class="grid row alignItemsBaseline "> 52 <div class="item1 relativeHeight" data-offset-x="0" data-offset-y="40" data-expected-width="50" data-expected-height="40"></div> 53 <div class="item2" data-offset-x="50" data-offset-y="64" data-expected-width="50" data-expected-height="20">É</div> 54 <div class="item3 verticalLR" data-offset-x="100" data-offset-y="0" data-expected-width="100" data-expected-height="80">É</div> 55 </div> 56 offsetTop expected 40 but got 0 57 FAIL .grid 6 assert_equals: 58 <div class="grid row alignItemsBaseline"> 59 <div class="item1 verticalLR" data-offset-x="0" data-offset-y="34" data-expected-width="50" data-expected-height="30">É</div> 60 <div class="item2" data-offset-x="50" data-offset-y="48" data-expected-width="50" data-expected-height="20">É</div> 61 <div class="item3" data-offset-x="100" data-offset-y="0" data-expected-width="100" data-expected-height="80">É</div> 62 </div> 63 offsetTop expected 34 but got 0 22 PASS .grid 1 23 PASS .grid 2 24 PASS .grid 3 25 PASS .grid 4 26 PASS .grid 5 27 PASS .grid 6 64 28 -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid/alignment/self-baseline/grid-self-baseline-changes-grid-area-size-002.html
r225561 r238457 29 29 grid-auto-columns: 50px; 30 30 align-items: baseline; 31 align-content: space-evenly; 31 align-content: space-between; 32 -webkit-text-orientation: sideways; 32 33 } 33 34 .firstRowFirstColumn { … … 46 47 <p>Test passes if there is a filled green square and <strong>no red</strong>.</p> 47 48 <div class="block"> 48 <div style="top: 25px; left: 0px;">XX<br>XXXX<br>XX</div> 49 <div style="top: 73px; left: 0px;">XX X</div> 50 <div style="top: 17px; left: 50px" class="big">X</div> 49 <div style="top: 8px; left: 0px;">XX<br>XXXX<br>XX</div> 50 <div style="top: 70px; left: 0px;">XX X</div> 51 <div style="top: 80px; left: 0px;">X XX</div> 52 <div style="top: 90px; left: 0px;">X</div> 53 <div style="top: 0px; left: 50px" class="big">X</div> 51 54 </div> 52 55 <div class="grid"> 53 56 <div class="firstRowFirstColumn">XX XXXX XX</div> 54 57 <div class="firstRowSecondColumn big">X</div> 55 <div class="secondRowFirstColumn">XX X </div>58 <div class="secondRowFirstColumn">XX X X XX X</div> 56 59 </div> -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid/alignment/self-baseline/grid-self-baseline-changes-grid-area-size-007.html
r225561 r238457 14 14 position: absolute; 15 15 z-index: -1; 16 background: green;17 16 width: 100px; 18 17 height: 100px; 18 background: green; 19 19 } 20 20 .block > div { … … 30 30 justify-items: baseline; 31 31 justify-content: start; 32 -webkit-text-orientation: sideways; 32 33 } 33 34 .grid > div { writing-mode: vertical-lr; } … … 47 48 <p>Test passes if there is a filled green square and <strong>no red</strong>.</p> 48 49 <div class="block"> 49 <div style="top: 0px; left: 5px;">XXXX<br>XXXX</div>50 <div style="top: 20px; left: 1 5px;">X</div>51 <div style="top: 30px; left: 1 5px;">X X</div>50 <div style="top: 0px; left: 2px;">XXXX<br>XXXX</div> 51 <div style="top: 20px; left: 12px;">X</div> 52 <div style="top: 30px; left: 12px;">X X</div> 52 53 <div style="top: 50px; left: 0px" class="big">X</div> 53 54 </div> -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid/alignment/self-baseline/grid-self-baseline-changes-grid-area-size-008.html
r225561 r238457 29 29 grid-auto-rows: 50px; 30 30 justify-items: baseline; 31 justify-content: space-evenly; 31 justify-content: space-between; 32 -webkit-text-orientation: sideways; 32 33 } 33 34 .grid > div { writing-mode: vertical-lr; } 35 .block > div { writing-mode: vertical-lr; } 34 36 .firstRowFirstColumn { 35 37 grid-row: 1; … … 47 49 <p>Test passes if there is a filled green square and <strong>no red</strong>.</p> 48 50 <div class="block"> 49 <div style="top: 0px; left: 23px;">XXX<br>XXX</div> 50 <div style="top: 0px; left: 72px;">X</div> 51 <div style="top: 10px; left: 72px;">X</div> 52 <div style="top: 20px; left: 33px;">X</div> 53 <div style="top: 30px; left: 33px;">X</div> 54 <div style="top: 30px; left: 72px;">X</div> 55 <div style="top: 50px; left: 18px" class="big">X</div> 51 <div style="top: 0px; left: 2px;">XX<br>XXXX<br>XX</div> 52 <div style="top: 0px; left: 70px;">XX X</div> 53 <div style="top: 0px; left: 80px;">X XX</div> 54 <div style="top: 0px; left: 90px;">X</div> 55 <div style="top: 50px; left: 0px" class="big">X</div> 56 56 </div> 57 57 <div class="grid"> 58 58 <div class="firstRowFirstColumn">XX XXXX XX</div> 59 59 <div class="secondRowFirstColumn big">X</div> 60 <div class="firstRowSecondColumn">XX X </div>60 <div class="firstRowSecondColumn">XX X X XX X</div> 61 61 </div> -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid/alignment/self-baseline/grid-self-baseline-changes-grid-area-size-009.html
r225561 r238457 30 30 justify-items: baseline; 31 31 justify-content: start; 32 -webkit-text-orientation: sideways; 32 33 } 33 34 .grid > div { writing-mode: vertical-lr; } … … 47 48 <p>Test passes if there is a filled green square and <strong>no red</strong>.</p> 48 49 <div class="block"> 49 <div style="top: 0px; left: 10px; width: 40px; background: red; height: 40px;"></div>50 <div style="top: 0px; left: 50px;">X</div>51 <div style="top: 10px; left: 50px;">X</div>52 <div style="top: 30px; left: 50px;">X</div>50 <div style="top: 0px; left: 4px; width: 40px; background: red; height: 40px;"></div> 51 <div style="top: 0px; left: 44px;">X</div> 52 <div style="top: 10px; left: 44px;">X</div> 53 <div style="top: 30px; left: 44px;">X</div> 53 54 <div style="top: 50px; left: 0px" class="big">X</div> 54 55 </div> -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid/alignment/self-baseline/grid-self-baseline-changes-grid-area-size-010.html
r225561 r238457 28 28 justify-items: baseline; 29 29 justify-content: start; 30 text-orientation: sideways; 30 31 } 31 32 .grid > div { writing-mode: vertical-lr; } … … 46 47 <p>Test passes if there is a filled green square and <strong>no red</strong>.</p> 47 48 <div class="block"> 48 <div style="top: 0px; left: 5px;">XXXX<br>XXXX</div>49 <div style="top: 20px; left: 1 5px;">X</div>50 <div style="top: 30px; left: 1 5px;">X X</div>49 <div style="top: 0px; left: 2px;">XXXX<br>XXXX</div> 50 <div style="top: 20px; left: 12px;">X</div> 51 <div style="top: 30px; left: 12px;">X X</div> 51 52 <div style="top: 50px; left: 0px" class="big">X</div> 52 53 </div> -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid/alignment/self-baseline/grid-self-baseline-changes-grid-area-size-011.html
r225561 r238457 45 45 <p>Test passes if there is a filled green square and <strong>no red</strong>.</p> 46 46 <div class="block"> 47 <div style="top: 0px; left: 5px;">XXX<br>XXX</div>48 <div style="top: 0px; left: 5 5px;">X</div>49 <div style="top: 10px; left: 5 5px;">X</div>50 <div style="top: 20px; left: 1 5px;">X</div>51 <div style="top: 30px; left: 1 5px;">X</div>52 <div style="top: 30px; left: 5 5px;">X</div>47 <div style="top: 0px; left: 2px;">XXX<br>XXX</div> 48 <div style="top: 0px; left: 52px;">X</div> 49 <div style="top: 10px; left: 52px;">X</div> 50 <div style="top: 20px; left: 12px;">X</div> 51 <div style="top: 30px; left: 12px;">X</div> 52 <div style="top: 30px; left: 52px;">X</div> 53 53 <div style="top: 50px; left: 0px" class="big">X</div> 54 54 </div> -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid/alignment/self-baseline/grid-self-baseline-changes-grid-area-size-012.html
r225561 r238457 28 28 justify-items: baseline; 29 29 justify-content: start; 30 -webkit-text-orientation: sideways; 30 31 } 31 32 .grid > div { writing-mode: vertical-lr; } … … 45 46 <p>Test passes if there is a filled green square and <strong>no red</strong>.</p> 46 47 <div class="block"> 47 <div style="top: 0px; left: 10px; width: 40px; background: red; height: 40px;"></div>48 <div style="top: 0px; left: 50px;">X</div>49 <div style="top: 10px; left: 50px;">X</div>50 <div style="top: 30px; left: 50px;">X</div>51 <div style="top: 50px; left: 0px;" >X</div>48 <div style="top: 0px; left: 4px; width: 40px; background: red; height: 40px;"></div> 49 <div style="top: 0px; left: 44px;">X</div> 50 <div style="top: 10px; left: 44px;">X</div> 51 <div style="top: 30px; left: 44px;">X</div> 52 <div style="top: 50px; left: 0px;" class="big">X</div> 52 53 </div> 53 54 <div class="grid"> -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-items/grid-items-percentage-margins-002-expected.txt
r232903 r238457 2 2 PASS .grid 1 3 3 PASS .grid 2 4 FAIL .grid 3 assert_equals: 5 <div class="grid directionRTL"> 6 <div class="marginRight50Percent" data-expected-margin-right="50" data-offset-x="440" data-expected-width="10" data-expected-height="10">X</div> 7 <div data-offset-x="400" data-offset-y="10" data-expected-width="100" data-expected-height="10"></div> 8 </div> 9 offsetLeft expected 440 but got 365 10 FAIL .grid 4 assert_equals: 11 <div class="grid directionRTL"> 12 <div class="marginLeft50Percent" data-expected-margin-left="50" data-offset-x="490" data-expected-width="10" data-expected-height="10">X</div> 13 <div data-offset-x="400" data-offset-y="10" data-expected-width="100" data-expected-height="10"></div> 14 </div> 15 margin-left expected "50" but got "125" 4 PASS .grid 3 5 PASS .grid 4 16 6 PASS .grid 5 17 7 PASS .grid 6 18 FAIL .grid 7 assert_equals: 19 <div class="grid"> 20 <div class="marginRight50Percent" data-expected-margin-right="50" data-offset-x="0" data-expected-width="10" data-expected-height="10">X</div> 21 <div data-offset-x="0" data-offset-y="10" data-expected-width="100" data-expected-height="10"></div> 22 </div> 23 margin-right expected "50" but got "125" 24 FAIL .grid 8 assert_equals: 25 <div class="grid"> 26 <div class="marginLeft50Percent" data-expected-margin-left="50" data-offset-x="50" data-expected-width="10" data-expected-height="10">X</div> 27 <div data-offset-x="0" data-offset-y="10" data-expected-width="100" data-expected-height="10"></div> 28 </div> 29 offsetLeft expected 50 but got 125 8 PASS .grid 7 9 PASS .grid 8 30 10 Direction LTR 31 11 -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-items/grid-items-percentage-margins-vertical-lr-002-expected.txt
r232903 r238457 1 1 2 FAIL .grid 1 assert_equals: 3 <div class="grid directionRTL"> 4 <div class="marginBottom50Percent" data-expected-margin-bottom="50" data-offset-y="440" data-expected-width="10" data-expected-height="10">X</div> 5 <div data-offset-x="10" data-offset-y="400" data-expected-width="10" data-expected-height="100"></div> 6 </div> 7 offsetTop expected 440 but got 365 8 FAIL .grid 2 assert_equals: 9 <div class="grid directionRTL"> 10 <div class="marginTop50Percent" data-expected-margin-top="50" data-offset-y="490" data-expected-width="10" data-expected-height="10">X</div> 11 <div data-offset-x="10" data-offset-y="400" data-expected-width="10" data-expected-height="100"></div> 12 </div> 13 margin-top expected "50" but got "125" 2 PASS .grid 1 3 PASS .grid 2 14 4 PASS .grid 3 15 5 PASS .grid 4 16 FAIL .grid 5 assert_equals: 17 <div class="grid"> 18 <div class="marginBottom50Percent" data-expected-margin-bottom="50" data-offset-y="0" data-expected-width="10" data-expected-height="10">X</div> 19 <div data-offset-x="10" data-offset-y="0" data-expected-width="10" data-expected-height="100"></div> 20 </div> 21 margin-bottom expected "50" but got "125" 22 FAIL .grid 6 assert_equals: 23 <div class="grid"> 24 <div class="marginTop50Percent" data-expected-margin-top="50" data-offset-y="50" data-expected-width="10" data-expected-height="10">X</div> 25 <div data-offset-x="10" data-offset-y="0" data-expected-width="10" data-expected-height="100"></div> 26 </div> 27 offsetTop expected 50 but got 125 6 PASS .grid 5 7 PASS .grid 6 28 8 PASS .grid 7 29 9 PASS .grid 8 -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-items/grid-items-percentage-margins-vertical-rl-002-expected.txt
r232903 r238457 1 1 2 FAIL .grid 1 assert_equals: 3 <div class="grid directionRTL"> 4 <div class="marginBottom50Percent" data-expected-margin-bottom="50" data-expected-y="440" data-expected-width="10" data-expected-height="10">X</div> 5 <div data-offset-x="0" data-offset-y="400" data-expected-width="10" data-expected-height="100"></div> 6 </div> 7 margin-bottom expected "50" but got "125" 8 FAIL .grid 2 assert_equals: 9 <div class="grid directionRTL"> 10 <div class="marginTop50Percent" data-expected-margin-top="50" data-expected-y="490" data-expected-width="10" data-expected-height="10">X</div> 11 <div data-offset-x="0" data-offset-y="400" data-expected-width="10" data-expected-height="100"></div> 12 </div> 13 margin-top expected "50" but got "125" 2 PASS .grid 1 3 PASS .grid 2 14 4 PASS .grid 3 15 5 PASS .grid 4 16 FAIL .grid 5 assert_equals: 17 <div class="grid"> 18 <div class="marginBottom50Percent" data-expected-margin-bottom="50" data-offset-y="0" data-expected-width="10" data-expected-height="10">X</div> 19 <div data-offset-x="0" data-offset-y="0" data-expected-width="10" data-expected-height="100"></div> 20 </div> 21 margin-bottom expected "50" but got "125" 22 FAIL .grid 6 assert_equals: 23 <div class="grid"> 24 <div class="marginTop50Percent" data-expected-margin-top="50" data-offset-y="50" data-expected-width="10" data-expected-height="10">X</div> 25 <div data-offset-x="0" data-offset-y="0" data-expected-width="10" data-expected-height="100"></div> 26 </div> 27 offsetTop expected 50 but got 125 6 PASS .grid 5 7 PASS .grid 6 28 8 PASS .grid 7 29 9 PASS .grid 8 -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-items/grid-items-percentage-paddings-002-expected.txt
r232903 r238457 7 7 <div data-offset-x="400" data-offset-y="10" data-expected-width="100" data-expected-height="10"></div> 8 8 </div> 9 width expected 60 but got 2609 width expected 60 but got 50 10 10 FAIL .grid 4 assert_equals: 11 11 <div class="grid directionRTL"> … … 13 13 <div data-offset-x="400" data-offset-y="10" data-expected-width="100" data-expected-height="10"></div> 14 14 </div> 15 width expected 60 but got 26015 width expected 60 but got 50 16 16 PASS .grid 5 17 17 PASS .grid 6 … … 21 21 <div data-offset-x="0" data-offset-y="10" data-expected-width="100" data-expected-height="10"></div> 22 22 </div> 23 width expected 60 but got 26023 width expected 60 but got 50 24 24 FAIL .grid 8 assert_equals: 25 25 <div class="grid"> … … 27 27 <div data-offset-x="0" data-offset-y="10" data-expected-width="100" data-expected-height="10"></div> 28 28 </div> 29 width expected 60 but got 26029 width expected 60 but got 50 30 30 Direction LTR 31 31 -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-items/grid-items-percentage-paddings-vertical-lr-002-expected.txt
r232903 r238457 5 5 <div data-offset-x="10" data-offset-y="400" data-expected-width="10" data-expected-height="100"></div> 6 6 </div> 7 height expected 60 but got 2607 height expected 60 but got 50 8 8 FAIL .grid 2 assert_equals: 9 9 <div class="grid directionRTL"> … … 11 11 <div data-offset-x="10" data-offset-y="400" data-expected-width="10" data-expected-height="100"></div> 12 12 </div> 13 height expected 60 but got 26013 height expected 60 but got 50 14 14 PASS .grid 3 15 15 PASS .grid 4 … … 19 19 <div data-offset-x="10" data-offset-y="0" data-expected-width="10" data-expected-height="100"></div> 20 20 </div> 21 height expected 60 but got 26021 height expected 60 but got 50 22 22 FAIL .grid 6 assert_equals: 23 23 <div class="grid"> … … 25 25 <div data-offset-x="10" data-offset-y="0" data-expected-width="10" data-expected-height="100"></div> 26 26 </div> 27 height expected 60 but got 26027 height expected 60 but got 50 28 28 PASS .grid 7 29 29 PASS .grid 8 -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-items/grid-items-percentage-paddings-vertical-rl-002-expected.txt
r232903 r238457 5 5 <div data-offset-x="0" data-offset-y="400" data-expected-width="10" data-expected-height="100"></div> 6 6 </div> 7 height expected 60 but got 2607 height expected 60 but got 50 8 8 FAIL .grid 2 assert_equals: 9 9 <div class="grid directionRTL"> … … 11 11 <div data-offset-x="0" data-offset-y="400" data-expected-width="10" data-expected-height="100"></div> 12 12 </div> 13 height expected 60 but got 26013 height expected 60 but got 50 14 14 PASS .grid 3 15 15 PASS .grid 4 … … 19 19 <div data-offset-x="0" data-offset-y="0" data-expected-width="10" data-expected-height="100"></div> 20 20 </div> 21 height expected 60 but got 26021 height expected 60 but got 50 22 22 FAIL .grid 6 assert_equals: 23 23 <div class="grid"> … … 25 25 <div data-offset-x="0" data-offset-y="0" data-expected-width="10" data-expected-height="100"></div> 26 26 </div> 27 height expected 60 but got 26027 height expected 60 but got 50 28 28 PASS .grid 7 29 29 PASS .grid 8 -
trunk/LayoutTests/platform/ios-simulator/TestExpectations
r236236 r238457 95 95 imported/w3c/web-platform-tests/service-workers/service-worker/fetch-canvas-tainting-cache.https.html [ Pass Failure ] 96 96 97 # Baseline Alignment tests affected by 1px diff failures only on Mac and iOS platforms 98 webkit.org/b/170293 fast/css-grid-layout/grid-align-baseline-vertical.html [ Failure ] 99 webkit.org/b/170293 fast/css-grid-layout/grid-self-baseline-two-dimensional.html [ Failure ] 100 webkit.org/b/170293 fast/css-grid-layout/grid-self-baseline-03.html [ ImageOnlyFailure ] 101 webkit.org/b/170293 fast/css-grid-layout/grid-self-baseline-04.html [ ImageOnlyFailure ] 102 webkit.org/b/170293 fast/css-grid-layout/grid-self-baseline-vertical-rl-05.html [ ImageOnlyFailure ] 103 webkit.org/b/170293 fast/css-grid-layout/grid-self-baseline-vertical-rl-04.html [ ImageOnlyFailure ] 104 webkit.org/b/170293 fast/css-grid-layout/grid-self-baseline-06.html [ ImageOnlyFailure ] 105 webkit.org/b/170293 fast/css-grid-layout/grid-self-baseline-07.html [ ImageOnlyFailure ] 106 107 97 108 # A sub-test in this test is extremely flaky and fails most of the time, messing up partial-failure expectations 98 109 webkit.org/b/189686 webgl/2.0.0/conformance2/renderbuffers/multisampled-renderbuffer-initialization.html [ Skip ] -
trunk/LayoutTests/platform/mac/TestExpectations
r238071 r238457 589 589 webkit.org/b/112176 fast/canvas/canvas-composite-alpha.html [ Failure Pass ] 590 590 webkit.org/b/112176 fast/canvas/webgl/read-pixels-test.html [ Failure Pass ] 591 592 # Baseline Alignment tests affected by 1px diff failures only on Mac and iOS platforms 593 webkit.org/b/170293 fast/css-grid-layout/grid-align-baseline-vertical.html [ Failure ] 594 webkit.org/b/170293 fast/css-grid-layout/grid-self-baseline-03.html [ ImageOnlyFailure ] 595 webkit.org/b/170293 fast/css-grid-layout/grid-self-baseline-04.html [ ImageOnlyFailure ] 596 webkit.org/b/170293 fast/css-grid-layout/grid-self-baseline-vertical-rl-05.html [ ImageOnlyFailure ] 597 webkit.org/b/170293 fast/css-grid-layout/grid-self-baseline-vertical-rl-04.html [ ImageOnlyFailure ] 598 webkit.org/b/170293 fast/css-grid-layout/grid-self-baseline-06.html [ ImageOnlyFailure ] 599 webkit.org/b/170293 fast/css-grid-layout/grid-self-baseline-07.html [ ImageOnlyFailure ] 591 600 592 601 # The following ref-test appears to fail on EWS bots as well. -
trunk/Source/WebCore/ChangeLog
r238454 r238457 1 2018-11-23 Javier Fernandez <jfernandez@igalia.com> 2 3 [css-grid] Implement Baseline Alignment for grid items 4 https://bugs.webkit.org/show_bug.cgi?id=145566 5 6 Reviewed by Manuel Rego Casasnovas. 7 8 This patch impements the Baseline Self-Alignment feature for grid items according to 9 the CSS Box Alignment specification [1]. 10 11 This new layout logic is handled by the Self-Alignment (justify-self and align-self) 12 and Default-Alignment (justify-items and align-items) CSS properties. 13 14 This feature allows users to align the grid items sharing a Baseline Alignment Context, 15 either row or column contexts, based on their respective baselines. 16 17 [1] https://drafts.csswg.org/css-align-3/#baseline-align-self 18 19 Tests: fast/css-grid-layout/grid-self-baseline-and-flex-tracks-with-indefinite-container-crash.html 20 fast/css-grid-layout/grid-self-baseline-and-flexible-tracks-should-not-crash.html 21 fast/css-grid-layout/grid-self-baseline-and-item-relayout-should-not-crash.html 22 fast/css-grid-layout/grid-self-baseline-and-relative-sized-items-crash.html 23 fast/css-grid-layout/grid-self-baseline-and-relative-sized-tracks-crash.html 24 fast/css-grid-layout/grid-self-baseline-followed-by-item-style-change-should-not-crash.html 25 26 * Sources.txt: 27 * rendering/GridBaselineAlignment.cpp: Added. 28 (WebCore::GridBaselineAlignment::marginOverForChild const): 29 (WebCore::GridBaselineAlignment::marginUnderForChild const): 30 (WebCore::GridBaselineAlignment::logicalAscentForChild const): 31 (WebCore::GridBaselineAlignment::ascentForChild const): 32 (WebCore::GridBaselineAlignment::descentForChild const): 33 (WebCore::GridBaselineAlignment::isDescentBaselineForChild const): 34 (WebCore::GridBaselineAlignment::isHorizontalBaselineAxis const): 35 (WebCore::GridBaselineAlignment::isOrthogonalChildForBaseline const): 36 (WebCore::GridBaselineAlignment::isParallelToBaselineAxisForChild const): 37 (WebCore::GridBaselineAlignment::baselineGroupForChild const): 38 (WebCore::GridBaselineAlignment::updateBaselineAlignmentContext): 39 (WebCore::GridBaselineAlignment::baselineOffsetForChild const): 40 (WebCore::GridBaselineAlignment::clear): 41 (WebCore::BaselineGroup::BaselineGroup): 42 (WebCore::BaselineGroup::update): 43 (WebCore::BaselineGroup::isOppositeBlockFlow const): 44 (WebCore::BaselineGroup::isOrthogonalBlockFlow const): 45 (WebCore::BaselineGroup::isCompatible const): 46 (WebCore::BaselineContext::BaselineContext): 47 (WebCore::BaselineContext::sharedGroup const): 48 (WebCore::BaselineContext::updateSharedGroup): 49 (WebCore::BaselineContext::findCompatibleSharedGroup): 50 * rendering/GridBaselineAlignment.h: Added. 51 (WebCore::BaselineGroup::maxAscent const): 52 (WebCore::BaselineGroup::maxDescent const): 53 (WebCore::BaselineGroup::size const): 54 (WebCore::isBaselinePosition): 55 (WebCore::GridBaselineAlignment::setBlockFlow): 56 * rendering/GridLayoutFunctions.h: 57 * rendering/GridTrackSizingAlgorithm.cpp: 58 (WebCore::gridAxisForDirection): 59 (WebCore::gridDirectionForAxis): 60 (WebCore::GridTrackSizingAlgorithm::availableSpace const): 61 (WebCore::GridTrackSizingAlgorithm::isIntrinsicSizedGridArea const): 62 (WebCore::GridTrackSizingAlgorithmStrategy::logicalHeightForChild const): 63 (WebCore::GridTrackSizingAlgorithmStrategy::minContentForChild const): 64 (WebCore::GridTrackSizingAlgorithmStrategy::maxContentForChild const): 65 (WebCore::GridTrackSizingAlgorithmStrategy::minSizeForChild const): 66 (WebCore::GridTrackSizingAlgorithm::canParticipateInBaselineAlignment const): 67 (WebCore::GridTrackSizingAlgorithm::participateInBaselineAlignment const): 68 (WebCore::GridTrackSizingAlgorithm::updateBaselineAlignmentContext): 69 (WebCore::GridTrackSizingAlgorithm::baselineOffsetForChild const): 70 (WebCore::GridTrackSizingAlgorithm::clearBaselineItemsCache): 71 (WebCore::GridTrackSizingAlgorithm::cacheBaselineAlignedItem): 72 (WebCore::GridTrackSizingAlgorithm::copyBaselineItemsCache): 73 (WebCore::GridTrackSizingAlgorithm::setup): 74 (WebCore::GridTrackSizingAlgorithm::computeBaselineAlignmentContext): 75 * rendering/GridTrackSizingAlgorithm.h: 76 * rendering/RenderBlockFlow.cpp: 77 (WebCore::RenderBlockFlow::firstLineBaseline const): 78 * rendering/RenderGrid.cpp: 79 (WebCore::RenderGrid::layoutBlock): 80 (WebCore::RenderGrid::computeIntrinsicLogicalWidths const): 81 (WebCore::RenderGrid::placeItemsOnGrid const): 82 (WebCore::RenderGrid::performGridItemsPreLayout const): 83 (WebCore::synthesizedBaselineFromMarginBox): 84 (WebCore::RenderGrid::isBaselineAlignmentForChild const): 85 (WebCore::RenderGrid::baselinePosition const): 86 (WebCore::RenderGrid::firstLineBaseline const): 87 (WebCore::RenderGrid::inlineBlockBaseline const): 88 (WebCore::RenderGrid::columnAxisBaselineOffsetForChild const): 89 (WebCore::RenderGrid::rowAxisBaselineOffsetForChild const): 90 (WebCore::RenderGrid::columnAxisOffsetForChild const): 91 (WebCore::RenderGrid::rowAxisOffsetForChild const): 92 * rendering/RenderGrid.h: 93 1 94 2018-11-22 Wenson Hsieh <wenson_hsieh@apple.com> 2 95 -
trunk/Source/WebCore/Sources.txt
r238451 r238457 1900 1900 rendering/FloatingObjects.cpp 1901 1901 rendering/Grid.cpp 1902 rendering/GridBaselineAlignment.cpp 1902 1903 rendering/GridLayoutFunctions.cpp 1903 1904 rendering/GridTrackSizingAlgorithm.cpp -
trunk/Source/WebCore/rendering/GridLayoutFunctions.h
r225805 r238457 31 31 namespace WebCore { 32 32 33 enum GridAxis { GridRowAxis, GridColumnAxis }; 34 33 35 namespace GridLayoutFunctions { 34 36 -
trunk/Source/WebCore/rendering/GridTrackSizingAlgorithm.cpp
r238359 r238457 92 92 // Static helper methods. 93 93 94 static GridAxis gridAxisForDirection(GridTrackSizingDirection direction) 95 { 96 return direction == ForColumns ? GridRowAxis : GridColumnAxis; 97 } 98 99 static GridTrackSizingDirection gridDirectionForAxis(GridAxis axis) 100 { 101 return axis == GridRowAxis ? ForColumns : ForRows; 102 } 103 94 104 static bool shouldClearOverrideContainingBlockContentSizeForChild(const RenderBox& child, GridTrackSizingDirection direction) 95 105 { … … 131 141 else 132 142 m_freeSpaceRows = freeSpace; 143 } 144 145 std::optional<LayoutUnit> GridTrackSizingAlgorithm::availableSpace() const 146 { 147 ASSERT(wasSetup()); 148 return availableSpace(m_direction); 133 149 } 134 150 … … 600 616 } 601 617 618 bool GridTrackSizingAlgorithm::isIntrinsicSizedGridArea(const RenderBox& child, GridAxis axis) const 619 { 620 ASSERT(wasSetup()); 621 GridTrackSizingDirection direction = gridDirectionForAxis(axis); 622 const GridSpan& span = m_grid.gridItemSpan(child, direction); 623 for (auto trackPosition : span) { 624 GridTrackSize trackSize = rawGridTrackSize(direction, trackPosition); 625 // We consider fr units as 'auto' for the min sizing function. 626 // FIXME(jfernandez): https://github.com/w3c/csswg-drafts/issues/2611 627 // 628 // The use of AvailableSize function may imply different results 629 // for the same item when assuming indefinite or definite size 630 // constraints depending on the phase we evaluate the item's 631 // baseline participation. 632 // FIXME(jfernandez): https://github.com/w3c/csswg-drafts/issues/3046 633 if (trackSize.isContentSized() || trackSize.isFitContent() || trackSize.minTrackBreadth().isFlex() || (trackSize.maxTrackBreadth().isFlex() && !availableSpace(direction))) 634 return true; 635 } 636 return false; 637 } 638 602 639 GridTrackSize GridTrackSizingAlgorithm::gridTrackSize(GridTrackSizingDirection direction, unsigned translatedIndex) const 603 640 { … … 728 765 729 766 child.layoutIfNeeded(); 730 return child.logicalHeight() + GridLayoutFunctions::marginLogicalSizeForChild(*renderGrid(), childBlockDirection, child) ;767 return child.logicalHeight() + GridLayoutFunctions::marginLogicalSizeForChild(*renderGrid(), childBlockDirection, child) + m_algorithm.baselineOffsetForChild(child, gridAxisForDirection(direction())); 731 768 } 732 769 … … 737 774 // FIXME: It's unclear if we should return the intrinsic width or the preferred width. 738 775 // See http://lists.w3.org/Archives/Public/www-style/2013Jan/0245.html 739 return child.minPreferredLogicalWidth() + GridLayoutFunctions::marginLogicalSizeForChild(*renderGrid(), childInlineDirection, child) ;776 return child.minPreferredLogicalWidth() + GridLayoutFunctions::marginLogicalSizeForChild(*renderGrid(), childInlineDirection, child) + m_algorithm.baselineOffsetForChild(child, gridAxisForDirection(direction())); 740 777 } 741 778 … … 751 788 // FIXME: It's unclear if we should return the intrinsic width or the preferred width. 752 789 // See http://lists.w3.org/Archives/Public/www-style/2013Jan/0245.html 753 return child.maxPreferredLogicalWidth() + GridLayoutFunctions::marginLogicalSizeForChild(*renderGrid(), childInlineDirection, child) ;790 return child.maxPreferredLogicalWidth() + GridLayoutFunctions::marginLogicalSizeForChild(*renderGrid(), childInlineDirection, child) + m_algorithm.baselineOffsetForChild(child, gridAxisForDirection(direction())); 754 791 } 755 792 … … 787 824 return minContentForChild(child); 788 825 826 LayoutUnit baselineShim = m_algorithm.baselineOffsetForChild(child, gridAxisForDirection(direction())); 789 827 LayoutUnit gridAreaSize = m_algorithm.gridAreaBreadthForChild(child, childInlineDirection); 790 828 if (isRowAxis) 791 return minLogicalWidthForChild(child, childMinSize, gridAreaSize) ;829 return minLogicalWidthForChild(child, childMinSize, gridAreaSize) + baselineShim; 792 830 793 831 bool overrideSizeHasChanged = updateOverrideContainingBlockContentSizeForChild(child, childInlineDirection, gridAreaSize); 794 832 layoutGridItemForMinSizeComputation(child, overrideSizeHasChanged); 795 833 796 return child.computeLogicalHeightUsing(MinSize, childMinSize, std::nullopt).value_or(0) + child.marginLogicalHeight() + child.scrollbarLogicalHeight(); 834 return child.computeLogicalHeightUsing(MinSize, childMinSize, std::nullopt).value_or(0) + child.marginLogicalHeight() + child.scrollbarLogicalHeight() + baselineShim; 835 } 836 837 bool GridTrackSizingAlgorithm::canParticipateInBaselineAlignment(const RenderBox& child, GridAxis baselineAxis) const 838 { 839 ASSERT(baselineAxis == GridColumnAxis ? m_columnBaselineItemsMap.contains(&child) : m_rowBaselineItemsMap.contains(&child)); 840 841 // Baseline cyclic dependencies only happen with synthesized 842 // baselines. These cases include orthogonal or empty grid items 843 // and replaced elements. 844 bool isParallelToBaselineAxis = baselineAxis == GridColumnAxis ? !GridLayoutFunctions::isOrthogonalChild(*m_renderGrid, child) : GridLayoutFunctions::isOrthogonalChild(*m_renderGrid, child); 845 if (isParallelToBaselineAxis && child.firstLineBaseline()) 846 return true; 847 848 // Baseline cyclic dependencies only happen in grid areas with 849 // intrinsically-sized tracks. 850 if (!isIntrinsicSizedGridArea(child, baselineAxis)) 851 return true; 852 853 return isParallelToBaselineAxis ? !child.hasRelativeLogicalHeight() : !child.hasRelativeLogicalWidth() && !child.style().logicalWidth().isAuto(); 854 } 855 856 bool GridTrackSizingAlgorithm::participateInBaselineAlignment(const RenderBox& child, GridAxis baselineAxis) const 857 { 858 return baselineAxis == GridColumnAxis ? m_columnBaselineItemsMap.get(&child) : m_rowBaselineItemsMap.get(&child); 859 } 860 861 void GridTrackSizingAlgorithm::updateBaselineAlignmentContext(const RenderBox& child, GridAxis baselineAxis) 862 { 863 ASSERT(wasSetup()); 864 ASSERT(canParticipateInBaselineAlignment(child, baselineAxis)); 865 ASSERT(!child.needsLayout()); 866 867 ItemPosition align = m_renderGrid->selfAlignmentForChild(baselineAxis, child).position(); 868 const auto& span = m_grid.gridItemSpan(child, gridDirectionForAxis(baselineAxis)); 869 m_baselineAlignment.updateBaselineAlignmentContext(align, span.startLine(), child, baselineAxis); 870 } 871 872 LayoutUnit GridTrackSizingAlgorithm::baselineOffsetForChild(const RenderBox& child, GridAxis baselineAxis) const 873 { 874 if (!participateInBaselineAlignment(child, baselineAxis)) 875 return LayoutUnit(); 876 877 ItemPosition align = m_renderGrid->selfAlignmentForChild(baselineAxis, child).position(); 878 const auto& span = m_grid.gridItemSpan(child, gridDirectionForAxis(baselineAxis)); 879 return m_baselineAlignment.baselineOffsetForChild(align, span.startLine(), child, baselineAxis); 880 } 881 882 void GridTrackSizingAlgorithm::clearBaselineItemsCache() 883 { 884 m_columnBaselineItemsMap.clear(); 885 m_rowBaselineItemsMap.clear(); 886 } 887 888 void GridTrackSizingAlgorithm::cacheBaselineAlignedItem(const RenderBox& item, GridAxis axis) 889 { 890 ASSERT(m_renderGrid->isBaselineAlignmentForChild(item, axis)); 891 if (axis == GridColumnAxis) 892 m_columnBaselineItemsMap.add(&item, true); 893 else 894 m_rowBaselineItemsMap.add(&item, true); 895 } 896 897 void GridTrackSizingAlgorithm::copyBaselineItemsCache(const GridTrackSizingAlgorithm& source, GridAxis axis) 898 { 899 if (axis == GridColumnAxis) 900 m_columnBaselineItemsMap = source.m_columnBaselineItemsMap; 901 else 902 m_rowBaselineItemsMap = source.m_rowBaselineItemsMap; 797 903 } 798 904 … … 1175 1281 m_needsSetup = false; 1176 1282 m_hasPercentSizedRowsIndefiniteHeight = false; 1283 1284 computeBaselineAlignmentContext(); 1285 } 1286 1287 void GridTrackSizingAlgorithm::computeBaselineAlignmentContext() 1288 { 1289 GridAxis axis = gridAxisForDirection(m_direction); 1290 m_baselineAlignment.clear(axis); 1291 m_baselineAlignment.setBlockFlow(m_renderGrid->style().writingMode()); 1292 BaselineItemsCache& baselineItemsCache = axis == GridColumnAxis ? m_columnBaselineItemsMap : m_rowBaselineItemsMap; 1293 BaselineItemsCache tmpBaselineItemsCache = baselineItemsCache; 1294 for (auto* child : tmpBaselineItemsCache.keys()) { 1295 // FIXME (jfernandez): We may have to get rid of the baseline participation 1296 // flag (hence just using a HashSet) depending on the CSS WG resolution on 1297 // https://github.com/w3c/csswg-drafts/issues/3046 1298 if (canParticipateInBaselineAlignment(*child, axis)) { 1299 updateBaselineAlignmentContext(*child, axis); 1300 baselineItemsCache.set(child, true); 1301 } else 1302 baselineItemsCache.set(child, false); 1303 } 1177 1304 } 1178 1305 -
trunk/Source/WebCore/rendering/GridTrackSizingAlgorithm.h
r238114 r238457 26 26 27 27 #include "Grid.h" 28 #include "GridBaselineAlignment.h" 28 29 #include "GridTrackSize.h" 29 30 #include "LayoutUnit.h" … … 111 112 112 113 LayoutSize estimatedGridAreaBreadthForChild(const RenderBox&) const; 114 LayoutUnit baselineOffsetForChild(const RenderBox&, GridAxis) const; 115 116 void cacheBaselineAlignedItem(const RenderBox&, GridAxis); 117 void copyBaselineItemsCache(const GridTrackSizingAlgorithm&, GridAxis); 118 void clearBaselineItemsCache(); 113 119 114 120 Vector<GridTrack>& tracks(GridTrackSizingDirection direction) { return direction == ForColumns ? m_columns : m_rows; } … … 130 136 131 137 private: 132 std::optional<LayoutUnit> availableSpace() const { return availableSpace(m_direction); }138 std::optional<LayoutUnit> availableSpace() const; 133 139 bool isRelativeGridLengthAsAuto(const GridLength&, GridTrackSizingDirection) const; 134 140 GridTrackSize gridTrackSize(GridTrackSizingDirection, unsigned translatedIndex) const; … … 149 155 LayoutUnit gridAreaBreadthForChild(const RenderBox&, GridTrackSizingDirection) const; 150 156 157 void computeBaselineAlignmentContext(); 158 void updateBaselineAlignmentContext(const RenderBox&, GridAxis); 159 bool canParticipateInBaselineAlignment(const RenderBox&, GridAxis) const; 160 bool participateInBaselineAlignment(const RenderBox&, GridAxis) const; 161 162 bool isIntrinsicSizedGridArea(const RenderBox&, GridAxis) const; 151 163 void computeGridContainerIntrinsicSizes(); 152 164 … … 210 222 }; 211 223 SizingState m_sizingState; 224 225 GridBaselineAlignment m_baselineAlignment; 226 typedef HashMap<const RenderBox*, bool> BaselineItemsCache; 227 BaselineItemsCache m_columnBaselineItemsMap; 228 BaselineItemsCache m_rowBaselineItemsMap; 212 229 213 230 // This is a RAII class used to ensure that the track sizing algorithm is -
trunk/Source/WebCore/rendering/RenderBlockFlow.cpp
r238441 r238457 3001 3001 std::optional<int> RenderBlockFlow::firstLineBaseline() const 3002 3002 { 3003 if (isWritingModeRoot() && !isRubyRun() )3003 if (isWritingModeRoot() && !isRubyRun() && !isGridItem()) 3004 3004 return std::nullopt; 3005 3005 -
trunk/Source/WebCore/rendering/RenderGrid.cpp
r238395 r238457 207 207 if (GridLayoutFunctions::isOrthogonalChild(*this, *child)) 208 208 m_hasAnyOrthogonalItem = true; 209 } 210 209 210 // We keep a cache of items with baseline as alignment values so 211 // that we only compute the baseline shims for such items. This 212 // cache is needed for performance related reasons due to the 213 // cost of evaluating the item's participation in a baseline 214 // context during the track sizing algorithm. 215 if (isBaselineAlignmentForChild(*child, GridColumnAxis)) 216 m_trackSizingAlgorithm.cacheBaselineAlignedItem(*child, GridColumnAxis); 217 if (isBaselineAlignmentForChild(*child, GridRowAxis)) 218 m_trackSizingAlgorithm.cacheBaselineAlignedItem(*child, GridRowAxis); 219 } 220 m_baselineItemsCached = true; 211 221 setLogicalHeight(0); 212 222 updateLogicalWidth(); … … 299 309 300 310 clearNeedsLayout(); 311 312 m_trackSizingAlgorithm.clearBaselineItemsCache(); 313 m_baselineItemsCached = false; 301 314 } 302 315 … … 392 405 393 406 performGridItemsPreLayout(algorithm); 407 408 if (m_baselineItemsCached) 409 algorithm.copyBaselineItemsCache(m_trackSizingAlgorithm, GridRowAxis); 410 else { 411 for (auto* child = firstChildBox(); child; child = child->nextSiblingBox()) { 412 if (child->isOutOfFlowPositioned()) 413 continue; 414 if (isBaselineAlignmentForChild(*child, GridRowAxis)) 415 algorithm.cacheBaselineAlignedItem(*child, GridRowAxis); 416 } 417 } 394 418 395 419 computeTrackSizesForIndefiniteSize(algorithm, ForColumns, minLogicalWidth, maxLogicalWidth); … … 594 618 continue; 595 619 620 // Grid items should use the grid area sizes instead of the containing block (grid container) 621 // sizes, we initialize the overrides here if needed to ensure it. 622 if (!child->hasOverrideContainingBlockContentLogicalWidth()) 623 child->setOverrideContainingBlockContentLogicalWidth(LayoutUnit()); 624 if (!child->hasOverrideContainingBlockContentLogicalHeight()) 625 child->setOverrideContainingBlockContentLogicalHeight(LayoutUnit(-1)); 626 596 627 GridArea area = grid.gridItemArea(*child); 597 628 if (!area.rows.isIndefinite()) … … 651 682 // We also need to properly estimate its grid area size, since it may affect to the baseline shims if such item particiaptes in baseline alignment. 652 683 if (GridLayoutFunctions::isOrthogonalChild(*this, *child)) { 684 updateGridAreaLogicalSize(*child, algorithm.estimatedGridAreaBreadthForChild(*child)); 685 child->layoutIfNeeded(); 686 continue; 687 } 688 // We need to layout the item to know whether it must synthesize its 689 // baseline or not, which may imply a cyclic sizing dependency. 690 // FIXME: Can we avoid it ? 691 if (isBaselineAlignmentForChild(*child)) { 653 692 updateGridAreaLogicalSize(*child, algorithm.estimatedGridAreaBreadthForChild(*child)); 654 693 child->layoutIfNeeded(); … … 1183 1222 } 1184 1223 1185 bool RenderGrid::isInlineBaselineAlignedChild(const RenderBox& child) const 1186 { 1187 return alignSelfForChild(child).position() == ItemPosition::Baseline && !GridLayoutFunctions::isOrthogonalChild(*this, child) && !hasAutoMarginsInColumnAxis(child); 1224 static int synthesizedBaselineFromMarginBox(const RenderBox& box, LineDirectionMode direction) 1225 { 1226 return (direction == HorizontalLine ? box.size().height() + box.verticalMarginExtent() : box.size().width() + box.horizontalMarginExtent()).toInt(); 1227 } 1228 1229 bool RenderGrid::isBaselineAlignmentForChild(const RenderBox& child) const 1230 { 1231 return isBaselineAlignmentForChild(child, GridRowAxis) || isBaselineAlignmentForChild(child, GridColumnAxis); 1232 } 1233 1234 bool RenderGrid::isBaselineAlignmentForChild(const RenderBox& child, GridAxis baselineAxis) const 1235 { 1236 if (child.isOutOfFlowPositioned()) 1237 return false; 1238 ItemPosition align = selfAlignmentForChild(baselineAxis, child).position(); 1239 bool hasAutoMargins = baselineAxis == GridColumnAxis ? hasAutoMarginsInColumnAxis(child) : hasAutoMarginsInRowAxis(child); 1240 return isBaselinePosition(align) && !hasAutoMargins; 1188 1241 } 1189 1242 … … 1196 1249 UNUSED_PARAM(mode); 1197 1250 #endif 1198 int baseline = firstLineBaseline().value_or(synthesizedBaselineFromBorderBox(*this, direction)); 1199 1200 int marginSize = direction == HorizontalLine ? verticalMarginExtent() : horizontalMarginExtent(); 1201 return baseline + marginSize; 1251 return firstLineBaseline().value_or(synthesizedBaselineFromMarginBox(*this, direction)); 1202 1252 } 1203 1253 … … 1214 1264 ASSERT(child.get()); 1215 1265 // If an item participates in baseline alignment, we select such item. 1216 if (is InlineBaselineAlignedChild(*child)) {1266 if (isBaselineAlignmentForChild(*child)) { 1217 1267 // FIXME: self-baseline and content-baseline alignment not implemented yet. 1218 1268 baselineChild = child.get(); … … 1243 1293 return baseline; 1244 1294 1245 int marginAscent = direction == HorizontalLine ? margin Top() : marginRight();1295 int marginAscent = direction == HorizontalLine ? marginBottom() : marginRight(); 1246 1296 return synthesizedBaselineFromBorderBox(*this, direction) + marginAscent; 1297 } 1298 1299 LayoutUnit RenderGrid::columnAxisBaselineOffsetForChild(const RenderBox& child) const 1300 { 1301 return m_trackSizingAlgorithm.baselineOffsetForChild(child, GridColumnAxis); 1302 } 1303 1304 LayoutUnit RenderGrid::rowAxisBaselineOffsetForChild(const RenderBox& child) const 1305 { 1306 return m_trackSizingAlgorithm.baselineOffsetForChild(child, GridRowAxis); 1247 1307 } 1248 1308 … … 1394 1454 switch (axisPosition) { 1395 1455 case GridAxisStart: 1396 return startPosition ;1456 return startPosition + columnAxisBaselineOffsetForChild(child); 1397 1457 case GridAxisEnd: 1398 1458 case GridAxisCenter: { … … 1419 1479 switch (axisPosition) { 1420 1480 case GridAxisStart: 1421 return startPosition ;1481 return startPosition + rowAxisBaselineOffsetForChild(child); 1422 1482 case GridAxisEnd: 1423 1483 case GridAxisCenter: { -
trunk/Source/WebCore/rendering/RenderGrid.h
r238114 r238457 47 47 48 48 enum GridAxisPosition {GridAxisStart, GridAxisEnd, GridAxisCenter}; 49 enum GridAxis { GridRowAxis, GridColumnAxis };50 49 51 50 class RenderGrid final : public RenderBlock { … … 76 75 77 76 void updateGridAreaLogicalSize(RenderBox&, LayoutSize) const; 77 bool isBaselineAlignmentForChild(const RenderBox&) const; 78 bool isBaselineAlignmentForChild(const RenderBox&, GridAxis) const; 79 80 StyleSelfAlignmentData selfAlignmentForChild(GridAxis, const RenderBox&, const RenderStyle* = nullptr) const; 78 81 79 82 StyleContentAlignmentData contentAlignment(GridTrackSizingDirection) const; … … 91 94 void computeIntrinsicLogicalWidths(LayoutUnit& minLogicalWidth, LayoutUnit& maxLogicalWidth) const override; 92 95 93 StyleSelfAlignmentData selfAlignmentForChild(GridAxis, const RenderBox&, const RenderStyle* = nullptr) const;94 96 bool selfAlignmentChangedToStretch(GridAxis, const RenderStyle& oldStyle, const RenderStyle& newStyle, const RenderBox&) const; 95 97 bool selfAlignmentChangedFromStretch(GridAxis, const RenderStyle& oldStyle, const RenderStyle& newStyle, const RenderBox&) const; … … 174 176 bool isInlineBaselineAlignedChild(const RenderBox&) const; 175 177 178 LayoutUnit columnAxisBaselineOffsetForChild(const RenderBox&) const; 179 LayoutUnit rowAxisBaselineOffsetForChild(const RenderBox&) const; 180 176 181 LayoutUnit gridGap(GridTrackSizingDirection) const; 177 182 LayoutUnit gridGap(GridTrackSizingDirection, std::optional<LayoutUnit> availableSize) const; … … 200 205 201 206 bool m_hasAnyOrthogonalItem {false}; 207 bool m_baselineItemsCached {false}; 202 208 }; 203 209
Note: See TracChangeset
for help on using the changeset viewer.