Changeset 197503 in webkit
- Timestamp:
- Mar 3, 2016 3:05:32 AM (8 years ago)
- Location:
- trunk
- Files:
-
- 57 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r197497 r197503 1 2016-03-03 Javier Fernandez <jfernandez@igalia.com> 2 3 [CSS Box Alignment] New CSS Value 'normal' for Content Alignment 4 https://bugs.webkit.org/show_bug.cgi?id=154282 5 6 The Box Alignment specification defines a new value 'normal' to be used 7 as default for the different layout models, which will define the 8 specific behavior for each case. This patch adds a new CSS value in the 9 parsing logic and adapts the Content Alignment properties to the new 10 value. 11 12 Since the 'normal' vlaue, initial/default for both justify-content 13 and align-content CSS properties, behaves now as 'stretch' instead 14 of o'start' we have to rebaseline those tests affected by the new 15 default value. 16 17 Reviewed by David Hyatt. 18 19 * css3/flexbox/css-properties-expected.txt: 20 * css3/flexbox/css-properties.html: 21 * css3/parse-align-content-expected.txt: 22 * css3/parse-align-content.html: 23 * css3/parse-justify-content-expected.txt: 24 * css3/parse-justify-content.html: 25 * css3/resources/alignment-parsing-utils.js: 26 (checkBadValues): 27 * fast/css-grid-layout/auto-content-resolution-columns.html: 28 * fast/css-grid-layout/grid-auto-columns-rows-update.html: 29 * fast/css-grid-layout/grid-auto-flow-resolution.html: 30 * fast/css-grid-layout/grid-columns-rows-get-set-multiple.html: 31 * fast/css-grid-layout/grid-columns-rows-get-set.html: 32 * fast/css-grid-layout/grid-container-change-named-grid-lines-recompute-child.html: 33 * fast/css-grid-layout/grid-content-sized-columns-resolution.html: 34 * fast/css-grid-layout/grid-dynamic-updates-relayout.html: 35 * fast/css-grid-layout/grid-element-min-max-width.html: 36 * fast/css-grid-layout/grid-element-repeat-get-set.html: 37 * fast/css-grid-layout/grid-initialize-span-one-items.html: 38 * fast/css-grid-layout/grid-item-addition-auto-placement-update.html: 39 * fast/css-grid-layout/grid-item-addition-track-breadth-update.html: 40 * fast/css-grid-layout/grid-item-bad-named-area-auto-placement.html: 41 * fast/css-grid-layout/grid-item-margin-auto-columns-rows-horizontal-ltr.html: 42 * fast/css-grid-layout/grid-item-margin-auto-columns-rows-horizontal-rtl.html: 43 * fast/css-grid-layout/grid-item-margin-auto-columns-rows-vertical-ltr.html: 44 * fast/css-grid-layout/grid-item-margin-auto-columns-rows-vertical-rtl.html: 45 * fast/css-grid-layout/grid-item-multiple-minmax-content-resolution.html: 46 * fast/css-grid-layout/grid-item-named-grid-area-resolution.html: 47 * fast/css-grid-layout/grid-item-negative-indexes.html: 48 * fast/css-grid-layout/grid-item-order-in-content-sized-columns-resolution.html: 49 * fast/css-grid-layout/grid-item-removal-auto-placement-update.html: 50 * fast/css-grid-layout/grid-item-removal-track-breadth-update.html: 51 * fast/css-grid-layout/grid-update-sizes-after-distributing-all.html: 52 * fast/css-grid-layout/implicit-columns-auto-resolution.html: 53 * fast/css-grid-layout/implicit-position-dynamic-change.html: 54 * fast/css-grid-layout/mark-as-infinitely-growable.html: 55 * fast/css-grid-layout/maximize-tracks-definite-indefinite-width.html: 56 * fast/css-grid-layout/minmax-spanning-resolution-columns.html: 57 * fast/css-grid-layout/named-grid-line-get-set.html: 58 * fast/css-grid-layout/named-grid-lines-computed-style-implicit-tracks.html: 59 * fast/css-grid-layout/named-grid-lines-with-named-grid-areas-resolution.html: 60 * fast/css-grid-layout/percent-intrinsic-track-breadth.html: 61 * fast/css-grid-layout/percent-track-breadths-regarding-container-size.html: 62 * fast/css-grid-layout/resources/grid-definitions-parsing-utils.js: 63 (checkGridTemplatesSetJSValues): 64 * fast/css-grid-layout/resources/grid-template-shorthand-parsing-utils.js: 65 (checkGridDefinitionsSetJSValues): 66 (testGridDefinitionsSetBadJSValues): 67 * fast/css/getComputedStyle/computed-style-expected.txt: 68 * fast/css/getComputedStyle/computed-style-without-renderer-expected.txt: 69 * svg/css/getComputedStyle-basic-expected.txt: 70 1 71 2016-03-02 Chris Dumez <cdumez@apple.com> 2 72 -
trunk/LayoutTests/css3/flexbox/css-properties-expected.txt
r183805 r197503 17 17 PASS flexitem.style.webkitOrder is "" 18 18 PASS flexbox.style.webkitJustifyContent is "" 19 PASS window.getComputedStyle(flexbox, null).webkitJustifyContent is " stretch"19 PASS window.getComputedStyle(flexbox, null).webkitJustifyContent is "normal" 20 20 PASS flexbox.style.webkitJustifyContent is "" 21 21 PASS flexbox.style.webkitJustifyContent is "flex-start" … … 28 28 PASS window.getComputedStyle(flexbox, null).webkitJustifyContent is "space-between" 29 29 PASS flexbox.style.webkitJustifyContent is "" 30 PASS window.getComputedStyle(flexbox, null).webkitJustifyContent is " stretch"30 PASS window.getComputedStyle(flexbox, null).webkitJustifyContent is "normal" 31 31 PASS flexbox.style.webkitAlignSelf is "" 32 32 PASS window.getComputedStyle(flexbox, null).webkitAlignSelf is "start" … … 200 200 PASS foundFlexFlow is false 201 201 PASS flexbox.style.webkitAlignContent is "" 202 PASS window.getComputedStyle(flexbox, null).webkitAlignContent is " stretch"202 PASS window.getComputedStyle(flexbox, null).webkitAlignContent is "normal" 203 203 PASS flexbox.style.webkitAlignContent is "flex-start" 204 204 PASS window.getComputedStyle(flexbox, null).webkitAlignContent is "flex-start" … … 214 214 PASS window.getComputedStyle(flexbox, null).webkitAlignContent is "stretch" 215 215 PASS flexbox.style.webkitAlignContent is "" 216 PASS window.getComputedStyle(flexbox, null).webkitAlignContent is " stretch"216 PASS window.getComputedStyle(flexbox, null).webkitAlignContent is "normal" 217 217 PASS flexbox.style.webkitAlignContent is "" 218 PASS window.getComputedStyle(flexbox, null).webkitAlignContent is " stretch"218 PASS window.getComputedStyle(flexbox, null).webkitAlignContent is "normal" 219 219 PASS successfullyParsed is true 220 220 -
trunk/LayoutTests/css3/flexbox/css-properties.html
r183805 r197503 55 55 56 56 shouldBeEqualToString('flexbox.style.webkitJustifyContent', ''); 57 // The initial value is ' auto' which, will be resolve to 'stretch' for flexbox containes (behaving like 'flex-start' for the justify-content property).58 shouldBeEqualToString('window.getComputedStyle(flexbox, null).webkitJustifyContent', ' stretch');57 // The initial value is 'normal'. 58 shouldBeEqualToString('window.getComputedStyle(flexbox, null).webkitJustifyContent', 'normal'); 59 59 60 60 flexbox.style.webkitJustifyContent = 'foo'; … … 79 79 flexbox.style.webkitJustifyContent = ''; 80 80 shouldBeEqualToString('flexbox.style.webkitJustifyContent', ''); 81 shouldBeEqualToString('window.getComputedStyle(flexbox, null).webkitJustifyContent', ' stretch');81 shouldBeEqualToString('window.getComputedStyle(flexbox, null).webkitJustifyContent', 'normal'); 82 82 83 83 shouldBeEqualToString('flexbox.style.webkitAlignSelf', ''); … … 280 280 flexbox.style.display = '-webkit-flex'; 281 281 282 // The initial value is ' stretch'.282 // The initial value is 'normal'. 283 283 shouldBeEqualToString('flexbox.style.webkitAlignContent', ''); 284 shouldBeEqualToString('window.getComputedStyle(flexbox, null).webkitAlignContent', ' stretch');284 shouldBeEqualToString('window.getComputedStyle(flexbox, null).webkitAlignContent', 'normal'); 285 285 286 286 flexbox.style.webkitAlignContent = 'flex-start'; … … 310 310 flexbox.style.webkitAlignContent = ''; 311 311 shouldBeEqualToString('flexbox.style.webkitAlignContent', ''); 312 shouldBeEqualToString('window.getComputedStyle(flexbox, null).webkitAlignContent', ' stretch');312 shouldBeEqualToString('window.getComputedStyle(flexbox, null).webkitAlignContent', 'normal'); 313 313 314 314 flexbox.style.webkitAlignContent = 'foo'; 315 315 shouldBeEqualToString('flexbox.style.webkitAlignContent', ''); 316 shouldBeEqualToString('window.getComputedStyle(flexbox, null).webkitAlignContent', ' stretch');316 shouldBeEqualToString('window.getComputedStyle(flexbox, null).webkitAlignContent', 'normal'); 317 317 </script> 318 318 <script src="../../resources/js-test-post.js"></script> -
trunk/LayoutTests/css3/parse-align-content-expected.txt
r194104 r197503 5 5 6 6 Test getting align-content set through CSS 7 PASS getComputedStyle(alignContentAuto, '').getPropertyValue('align-content') is " start"7 PASS getComputedStyle(alignContentAuto, '').getPropertyValue('align-content') is "normal" 8 8 PASS getComputedStyle(alignContentBaseline, '').getPropertyValue('align-content') is "baseline" 9 9 PASS getComputedStyle(alignContentLastBaseline, '').getPropertyValue('align-content') is "last-baseline" … … 31 31 PASS getComputedStyle(alignContentSpaceAroundEndUnsafe, '').getPropertyValue('align-content') is "space-around end unsafe" 32 32 PASS getComputedStyle(alignContentSpaceEvenlyFlexStartSafe, '').getPropertyValue('align-content') is "space-evenly flex-start safe" 33 PASS getComputedStyle(alignContentSpaceBetweenSafe, '').getPropertyValue('align-content') is " start"34 PASS getComputedStyle(alignContentSpaceBetweenStretch, '').getPropertyValue('align-content') is " start"35 PASS getComputedStyle(alignContentSafe, '').getPropertyValue('align-content') is " start"36 PASS getComputedStyle(alignContentRightSafeUnsafe, '').getPropertyValue('align-content') is " start"37 PASS getComputedStyle(alignContentCenterLeft, '').getPropertyValue('align-content') is " start"33 PASS getComputedStyle(alignContentSpaceBetweenSafe, '').getPropertyValue('align-content') is "normal" 34 PASS getComputedStyle(alignContentSpaceBetweenStretch, '').getPropertyValue('align-content') is "normal" 35 PASS getComputedStyle(alignContentSafe, '').getPropertyValue('align-content') is "normal" 36 PASS getComputedStyle(alignContentRightSafeUnsafe, '').getPropertyValue('align-content') is "normal" 37 PASS getComputedStyle(alignContentCenterLeft, '').getPropertyValue('align-content') is "normal" 38 38 39 39 Test initial value of align-content through JS 40 PASS getComputedStyle(element, '').getPropertyValue('align-content') is " start"40 PASS getComputedStyle(element, '').getPropertyValue('align-content') is "normal" 41 41 42 42 Test getting and setting align-content through JS … … 53 53 PASS element.style.alignContent is "right unsafe" 54 54 PASS window.getComputedStyle(element, '').getPropertyValue('align-content') is "right unsafe" 55 PASS element.style.alignContent is " auto"56 PASS window.getComputedStyle(element, '').getPropertyValue('align-content') is " start"57 PASS element.style.alignContent is " auto"58 PASS window.getComputedStyle(element, '').getPropertyValue('align-content') is " stretch"59 PASS element.style.alignContent is " auto"60 PASS window.getComputedStyle(element, '').getPropertyValue('align-content') is " start"55 PASS element.style.alignContent is "normal" 56 PASS window.getComputedStyle(element, '').getPropertyValue('align-content') is "normal" 57 PASS element.style.alignContent is "normal" 58 PASS window.getComputedStyle(element, '').getPropertyValue('align-content') is "normal" 59 PASS element.style.alignContent is "normal" 60 PASS window.getComputedStyle(element, '').getPropertyValue('align-content') is "normal" 61 61 PASS element.style.alignContent is "flex-end" 62 62 PASS window.getComputedStyle(element, '').getPropertyValue('align-content') is "flex-end" … … 64 64 Test bad combinations of align-content 65 65 PASS element.style.alignContent is "" 66 PASS window.getComputedStyle(element, '').getPropertyValue('align-content') is " start"66 PASS window.getComputedStyle(element, '').getPropertyValue('align-content') is "normal" 67 67 PASS element.style.alignContent is "" 68 PASS window.getComputedStyle(element, '').getPropertyValue('align-content') is " start"68 PASS window.getComputedStyle(element, '').getPropertyValue('align-content') is "normal" 69 69 PASS element.style.alignContent is "" 70 PASS window.getComputedStyle(element, '').getPropertyValue('align-content') is " start"70 PASS window.getComputedStyle(element, '').getPropertyValue('align-content') is "normal" 71 71 PASS element.style.alignContent is "" 72 PASS window.getComputedStyle(element, '').getPropertyValue('align-content') is " start"72 PASS window.getComputedStyle(element, '').getPropertyValue('align-content') is "normal" 73 73 PASS element.style.alignContent is "" 74 PASS window.getComputedStyle(element, '').getPropertyValue('align-content') is " start"74 PASS window.getComputedStyle(element, '').getPropertyValue('align-content') is "normal" 75 75 PASS element.style.alignContent is "" 76 PASS window.getComputedStyle(element, '').getPropertyValue('align-content') is " start"76 PASS window.getComputedStyle(element, '').getPropertyValue('align-content') is "normal" 77 77 PASS element.style.alignContent is "" 78 PASS window.getComputedStyle(element, '').getPropertyValue('align-content') is " start"78 PASS window.getComputedStyle(element, '').getPropertyValue('align-content') is "normal" 79 79 PASS element.style.alignContent is "" 80 PASS window.getComputedStyle(element, '').getPropertyValue('align-content') is " start"80 PASS window.getComputedStyle(element, '').getPropertyValue('align-content') is "normal" 81 81 PASS element.style.alignContent is "" 82 PASS window.getComputedStyle(element, '').getPropertyValue('align-content') is " start"82 PASS window.getComputedStyle(element, '').getPropertyValue('align-content') is "normal" 83 83 PASS element.style.alignContent is "" 84 PASS window.getComputedStyle(element, '').getPropertyValue('align-content') is " start"84 PASS window.getComputedStyle(element, '').getPropertyValue('align-content') is "normal" 85 85 PASS element.style.alignContent is "" 86 PASS window.getComputedStyle(element, '').getPropertyValue('align-content') is " start"86 PASS window.getComputedStyle(element, '').getPropertyValue('align-content') is "normal" 87 87 PASS element.style.alignContent is "" 88 PASS window.getComputedStyle(element, '').getPropertyValue('align-content') is " start"88 PASS window.getComputedStyle(element, '').getPropertyValue('align-content') is "normal" 89 89 PASS element.style.alignContent is "" 90 PASS window.getComputedStyle(element, '').getPropertyValue('align-content') is " start"90 PASS window.getComputedStyle(element, '').getPropertyValue('align-content') is "normal" 91 91 PASS element.style.alignContent is "" 92 PASS window.getComputedStyle(element, '').getPropertyValue('align-content') is " start"92 PASS window.getComputedStyle(element, '').getPropertyValue('align-content') is "normal" 93 93 PASS element.style.alignContent is "" 94 PASS window.getComputedStyle(element, '').getPropertyValue('align-content') is " start"94 PASS window.getComputedStyle(element, '').getPropertyValue('align-content') is "normal" 95 95 PASS element.style.alignContent is "" 96 PASS window.getComputedStyle(element, '').getPropertyValue('align-content') is " start"96 PASS window.getComputedStyle(element, '').getPropertyValue('align-content') is "normal" 97 97 PASS element.style.alignContent is "" 98 PASS window.getComputedStyle(element, '').getPropertyValue('align-content') is " start"98 PASS window.getComputedStyle(element, '').getPropertyValue('align-content') is "normal" 99 99 PASS element.style.alignContent is "" 100 PASS window.getComputedStyle(element, '').getPropertyValue('align-content') is " start"100 PASS window.getComputedStyle(element, '').getPropertyValue('align-content') is "normal" 101 101 PASS element.style.alignContent is "" 102 PASS window.getComputedStyle(element, '').getPropertyValue('align-content') is " start"102 PASS window.getComputedStyle(element, '').getPropertyValue('align-content') is "normal" 103 103 PASS element.style.alignContent is "" 104 PASS window.getComputedStyle(element, '').getPropertyValue('align-content') is " start"104 PASS window.getComputedStyle(element, '').getPropertyValue('align-content') is "normal" 105 105 PASS element.style.alignContent is "" 106 PASS window.getComputedStyle(element, '').getPropertyValue('align-content') is "start" 106 PASS window.getComputedStyle(element, '').getPropertyValue('align-content') is "normal" 107 PASS element.style.alignContent is "" 108 PASS window.getComputedStyle(element, '').getPropertyValue('align-content') is "normal" 107 109 108 110 Test the value 'initial' … … 110 112 PASS window.getComputedStyle(element, '').getPropertyValue('align-content') is "stretch center" 111 113 PASS element.style.alignContent is "initial" 112 PASS window.getComputedStyle(element, '').getPropertyValue('align-content') is " start"114 PASS window.getComputedStyle(element, '').getPropertyValue('align-content') is "normal" 113 115 114 116 Test the value 'initial' for grid containers … … 116 118 PASS window.getComputedStyle(element, '').getPropertyValue('align-content') is "space-between left" 117 119 PASS element.style.alignContent is "initial" 118 PASS window.getComputedStyle(element, '').getPropertyValue('align-content') is " start"120 PASS window.getComputedStyle(element, '').getPropertyValue('align-content') is "normal" 119 121 120 122 Test the value 'initial' for flex containers … … 122 124 PASS window.getComputedStyle(element, '').getPropertyValue('align-content') is "right unsafe" 123 125 PASS element.style.alignContent is "initial" 124 PASS window.getComputedStyle(element, '').getPropertyValue('align-content') is " stretch"126 PASS window.getComputedStyle(element, '').getPropertyValue('align-content') is "normal" 125 127 126 128 Test the value 'inherit' -
trunk/LayoutTests/css3/parse-align-content.html
r194104 r197503 174 174 debug("Test getting align-content set through CSS"); 175 175 var alignContentAuto = document.getElementById("alignContentAuto"); 176 shouldBeEqualToString("getComputedStyle(alignContentAuto, '').getPropertyValue('align-content')", " start");176 shouldBeEqualToString("getComputedStyle(alignContentAuto, '').getPropertyValue('align-content')", "normal"); 177 177 178 178 var alignContentBaseline = document.getElementById("alignContentBaseline"); … … 252 252 253 253 var alignContentSpaceBetweenSafe = document.getElementById("alignContentSpaceBetweenSafe"); 254 shouldBeEqualToString("getComputedStyle(alignContentSpaceBetweenSafe, '').getPropertyValue('align-content')", " start");254 shouldBeEqualToString("getComputedStyle(alignContentSpaceBetweenSafe, '').getPropertyValue('align-content')", "normal"); 255 255 256 256 var alignContentSpaceAroundUnsafe = document.getElementById("alignContentSpaceBetweenStretch"); 257 shouldBeEqualToString("getComputedStyle(alignContentSpaceBetweenStretch, '').getPropertyValue('align-content')", " start");257 shouldBeEqualToString("getComputedStyle(alignContentSpaceBetweenStretch, '').getPropertyValue('align-content')", "normal"); 258 258 259 259 var alignContentSpaceAroundUnsafe = document.getElementById("alignContentSafe"); 260 shouldBeEqualToString("getComputedStyle(alignContentSafe, '').getPropertyValue('align-content')", " start");260 shouldBeEqualToString("getComputedStyle(alignContentSafe, '').getPropertyValue('align-content')", "normal"); 261 261 262 262 var alignContentSpaceAroundUnsafe = document.getElementById("alignContentRightSafeUnsafe"); 263 shouldBeEqualToString("getComputedStyle(alignContentRightSafeUnsafe, '').getPropertyValue('align-content')", " start");263 shouldBeEqualToString("getComputedStyle(alignContentRightSafeUnsafe, '').getPropertyValue('align-content')", "normal"); 264 264 265 265 var alignContentSpaceAroundUnsafe = document.getElementById("alignContentCenterLeft"); 266 shouldBeEqualToString("getComputedStyle(alignContentCenterLeft, '').getPropertyValue('align-content')", " start");266 shouldBeEqualToString("getComputedStyle(alignContentCenterLeft, '').getPropertyValue('align-content')", "normal"); 267 267 268 268 debug(""); … … 270 270 element = document.createElement("div"); 271 271 document.body.appendChild(element); 272 shouldBeEqualToString("getComputedStyle(element, '').getPropertyValue('align-content')", " start");272 shouldBeEqualToString("getComputedStyle(element, '').getPropertyValue('align-content')", "normal"); 273 273 274 274 debug(""); … … 294 294 checkValues(element, "alignContent", "align-content", "right unsafe", "right unsafe"); 295 295 296 element.style.alignContent = " auto";297 checkValues(element, "alignContent", "align-content", " auto", "start");296 element.style.alignContent = "normal"; 297 checkValues(element, "alignContent", "align-content", "normal", "normal"); 298 298 299 299 element.style.display = "-webkit-flex"; 300 element.style.alignContent = " auto";301 checkValues(element, "alignContent", "align-content", " auto", "stretch");300 element.style.alignContent = "normal"; 301 checkValues(element, "alignContent", "align-content", "normal", "normal"); 302 302 303 303 element.style.display = "-webkit-grid"; 304 element.style.alignContent = " auto";305 checkValues(element, "alignContent", "align-content", " auto", "start");304 element.style.alignContent = "normal"; 305 checkValues(element, "alignContent", "align-content", "normal", "normal"); 306 306 307 307 element.style.alignContent = "flex-end"; … … 314 314 315 315 checkBadValues(element, "alignContent", "align-content", ""); 316 checkBadValues(element, "alignContent", "align-content", "auto"); 316 317 checkBadValues(element, "alignContent", "align-content", "unsafe auto"); 317 318 checkBadValues(element, "alignContent", "align-content", "auto safe"); … … 338 339 debug("Test the value 'initial'"); 339 340 element.style.display = ""; 340 checkInitialValues(element, "alignContent", "align-content", "stretch center", " start");341 checkInitialValues(element, "alignContent", "align-content", "stretch center", "normal"); 341 342 342 343 debug(""); 343 344 debug("Test the value 'initial' for grid containers"); 344 345 element.style.display = "-webkit-grid"; 345 checkInitialValues(element, "alignContent", "align-content", "space-between left", " start");346 checkInitialValues(element, "alignContent", "align-content", "space-between left", "normal"); 346 347 347 348 debug(""); 348 349 debug("Test the value 'initial' for flex containers"); 349 350 element.style.display = "-webkit-flex"; 350 checkInitialValues(element, "alignContent", "align-content", "right unsafe", " stretch");351 checkInitialValues(element, "alignContent", "align-content", "right unsafe", "normal"); 351 352 352 353 debug(""); -
trunk/LayoutTests/css3/parse-justify-content-expected.txt
r194104 r197503 5 5 6 6 Test getting justify-content set through CSS 7 PASS getComputedStyle(justifyContentAuto, '').getPropertyValue('justify-content') is " start"7 PASS getComputedStyle(justifyContentAuto, '').getPropertyValue('justify-content') is "normal" 8 8 PASS getComputedStyle(justifyContentBaseline, '').getPropertyValue('justify-content') is "baseline" 9 9 PASS getComputedStyle(justifyContentLastBaseline, '').getPropertyValue('justify-content') is "last-baseline" … … 31 31 PASS getComputedStyle(justifyContentSpaceAroundEndUnsafe, '').getPropertyValue('justify-content') is "space-around end unsafe" 32 32 PASS getComputedStyle(justifyContentSpaceEvenlyFlexStartSafe, '').getPropertyValue('justify-content') is "space-evenly flex-start safe" 33 PASS getComputedStyle(justifyContentSpaceBetweenSafe, '').getPropertyValue('justify-content') is " start"34 PASS getComputedStyle(justifyContentSpaceBetweenStretch, '').getPropertyValue('justify-content') is " start"35 PASS getComputedStyle(justifyContentSafe, '').getPropertyValue('justify-content') is " start"36 PASS getComputedStyle(justifyContentRightSafeUnsafe, '').getPropertyValue('justify-content') is " start"37 PASS getComputedStyle(justifyContentCenterLeft, '').getPropertyValue('justify-content') is " start"33 PASS getComputedStyle(justifyContentSpaceBetweenSafe, '').getPropertyValue('justify-content') is "normal" 34 PASS getComputedStyle(justifyContentSpaceBetweenStretch, '').getPropertyValue('justify-content') is "normal" 35 PASS getComputedStyle(justifyContentSafe, '').getPropertyValue('justify-content') is "normal" 36 PASS getComputedStyle(justifyContentRightSafeUnsafe, '').getPropertyValue('justify-content') is "normal" 37 PASS getComputedStyle(justifyContentCenterLeft, '').getPropertyValue('justify-content') is "normal" 38 38 39 39 Test initial value of justify-content through JS 40 PASS getComputedStyle(element, '').getPropertyValue('justify-content') is " start"40 PASS getComputedStyle(element, '').getPropertyValue('justify-content') is "normal" 41 41 42 42 Test getting and setting justify-content through JS … … 53 53 PASS element.style.justifyContent is "right unsafe" 54 54 PASS window.getComputedStyle(element, '').getPropertyValue('justify-content') is "right unsafe" 55 PASS element.style.justifyContent is " auto"56 PASS window.getComputedStyle(element, '').getPropertyValue('justify-content') is " start"57 PASS element.style.justifyContent is " auto"58 PASS window.getComputedStyle(element, '').getPropertyValue('justify-content') is " stretch"59 PASS element.style.justifyContent is " auto"60 PASS window.getComputedStyle(element, '').getPropertyValue('justify-content') is " start"55 PASS element.style.justifyContent is "normal" 56 PASS window.getComputedStyle(element, '').getPropertyValue('justify-content') is "normal" 57 PASS element.style.justifyContent is "normal" 58 PASS window.getComputedStyle(element, '').getPropertyValue('justify-content') is "normal" 59 PASS element.style.justifyContent is "normal" 60 PASS window.getComputedStyle(element, '').getPropertyValue('justify-content') is "normal" 61 61 PASS element.style.justifyContent is "flex-end" 62 62 PASS window.getComputedStyle(element, '').getPropertyValue('justify-content') is "flex-end" … … 64 64 Test bad combinations of justify-content 65 65 PASS element.style.justifyContent is "" 66 PASS window.getComputedStyle(element, '').getPropertyValue('justify-content') is " start"66 PASS window.getComputedStyle(element, '').getPropertyValue('justify-content') is "normal" 67 67 PASS element.style.justifyContent is "" 68 PASS window.getComputedStyle(element, '').getPropertyValue('justify-content') is " start"68 PASS window.getComputedStyle(element, '').getPropertyValue('justify-content') is "normal" 69 69 PASS element.style.justifyContent is "" 70 PASS window.getComputedStyle(element, '').getPropertyValue('justify-content') is " start"70 PASS window.getComputedStyle(element, '').getPropertyValue('justify-content') is "normal" 71 71 PASS element.style.justifyContent is "" 72 PASS window.getComputedStyle(element, '').getPropertyValue('justify-content') is " start"72 PASS window.getComputedStyle(element, '').getPropertyValue('justify-content') is "normal" 73 73 PASS element.style.justifyContent is "" 74 PASS window.getComputedStyle(element, '').getPropertyValue('justify-content') is " start"74 PASS window.getComputedStyle(element, '').getPropertyValue('justify-content') is "normal" 75 75 PASS element.style.justifyContent is "" 76 PASS window.getComputedStyle(element, '').getPropertyValue('justify-content') is " start"76 PASS window.getComputedStyle(element, '').getPropertyValue('justify-content') is "normal" 77 77 PASS element.style.justifyContent is "" 78 PASS window.getComputedStyle(element, '').getPropertyValue('justify-content') is " start"78 PASS window.getComputedStyle(element, '').getPropertyValue('justify-content') is "normal" 79 79 PASS element.style.justifyContent is "" 80 PASS window.getComputedStyle(element, '').getPropertyValue('justify-content') is " start"80 PASS window.getComputedStyle(element, '').getPropertyValue('justify-content') is "normal" 81 81 PASS element.style.justifyContent is "" 82 PASS window.getComputedStyle(element, '').getPropertyValue('justify-content') is " start"82 PASS window.getComputedStyle(element, '').getPropertyValue('justify-content') is "normal" 83 83 PASS element.style.justifyContent is "" 84 PASS window.getComputedStyle(element, '').getPropertyValue('justify-content') is " start"84 PASS window.getComputedStyle(element, '').getPropertyValue('justify-content') is "normal" 85 85 PASS element.style.justifyContent is "" 86 PASS window.getComputedStyle(element, '').getPropertyValue('justify-content') is " start"86 PASS window.getComputedStyle(element, '').getPropertyValue('justify-content') is "normal" 87 87 PASS element.style.justifyContent is "" 88 PASS window.getComputedStyle(element, '').getPropertyValue('justify-content') is " start"88 PASS window.getComputedStyle(element, '').getPropertyValue('justify-content') is "normal" 89 89 PASS element.style.justifyContent is "" 90 PASS window.getComputedStyle(element, '').getPropertyValue('justify-content') is " start"90 PASS window.getComputedStyle(element, '').getPropertyValue('justify-content') is "normal" 91 91 PASS element.style.justifyContent is "" 92 PASS window.getComputedStyle(element, '').getPropertyValue('justify-content') is " start"92 PASS window.getComputedStyle(element, '').getPropertyValue('justify-content') is "normal" 93 93 PASS element.style.justifyContent is "" 94 PASS window.getComputedStyle(element, '').getPropertyValue('justify-content') is " start"94 PASS window.getComputedStyle(element, '').getPropertyValue('justify-content') is "normal" 95 95 PASS element.style.justifyContent is "" 96 PASS window.getComputedStyle(element, '').getPropertyValue('justify-content') is " start"96 PASS window.getComputedStyle(element, '').getPropertyValue('justify-content') is "normal" 97 97 PASS element.style.justifyContent is "" 98 PASS window.getComputedStyle(element, '').getPropertyValue('justify-content') is " start"98 PASS window.getComputedStyle(element, '').getPropertyValue('justify-content') is "normal" 99 99 PASS element.style.justifyContent is "" 100 PASS window.getComputedStyle(element, '').getPropertyValue('justify-content') is " start"100 PASS window.getComputedStyle(element, '').getPropertyValue('justify-content') is "normal" 101 101 PASS element.style.justifyContent is "" 102 PASS window.getComputedStyle(element, '').getPropertyValue('justify-content') is " start"102 PASS window.getComputedStyle(element, '').getPropertyValue('justify-content') is "normal" 103 103 PASS element.style.justifyContent is "" 104 PASS window.getComputedStyle(element, '').getPropertyValue('justify-content') is " start"104 PASS window.getComputedStyle(element, '').getPropertyValue('justify-content') is "normal" 105 105 PASS element.style.justifyContent is "" 106 PASS window.getComputedStyle(element, '').getPropertyValue('justify-content') is "start" 106 PASS window.getComputedStyle(element, '').getPropertyValue('justify-content') is "normal" 107 PASS element.style.justifyContent is "" 108 PASS window.getComputedStyle(element, '').getPropertyValue('justify-content') is "normal" 107 109 108 110 Test the value 'initial' … … 110 112 PASS window.getComputedStyle(element, '').getPropertyValue('justify-content') is "stretch center" 111 113 PASS element.style.justifyContent is "initial" 112 PASS window.getComputedStyle(element, '').getPropertyValue('justify-content') is " start"114 PASS window.getComputedStyle(element, '').getPropertyValue('justify-content') is "normal" 113 115 114 116 Test the value 'initial' for grid containers … … 116 118 PASS window.getComputedStyle(element, '').getPropertyValue('justify-content') is "space-between left" 117 119 PASS element.style.justifyContent is "initial" 118 PASS window.getComputedStyle(element, '').getPropertyValue('justify-content') is " start"120 PASS window.getComputedStyle(element, '').getPropertyValue('justify-content') is "normal" 119 121 120 122 Test the value 'initial' for flex containers … … 122 124 PASS window.getComputedStyle(element, '').getPropertyValue('justify-content') is "right unsafe" 123 125 PASS element.style.justifyContent is "initial" 124 PASS window.getComputedStyle(element, '').getPropertyValue('justify-content') is " stretch"126 PASS window.getComputedStyle(element, '').getPropertyValue('justify-content') is "normal" 125 127 126 128 Test the value 'inherit' -
trunk/LayoutTests/css3/parse-justify-content.html
r194104 r197503 170 170 debug("Test getting justify-content set through CSS"); 171 171 var justifyContentAuto = document.getElementById("justifyContentAuto"); 172 shouldBeEqualToString("getComputedStyle(justifyContentAuto, '').getPropertyValue('justify-content')", " start");172 shouldBeEqualToString("getComputedStyle(justifyContentAuto, '').getPropertyValue('justify-content')", "normal"); 173 173 174 174 var justifyContentBaseline = document.getElementById("justifyContentBaseline"); … … 248 248 249 249 var justifyContentSpaceBetweenSafe = document.getElementById("justifyContentSpaceBetweenSafe"); 250 shouldBeEqualToString("getComputedStyle(justifyContentSpaceBetweenSafe, '').getPropertyValue('justify-content')", " start");250 shouldBeEqualToString("getComputedStyle(justifyContentSpaceBetweenSafe, '').getPropertyValue('justify-content')", "normal"); 251 251 252 252 var justifyContentSpaceAroundUnsafe = document.getElementById("justifyContentSpaceBetweenStretch"); 253 shouldBeEqualToString("getComputedStyle(justifyContentSpaceBetweenStretch, '').getPropertyValue('justify-content')", " start");253 shouldBeEqualToString("getComputedStyle(justifyContentSpaceBetweenStretch, '').getPropertyValue('justify-content')", "normal"); 254 254 255 255 var justifyContentSpaceAroundUnsafe = document.getElementById("justifyContentSafe"); 256 shouldBeEqualToString("getComputedStyle(justifyContentSafe, '').getPropertyValue('justify-content')", " start");256 shouldBeEqualToString("getComputedStyle(justifyContentSafe, '').getPropertyValue('justify-content')", "normal"); 257 257 258 258 var justifyContentSpaceAroundUnsafe = document.getElementById("justifyContentRightSafeUnsafe"); 259 shouldBeEqualToString("getComputedStyle(justifyContentRightSafeUnsafe, '').getPropertyValue('justify-content')", " start");259 shouldBeEqualToString("getComputedStyle(justifyContentRightSafeUnsafe, '').getPropertyValue('justify-content')", "normal"); 260 260 261 261 var justifyContentSpaceAroundUnsafe = document.getElementById("justifyContentCenterLeft"); 262 shouldBeEqualToString("getComputedStyle(justifyContentCenterLeft, '').getPropertyValue('justify-content')", " start");262 shouldBeEqualToString("getComputedStyle(justifyContentCenterLeft, '').getPropertyValue('justify-content')", "normal"); 263 263 264 264 debug(""); … … 266 266 element = document.createElement("div"); 267 267 document.body.appendChild(element); 268 shouldBeEqualToString("getComputedStyle(element, '').getPropertyValue('justify-content')", " start");268 shouldBeEqualToString("getComputedStyle(element, '').getPropertyValue('justify-content')", "normal"); 269 269 270 270 debug(""); … … 290 290 checkValues(element, "justifyContent", "justify-content", "right unsafe", "right unsafe"); 291 291 292 element.style.justifyContent = " auto";293 checkValues(element, "justifyContent", "justify-content", " auto", "start");292 element.style.justifyContent = "normal"; 293 checkValues(element, "justifyContent", "justify-content", "normal", "normal"); 294 294 295 295 element.style.display = "-webkit-flex"; 296 element.style.justifyContent = " auto";297 checkValues(element, "justifyContent", "justify-content", " auto", "stretch");296 element.style.justifyContent = "normal"; 297 checkValues(element, "justifyContent", "justify-content", "normal", "normal"); 298 298 299 299 element.style.display = "-webkit-grid"; 300 element.style.justifyContent = " auto";301 checkValues(element, "justifyContent", "justify-content", " auto", "start");300 element.style.justifyContent = "normal"; 301 checkValues(element, "justifyContent", "justify-content", "normal", "normal"); 302 302 303 303 element.style.justifyContent = "flex-end"; … … 310 310 311 311 checkBadValues(element, "justifyContent", "justify-content", ""); 312 checkBadValues(element, "justifyContent", "justify-content", "auto"); 312 313 checkBadValues(element, "justifyContent", "justify-content", "unsafe auto"); 313 314 checkBadValues(element, "justifyContent", "justify-content", "auto safe"); … … 334 335 debug("Test the value 'initial'"); 335 336 element.style.display = ""; 336 checkInitialValues(element, "justifyContent", "justify-content", "stretch center", " start");337 checkInitialValues(element, "justifyContent", "justify-content", "stretch center", "normal"); 337 338 338 339 debug(""); 339 340 debug("Test the value 'initial' for grid containers"); 340 341 element.style.display = "-webkit-grid"; 341 checkInitialValues(element, "justifyContent", "justify-content", "space-between left", " start");342 checkInitialValues(element, "justifyContent", "justify-content", "space-between left", "normal"); 342 343 343 344 debug(""); 344 345 debug("Test the value 'initial' for flex containers"); 345 346 element.style.display = "-webkit-flex"; 346 checkInitialValues(element, "justifyContent", "justify-content", "right unsafe", " stretch");347 checkInitialValues(element, "justifyContent", "justify-content", "right unsafe", "normal"); 347 348 348 349 debug(""); -
trunk/LayoutTests/css3/resources/alignment-parsing-utils.js
r182147 r197503 9 9 function checkBadValues(element, property, propertyID, value) 10 10 { 11 var elementID = element.id || "element"; 12 var initialValue = eval("window.getComputedStyle(" + elementID + " , '').getPropertyValue('" + propertyID + "')"); 11 13 element.style[property] = value; 12 checkValues(element, property, propertyID, "", "start");14 checkValues(element, property, propertyID, "", initialValue); 13 15 } 14 16 -
trunk/LayoutTests/fast/css-grid-layout/auto-content-resolution-columns.html
r168416 r197503 2 2 <html> 3 3 <link href="resources/grid.css" rel="stylesheet"> 4 <link href="resources/grid-alignment.css" rel="stylesheet"> 4 5 <style> 5 6 .gridAutoContent { … … 21 22 22 23 <div class="constrainedContainer"> 23 <div class="grid gridAutoContent ">24 <div class="grid gridAutoContent justifyContentStart"> 24 25 <div class="firstRowFirstColumn" data-expected-width="30" data-expected-height="50">XXX XXX XXX</div> 25 26 </div> … … 28 29 <!-- Allow the extra logical space distribution to occur. --> 29 30 <div style="width: 40px; height: 10px"> 30 <div class="grid gridAutoContent ">31 <div class="grid gridAutoContent justifyContentStart"> 31 32 <div class="firstRowFirstColumn" data-expected-width="40" data-expected-height="50">XX XX XX XX XX XX</div> 32 33 </div> … … 34 35 35 36 <div style="width: 100px; height: 10px;"> 36 <div class="grid gridAutoContent ">37 <div class="grid gridAutoContent justifyContentStart"> 37 38 <div class="firstRowFirstColumn" data-expected-width="50" data-expected-height="50">XXXXX</div> 38 39 </div> -
trunk/LayoutTests/fast/css-grid-layout/grid-auto-columns-rows-update.html
r178642 r197503 3 3 <head> 4 4 <link href="resources/grid.css" rel="stylesheet"> 5 <link href="resources/grid-alignment.css" rel="stylesheet"> 5 6 <style> 6 7 .grid { … … 74 75 75 76 <div class="unconstrainedContainer" style="position: relative"> 76 <div class="grid " id="unconstrainedGrid">77 <div class="grid justifyContentStart" id="unconstrainedGrid"> 77 78 <div class="sizedToGridArea secondRowSecondColumn" data-offset-x="10" data-offset-y="20" data-expected-width="50" data-expected-height="30">XXXXX XXXXXX</div> 78 79 </div> -
trunk/LayoutTests/fast/css-grid-layout/grid-auto-flow-resolution.html
r180263 r197503 2 2 <html> 3 3 <link href="resources/grid.css" rel="stylesheet"> 4 <link href="resources/grid-alignment.css" rel="stylesheet"> 4 5 <style> 5 6 .smallGrid { … … 46 47 47 48 <div class="unconstrainedContainer"> 48 <div class="grid smallGrid ">49 <div class="grid smallGrid justifyContentStart"> 49 50 <div class="sizedToGridArea autoRowAutoColumn" data-offset-x="0" data-offset-y="0" data-expected-width="50" data-expected-height="50">XXXXX XXXXX XXXXX</div> 50 51 <div class="sizedToGridArea secondRowAutoColumn" data-offset-x="0" data-offset-y="50" data-expected-width="50" data-expected-height="100">XXXXX XXXXX XXXXX</div> … … 57 58 58 59 <div class="unconstrainedContainer"> 59 <div class="grid bigGrid gridAutoFlowColumnSparse ">60 <div class="grid bigGrid gridAutoFlowColumnSparse justifyContentStart"> 60 61 <div class="sizedToGridArea secondRowSecondColumn" data-offset-x="50" data-offset-y="50" data-expected-width="100" data-expected-height="100">XXXXX XXXXX XXXXX</div> 61 62 <div class="sizedToGridArea firstRowSecondColumn" data-offset-x="50" data-offset-y="0" data-expected-width="100" data-expected-height="50">XXXXX XXXXX XXXXX</div> … … 67 68 68 69 <div class="unconstrainedContainer"> 69 <div class="grid bigGrid gridAutoFlowRowSparse ">70 <div class="grid bigGrid gridAutoFlowRowSparse justifyContentStart"> 70 71 <div class="sizedToGridArea firstRowFirstColumn" data-offset-x="0" data-offset-y="0" data-expected-width="50" data-expected-height="50">XXXXX XXXXX XXXXX</div> 71 72 <div class="sizedToGridArea firstRowSecondColumn" data-offset-x="50" data-offset-y="0" data-expected-width="100" data-expected-height="50">XXXXX XXXXX XXXXX</div> … … 77 78 78 79 <div class="unconstrainedContainer"> 79 <div class="grid bigGrid gridAutoFlowColumnSparse ">80 <div class="grid bigGrid gridAutoFlowColumnSparse justifyContentStart"> 80 81 <div class="sizedToGridArea autoRowFirstColumn" data-offset-x="0" data-offset-y="0" data-expected-width="50" data-expected-height="50">XXXXX XXXXX XXXXX</div> 81 82 <div class="sizedToGridArea autoRowSecondColumn" data-offset-x="50" data-offset-y="0" data-expected-width="100" data-expected-height="50">XXXXX XXXXX XXXXX</div> … … 87 88 88 89 <div class="unconstrainedContainer"> 89 <div class="grid bigGrid gridAutoFlowColumnDense ">90 <div class="grid bigGrid gridAutoFlowColumnDense justifyContentStart"> 90 91 <div class="sizedToGridArea autoRowFirstColumn" data-offset-x="0" data-offset-y="0" data-expected-width="50" data-expected-height="50">XXXXX XXXXX XXXXX</div> 91 92 <div class="sizedToGridArea autoRowSecondColumn" data-offset-x="50" data-offset-y="0" data-expected-width="100" data-expected-height="50">XXXXX XXXXX XXXXX</div> … … 97 98 98 99 <div class="unconstrainedContainer"> 99 <div class="grid bigGrid gridAutoFlowRowSparse ">100 <div class="grid bigGrid gridAutoFlowRowSparse justifyContentStart"> 100 101 <div class="sizedToGridArea autoRowFirstColumn" data-offset-x="0" data-offset-y="150" data-expected-width="50" data-expected-height="150">XXXXX XXXXX XXXXX</div> 101 102 <div class="sizedToGridArea firstRowSecondColumn" data-offset-x="50" data-offset-y="0" data-expected-width="100" data-expected-height="50">XXXXX XXXXX XXXXX</div> … … 107 108 108 109 <div class="unconstrainedContainer"> 109 <div class="grid bigGrid gridAutoFlowRowDense ">110 <div class="grid bigGrid gridAutoFlowRowDense justifyContentStart"> 110 111 <div class="sizedToGridArea autoRowFirstColumn" data-offset-x="0" data-offset-y="150" data-expected-width="50" data-expected-height="150">XXXXX XXXXX XXXXX</div> 111 112 <div class="sizedToGridArea firstRowSecondColumn" data-offset-x="50" data-offset-y="0" data-expected-width="100" data-expected-height="50">XXXXX XXXXX XXXXX</div> … … 118 119 <!-- Using some 2 positions non-spanning fixed grid-{row|column} --> 119 120 <div class="unconstrainedContainer"> 120 <div class="grid bigGrid gridAutoFlowColumnSparse ">121 <div class="grid bigGrid gridAutoFlowColumnSparse justifyContentStart"> 121 122 <div class="sizedToGridArea autoLastRowAutoLastColumn" data-offset-x="300" data-offset-y="300" data-expected-width="200" data-expected-height="200">XXXXX XXXXX XXXXX</div> 122 123 <div class="sizedToGridArea firstAutoRowSecondAutoColumn" data-offset-x="50" data-offset-y="0" data-expected-width="100" data-expected-height="50">XXXXX XXXXX XXXXX</div> … … 128 129 129 130 <div class="unconstrainedContainer"> 130 <div class="grid bigGrid gridAutoFlowRowSparse ">131 <div class="grid bigGrid gridAutoFlowRowSparse justifyContentStart"> 131 132 <div class="sizedToGridArea autoLastRowAutoLastColumn" data-offset-x="300" data-offset-y="300" data-expected-width="200" data-expected-height="200">XXXXX XXXXX XXXXX</div> 132 133 <div class="sizedToGridArea firstAutoRowSecondAutoColumn" data-offset-x="50" data-offset-y="0" data-expected-width="100" data-expected-height="50">XXXXX XXXXX XXXXX</div> … … 138 139 139 140 <div class="unconstrainedContainer"> 140 <div class="grid bigGrid gridAutoFlowColumnSparse ">141 <div class="grid bigGrid gridAutoFlowColumnSparse justifyContentStart"> 141 142 <div class="sizedToGridArea overflowingRowFirstColumn" data-offset-x="0" data-offset-y="500" data-expected-width="50" data-expected-height="30">XXXXX XXXXX XXXXX</div> 142 143 <div class="sizedToGridArea secondRowOverflowingColumn" data-offset-x="500" data-offset-y="50" data-expected-width="170" data-expected-height="100">XXXXX XXXXX XXXXX</div> … … 145 146 146 147 <div class="unconstrainedContainer"> 147 <div class="grid bigGrid gridAutoFlowRowSparse ">148 <div class="grid bigGrid gridAutoFlowRowSparse justifyContentStart"> 148 149 <div class="sizedToGridArea overflowingRowFirstColumn" data-offset-x="0" data-offset-y="500" data-expected-width="50" data-expected-height="30">XXXXX XXXXX XXXXX</div> 149 150 <div class="sizedToGridArea secondRowOverflowingColumn" data-offset-x="500" data-offset-y="50" data-expected-width="170" data-expected-height="100">XXXXX XXXXX XXXXX</div> … … 152 153 153 154 <div class="unconstrainedContainer"> 154 <div class="grid bigGrid gridAutoFlowColumnSparse ">155 <div class="grid bigGrid gridAutoFlowColumnSparse justifyContentStart"> 155 156 <div class="sizedToGridArea negativeOverflowingRowFirstColumn" data-offset-x="0" data-offset-y="0" data-expected-width="50" data-expected-height="50">XXXXX XXXXX XXXXX</div> 156 157 <div class="sizedToGridArea secondRowNegativeOverflowingColumn" data-offset-x="0" data-offset-y="50" data-expected-width="50" data-expected-height="100">XXXXX XXXXX XXXXX</div> … … 159 160 160 161 <div class="unconstrainedContainer"> 161 <div class="grid bigGrid gridAutoFlowRowSparse ">162 <div class="grid bigGrid gridAutoFlowRowSparse justifyContentStart"> 162 163 <div class="sizedToGridArea negativeOverflowingRowFirstColumn" data-offset-x="0" data-offset-y="0" data-expected-width="50" data-expected-height="50">XXXXX XXXXX XXXXX</div> 163 164 <div class="sizedToGridArea secondRowNegativeOverflowingColumn" data-offset-x="0" data-offset-y="50" data-expected-width="50" data-expected-height="100">XXXXX XXXXX XXXXX</div> -
trunk/LayoutTests/fast/css-grid-layout/grid-columns-rows-get-set-multiple.html
r196819 r197503 4 4 <link href="../css-intrinsic-dimensions/resources/width-keyword-classes.css" rel="stylesheet"> 5 5 <link href="resources/grid.css" rel="stylesheet"> 6 <link href="resources/grid-alignment.css" rel="stylesheet"> 6 7 <style> 7 8 .definite { … … 114 115 <div class="gridItem"></div> 115 116 </div> 116 <div class="grid definite gridWithAuto " id="gridWithAutoElement">117 <div class="grid definite gridWithAuto contentStart" id="gridWithAutoElement"> 117 118 <div class="gridItem2"></div> 118 119 </div> … … 120 121 <div class="grid definite gridWithNoneAndAuto" id="gridWithNoneAndAuto"></div> 121 122 <div class="grid definite gridWithNoneAndFixed" id="gridWithNoneAndFixed"></div> 122 <div class="grid definite gridWithThreeItems " id="gridWithThreeItems"></div>123 <div class="grid definite gridWithThreeItems contentStart" id="gridWithThreeItems"></div> 123 124 <div class="grid definite gridWithPercentAndViewportPercent" id="gridWithPercentAndViewportPercent"></div> 124 125 <div class="grid definite gridWithFitContentAndFitAvailable" id="gridWithFitContentAndFitAvailable"></div> … … 136 137 <div class="grid definite gridWithCalcAndMinMax" id="gridWithCalcAndMinMax"></div> 137 138 <div class="grid definite gridWithCalcInsideMinMax" id="gridWithCalcInsideMinMax"></div> 138 <div class="grid definite gridWithAutoInsideMinMax " id="gridWithAutoInsideMinMax"></div>139 <div class="grid definite gridWithAutoInsideMinMax contentStart" id="gridWithAutoInsideMinMax"></div> 139 140 <script src="resources/grid-definitions-parsing-utils.js"></script> 140 141 <script src="resources/grid-columns-rows-get-set-multiple.js"></script> -
trunk/LayoutTests/fast/css-grid-layout/grid-columns-rows-get-set.html
r196819 r197503 4 4 <link href="../css-intrinsic-dimensions/resources/width-keyword-classes.css" rel="stylesheet"> 5 5 <link href="resources/grid.css" rel="stylesheet"> 6 <link href="resources/grid-alignment.css" rel="stylesheet"> 6 7 <style> 7 8 .definite { … … 102 103 <div class="gridItem"></div> 103 104 </div> 104 <div class="grid definite gridWithAuto " id="gridWithAutoElement"></div>105 <div class="grid definite gridWithAuto " id="gridWithAutoWithoutSizeElement"></div>106 <div class="grid definite gridWithAuto fontSpec" id="gridWithAutoWithChildrenElement">105 <div class="grid definite gridWithAuto contentStart" id="gridWithAutoElement"></div> 106 <div class="grid definite gridWithAuto contentStart" id="gridWithAutoWithoutSizeElement"></div> 107 <div class="grid definite gridWithAuto contentStart fontSpec" id="gridWithAutoWithChildrenElement"> 107 108 <div class="gridItem"></div> 108 109 </div> … … 127 128 <div class="grid definite gridWithCalcInsideMinMax" id="gridWithCalcInsideMinMaxElement"></div> 128 129 <div class="grid definite gridWithCalcComplexInsideMinMax" id="gridWithCalcComplexInsideMinMaxElement"></div> 129 <div class="grid definite gridWithAutoInsideMinMax " id="gridWithAutoInsideMinMaxElement">130 <div class="grid definite gridWithAutoInsideMinMax contentStart" id="gridWithAutoInsideMinMaxElement"> 130 131 <div class="gridItem"></div> 131 132 </div> -
trunk/LayoutTests/fast/css-grid-layout/grid-container-change-named-grid-lines-recompute-child.html
r185147 r197503 3 3 <head> 4 4 <link href="resources/grid.css" rel="stylesheet"> 5 <link href="resources/grid-alignment.css" rel="stylesheet"> 5 6 <script src="../../resources/check-layout.js"></script> 6 7 <style type="text/css"> … … 67 68 68 69 <div style="position: relative"> 69 <div class="grid ">70 <div class="grid justifyContentStart"> 70 71 <div class="sizedToGridArea" id="firstGridItem"></div> 71 72 <div class="sizedToGridArea" id="secondGridItem"></div> -
trunk/LayoutTests/fast/css-grid-layout/grid-content-sized-columns-resolution.html
r182472 r197503 2 2 <head> 3 3 <link href="resources/grid.css" rel="stylesheet"/> 4 <link href="resources/grid-alignment.css" rel="stylesheet"/> 4 5 <style> 5 6 .grid { … … 59 60 </head> 60 61 <body> 61 <div class="grid gridMinContentFixedAndAuto " id="gridMinContentFixedAndAuto">62 <div class="firstRowBothColumn">XXXX XXXX</div> 63 </div> 64 65 <div class="grid gridAutoAndAuto " id="gridAutoAndAuto">62 <div class="grid gridMinContentFixedAndAuto justifyContentStart" id="gridMinContentFixedAndAuto"> 63 <div class="firstRowBothColumn">XXXX XXXX</div> 64 </div> 65 66 <div class="grid gridAutoAndAuto justifyContentStart" id="gridAutoAndAuto"> 66 67 <div class="firstRowBothColumn">XXXX XXXX</div> 67 68 </div> … … 93 94 </div> 94 95 95 <div class="grid gridAutoMinContent " id="gridAutoMinContent">96 <div class="firstRowBothColumn">XXXX XXXX</div> 97 </div> 98 99 <div class="grid gridAutoMaxContent " id="gridAutoMaxContent">96 <div class="grid gridAutoMinContent justifyContentStart" id="gridAutoMinContent"> 97 <div class="firstRowBothColumn">XXXX XXXX</div> 98 </div> 99 100 <div class="grid gridAutoMaxContent justifyContentStart" id="gridAutoMaxContent"> 100 101 <div class="firstRowBothColumn">XXXX XXXX</div> 101 102 </div> … … 205 206 206 207 <!-- Check that items are processed by ascending span instead of going track by track allowing extra space distribution. --> 207 <div class="grid gridMinContentFixedAndAuto " id="gridMinContentFixedAndAutoUnsorted">208 <div class="grid gridMinContentFixedAndAuto justifyContentStart" id="gridMinContentFixedAndAutoUnsorted"> 208 209 <div class="firstRowBothColumn">XXXX XXXX</div> 209 210 <div class="firstRowSecondColumn">XXXX XXXX</div> 210 211 </div> 211 212 212 <div class="grid gridAutoAndAuto " id="gridAutoAndAutoUnsorted">213 <div class="grid gridAutoAndAuto justifyContentStart" id="gridAutoAndAutoUnsorted"> 213 214 <div class="firstRowBothColumn">XXXX XXXX</div> 214 215 <div class="firstRowSecondColumn">XXX</div> … … 243 244 </div> 244 245 245 <div class="grid gridMaxContentFixedAndAuto " id="gridMaxContentFixedAndAutoUnsorted">246 <div class="grid gridMaxContentFixedAndAuto justifyContentStart" id="gridMaxContentFixedAndAutoUnsorted"> 246 247 <div class="firstRowBothColumn">XX XX</div> 247 248 <div class="firstRowSecondColumn">XXXX</div> … … 249 250 </div> 250 251 251 <div class="grid gridAutoMinContent " id="gridAutoMinContentUnsorted">252 <div class="grid gridAutoMinContent justifyContentStart" id="gridAutoMinContentUnsorted"> 252 253 <div class="firstRowBothColumn">XX XX XX XX</div> 253 254 <div class="firstRowSecondColumn">XXXXXX XXXXXX</div> 254 255 </div> 255 256 256 <div class="grid gridAutoMaxContent " id="gridAutoMaxContentUnsorted">257 <div class="grid gridAutoMaxContent justifyContentStart" id="gridAutoMaxContentUnsorted"> 257 258 <div class="firstRowBothColumn">XXXX XXXX</div> 258 259 <div class="firstRowBothColumn">XXX XXX</div> … … 275 276 <!-- The next four force the grid to grow only a particular subset of tracks above the limits --> 276 277 <div class="constrainedContainer"> 277 <div class="grid gridMinContentFixedAndAuto " id="gridMinContentFixedAndAutoAboveLimits">278 <div class="grid gridMinContentFixedAndAuto justifyContentStart" id="gridMinContentFixedAndAutoAboveLimits"> 278 279 <div class="firstRowBothColumn">XXXX XXXX</div> 279 280 <div class="firstRowBothColumn">XXXXXXXXXXX</div> … … 308 309 </div> 309 310 310 <div class="grid gridAutoAndMinContentFixedAndMinContent " id="gridAutoAndMinContentFixedAndMinContent">311 <div class="grid gridAutoAndMinContentFixedAndMinContent justifyContentStart" id="gridAutoAndMinContentFixedAndMinContent"> 311 312 <div class="firstRowFirstColumn">XX</div> 312 313 <div class="firstRowBothColumn">XXXXXXXXXXXXXXX</div> -
trunk/LayoutTests/fast/css-grid-layout/grid-dynamic-updates-relayout.html
r168416 r197503 2 2 <html> 3 3 <link href="resources/grid.css" rel="stylesheet"> 4 <link href="resources/grid-alignment.css" rel="stylesheet"> 4 5 <script src="../../resources/check-layout.js"></script> 5 6 <script> … … 60 61 61 62 <div class="unconstrainedContainer"> 62 <div class="grid " id="unconstrainedGrid">63 <div class="grid justifyContentStart" id="unconstrainedGrid"> 63 64 <div class="sizedToGridArea">XXXXX XXXXXX</div> 64 65 </div> -
trunk/LayoutTests/fast/css-grid-layout/grid-element-min-max-width.html
r168416 r197503 2 2 <html> 3 3 <link href="resources/grid.css" rel="stylesheet"> 4 <link href="resources/grid-alignment.css" rel="stylesheet"> 4 5 <link href="../css-intrinsic-dimensions/resources/width-keyword-classes.css" rel=stylesheet> 5 6 <style> … … 30 31 <div class="constrainedContainer"> 31 32 <div class="grid minWidthGrid" data-expected-height="40" data-expected-width="100"></div> 32 <div class="grid minWidthAutoGrid " data-expected-height="10" data-expected-width="100">33 <div class="grid minWidthAutoGrid justifyContentStart justfyContentStart" data-expected-height="10" data-expected-width="100"> 33 34 <div class="sizedToGridArea firstRowFirstColumn" data-expected-height="10" data-expected-width="70">XXX XXX</div> 34 35 </div> … … 59 60 <div class="unconstrainedContainer"> 60 61 <div class="grid minWidthGrid" data-expected-height="40" data-expected-width="1000"></div> 61 <div class="grid minWidthAutoGrid " data-expected-height="10" data-expected-width="1000">62 <div class="grid minWidthAutoGrid justifyContentStart" data-expected-height="10" data-expected-width="1000"> 62 63 <div class="sizedToGridArea firstRowFirstColumn" data-expected-height="10" data-expected-width="70">XXX XXX</div> 63 64 </div> -
trunk/LayoutTests/fast/css-grid-layout/grid-element-repeat-get-set.html
r196819 r197503 4 4 <link href="../css-intrinsic-dimensions/resources/width-keyword-classes.css" rel="stylesheet"> 5 5 <link href="resources/grid.css" rel="stylesheet"> 6 <link href="resources/grid-alignment.css" rel="stylesheet"> 6 7 <style> 7 8 .definite { … … 74 75 <div class="grid definite singleSingleTrackRepeat" id="singleSingleTrackRepeatWithSize"></div> 75 76 <div class="grid min-content singleSingleTrackRepeat" id="singleSingleTrackRepeatWithoutSize"></div> 76 <div class="grid definite twoSingleTrackRepeat " id="twoSingleTrackRepeat"></div>77 <div class="grid definite twoSingleTrackRepeat " id="twoSingleTrackRepeatWithChildren">77 <div class="grid definite twoSingleTrackRepeat alignContentStart" id="twoSingleTrackRepeat"></div> 78 <div class="grid definite twoSingleTrackRepeat alignContentStart" id="twoSingleTrackRepeatWithChildren"> 78 79 <div class="gridItem"></div> 79 80 <div class="gridItem2"></div> 80 81 </div> 81 <div class="grid definite twoDoubleTrackRepeat " id="twoDoubleTrackRepeat">82 <div class="grid definite twoDoubleTrackRepeat contentStart" id="twoDoubleTrackRepeat"> 82 83 <div class="gridItem"></div> 83 84 <div class="gridItem2"></div> 84 85 </div> 85 <div class="grid definite twoDoubleTrackWithNamedGridLineRepeat " id="twoDoubleTrackWithNamedGridLineRepeat">86 <div class="grid definite twoDoubleTrackWithNamedGridLineRepeat contentStart" id="twoDoubleTrackWithNamedGridLineRepeat"> 86 87 <div class="gridItem"></div> 87 88 <div class="gridItem2"></div> 88 89 </div> 89 <div class="grid definite twoDoubleTrackWithTrailingNamedGridLineRepeat " id="twoDoubleTrackWithTrailingNamedGridLineRepeat"></div>90 <div class="grid definite twoDoubleTrackWithTrailingNamedGridLineRepeat justifyContentStart" id="twoDoubleTrackWithTrailingNamedGridLineRepeat"></div> 90 91 <div class="grid definite trailingNamedGridLineRepeat" id="trailingNamedGridLineRepeat"></div> 91 92 <div class="grid definite leadingNamedGridLineRepeat" id="leadingNamedGridLineRepeat"></div> 92 <div class="grid definite mixRepeatAfterNonRepeat " id="mixRepeatAfterNonRepeat">93 <div class="grid definite mixRepeatAfterNonRepeat alignContentStart" id="mixRepeatAfterNonRepeat"> 93 94 <div class="gridItem"></div> 94 95 </div> 95 <div class="grid definite mixNonRepeatAfterRepeat " id="mixNonRepeatAfterRepeat"></div>96 <div class="grid definite mixNonRepeatAfterRepeat alignContentStart" id="mixNonRepeatAfterRepeat"></div> 96 97 97 98 <script src="resources/grid-definitions-parsing-utils.js"></script> -
trunk/LayoutTests/fast/css-grid-layout/grid-initialize-span-one-items.html
r180143 r197503 2 2 <head> 3 3 <link href="resources/grid.css" rel="stylesheet"/> 4 <link href="resources/grid-alignment.css" rel="stylesheet"/> 4 5 <style> 5 6 .grid { … … 22 23 </head> 23 24 <body> 24 <div class="grid gridAutoAndAuto " id="gridAutoAndAuto">25 <div class="grid gridAutoAndAuto justifyContentStart" id="gridAutoAndAuto"> 25 26 <div class="firstRowFirstColumn">X</div> 26 27 <div class="firstRowBothColumn">XXX XX XXX</div> 27 28 </div> 28 29 29 <div class="grid gridAutoAndAuto " id="gridAutoAndAutoReversed">30 <div class="grid gridAutoAndAuto justifyContentStart" id="gridAutoAndAutoReversed"> 30 31 <div class="firstRowSecondColumn">X</div> 31 32 <div class="firstRowBothColumn">XXX XX XXX</div> … … 48 49 </div> 49 50 50 <div class="grid gridMaxContentAndAuto " id="gridMaxContentAndAuto">51 <div class="grid gridMaxContentAndAuto justifyContentStart" id="gridMaxContentAndAuto"> 51 52 <div class="firstRowFirstColumn">X</div> 52 53 <div class="firstRowBothColumn">XXX XX XXX</div> 53 54 </div> 54 55 55 <div class="grid gridMaxContentAndAuto " id="gridMaxContentAndAutoReversed">56 <div class="grid gridMaxContentAndAuto justifyContentStart" id="gridMaxContentAndAutoReversed"> 56 57 <div class="firstRowSecondColumn">X</div> 57 58 <div class="firstRowBothColumn">XXX XX XXX</div> 58 59 </div> 59 60 60 <div class="grid gridMinContentAndAuto " id="gridMinContentAndAuto">61 <div class="grid gridMinContentAndAuto justifyContentStart" id="gridMinContentAndAuto"> 61 62 <div class="firstRowFirstColumn">X</div> 62 63 <div class="firstRowBothColumn">XXX XX XXX</div> 63 64 </div> 64 65 65 <div class="grid gridMinContentAndAuto " id="gridMinContentAndAutoReversed">66 <div class="grid gridMinContentAndAuto justifyContentStart" id="gridMinContentAndAutoReversed"> 66 67 <div class="firstRowSecondColumn">X</div> 67 68 <div class="firstRowBothColumn">XXX XX XXX</div> -
trunk/LayoutTests/fast/css-grid-layout/grid-item-addition-auto-placement-update.html
r171293 r197503 2 2 <html> 3 3 <link href="resources/grid.css" rel="stylesheet"> 4 <link href="resources/grid-alignment.css" rel="stylesheet"> 4 5 <style> 5 6 .grid { … … 58 59 59 60 <div class="unconstrainedContainer"> 60 <div class="grid gridAutoFlowColumnSparse " id="gridAutoFlowColumnSparse">61 <div class="grid gridAutoFlowColumnSparse contentStart" id="gridAutoFlowColumnSparse"> 61 62 <div class="sizedToGridArea autoRowAutoColumn" id="autoFlowColumnElement" data-expected-width="50" data-expected-height="50">XXXXX XXXXX XXXXX</div> 62 63 </div> … … 70 71 71 72 <div class="unconstrainedContainer"> 72 <div class="grid gridAutoFlowColumnSparse " id="gridAutoFlowColumnWithAuto">73 <div class="grid gridAutoFlowColumnSparse contentStart" id="gridAutoFlowColumnWithAuto"> 73 74 <div class="sizedToGridArea autoRowAutoColumn" id="autoFlowColumnElementWithAuto" data-expected-width="50" data-expected-height="50">XXXXX XXXXX XXXXX</div> 74 75 </div> -
trunk/LayoutTests/fast/css-grid-layout/grid-item-addition-track-breadth-update.html
r168416 r197503 2 2 <html> 3 3 <link href="resources/grid.css" rel="stylesheet"> 4 <link href="resources/grid-alignment.css" rel="stylesheet"> 4 5 <style> 5 6 .gridFixedContent { … … 27 28 gridItem.setAttribute("data-expected-height", size.height); 28 29 var gridElement = document.getElementById(gridElementID); 30 gridElement.classList.add("contentStart"); 29 31 gridElement.appendChild(gridItem); 30 32 checkLayout("#" + gridElementID); -
trunk/LayoutTests/fast/css-grid-layout/grid-item-bad-named-area-auto-placement.html
r168416 r197503 2 2 <html> 3 3 <link href="resources/grid.css" rel="stylesheet"/> 4 <link href="resources/grid-alignment.css" rel="stylesheet"/> 4 5 <style> 5 6 .grid { … … 42 43 43 44 <div style="position: relative"> 44 <div class="grid ">45 <div class="grid contentStart"> 45 46 <div class="sizedToGridArea firstRowFirstColumn" data-offset-x="0" data-offset-y="0" data-expected-width="30" data-expected-height="10"></div> 46 47 <div class="sizedToGridArea bothNamedGridLineColumn" data-offset-x="30" data-offset-y="0" data-expected-width="40" data-expected-height="10"></div> -
trunk/LayoutTests/fast/css-grid-layout/grid-item-margin-auto-columns-rows-horizontal-ltr.html
r177631 r197503 2 2 <html> 3 3 <link href="resources/grid.css" rel="stylesheet"> 4 <link href="resources/grid-alignment.css" rel="stylesheet"> 4 5 <style> 5 6 .grid { … … 33 34 34 35 <div class="testContainer"> 35 <div class="grid ">36 <div class="grid contentStart"> 36 37 <div class="gridItem marginTop firstRowFirstColumn"></div> 37 38 <div class="gridItem firstRowSecondColumn"></div> … … 42 43 43 44 <div class="testContainer"> 44 <div class="grid ">45 <div class="grid contentStart"> 45 46 <div class="gridItem marginTop firstRowFirstColumn"></div> 46 47 <div class="gridItem marginBottom firstRowSecondColumn"></div> … … 51 52 52 53 <div class="testContainer"> 53 <div class="grid horizontalBT">54 <div class="grid contentStart horizontalBT"> 54 55 <div class="gridItem marginTop firstRowFirstColumn"></div> 55 56 <div class="gridItem firstRowSecondColumn"></div> … … 60 61 61 62 <div class="testContainer"> 62 <div class="grid horizontalBT">63 <div class="grid contentStart horizontalBT"> 63 64 <div class="gridItem marginTop firstRowFirstColumn"></div> 64 65 <div class="gridItem marginBottom firstRowSecondColumn"></div> -
trunk/LayoutTests/fast/css-grid-layout/grid-item-margin-auto-columns-rows-horizontal-rtl.html
r177631 r197503 2 2 <html> 3 3 <link href="resources/grid.css" rel="stylesheet"> 4 <link href="resources/grid-alignment.css" rel="stylesheet"> 4 5 <style> 5 6 .grid { … … 33 34 <div>This test checks that the grid's rows and columns 'auto' sizes are updated accordingly to its grid-item's before and start margins.</div> 34 35 <div class="testContainer"> 35 <div class="grid directionRTL">36 <div class="grid contentStart directionRTL"> 36 37 <div class="gridItem marginTop firstRowFirstColumn"></div> 37 38 <div class="gridItem firstRowSecondColumn"></div> … … 42 43 43 44 <div class="testContainer"> 44 <div class="grid directionRTL">45 <div class="grid contentStart directionRTL"> 45 46 <div class="gridItem marginTop firstRowFirstColumn"></div> 46 47 <div class="gridItem marginBottom firstRowSecondColumn"></div> … … 51 52 52 53 <div class="testContainer"> 53 <div class="grid horizontalBT directionRTL">54 <div class="grid contentStart horizontalBT directionRTL"> 54 55 <div class="gridItem marginTop firstRowFirstColumn"></div> 55 56 <div class="gridItem firstRowSecondColumn"></div> … … 60 61 61 62 <div class="testContainer"> 62 <div class="grid horizontalBT directionRTL">63 <div class="grid contentStart horizontalBT directionRTL"> 63 64 <div class="gridItem marginTop firstRowFirstColumn"></div> 64 65 <div class="gridItem marginBottom firstRowSecondColumn"></div> -
trunk/LayoutTests/fast/css-grid-layout/grid-item-margin-auto-columns-rows-vertical-ltr.html
r177631 r197503 2 2 <html> 3 3 <link href="resources/grid.css" rel="stylesheet"> 4 <link href="resources/grid-alignment.css" rel="stylesheet"> 4 5 <style> 5 6 .grid { … … 34 35 35 36 <div class="testContainer"> 36 <div class="grid verticalRL">37 <div class="grid contentStart verticalRL"> 37 38 <div class="gridItem marginTop firstRowFirstColumn"></div> 38 39 <div class="gridItem firstRowSecondColumn"></div> … … 43 44 44 45 <div class="testContainer"> 45 <div class="grid verticalRL">46 <div class="grid contentStart verticalRL"> 46 47 <div class="gridItem marginTop firstRowFirstColumn"></div> 47 48 <div class="gridItem firstRowSecondColumn"></div> … … 52 53 53 54 <div class="testContainer"> 54 <div class="grid verticalLR">55 <div class="grid contentStart verticalLR"> 55 56 <div class="gridItem marginTop firstRowFirstColumn"></div> 56 57 <div class="gridItem firstRowSecondColumn"></div> … … 61 62 62 63 <div class="testContainer"> 63 <div class="grid verticalLR">64 <div class="grid contentStart verticalLR"> 64 65 <div class="gridItem marginTop firstRowFirstColumn"></div> 65 66 <div class="gridItem firstRowSecondColumn"></div> -
trunk/LayoutTests/fast/css-grid-layout/grid-item-margin-auto-columns-rows-vertical-rtl.html
r177631 r197503 2 2 <html> 3 3 <link href="resources/grid.css" rel="stylesheet"> 4 <link href="resources/grid-alignment.css" rel="stylesheet"> 4 5 <style> 5 6 .grid { … … 34 35 35 36 <div class="testContainer"> 36 <div class="grid verticalRL directionRTL">37 <div class="grid contentStart verticalRL directionRTL"> 37 38 <div class="gridItem marginTop firstRowFirstColumn"></div> 38 39 <div class="gridItem firstRowSecondColumn"></div> … … 43 44 44 45 <div class="testContainer"> 45 <div class="grid verticalRL directionRTL">46 <div class="grid contentStart verticalRL directionRTL"> 46 47 <div class="gridItem marginTop firstRowFirstColumn"></div> 47 48 <div class="gridItem firstRowSecondColumn"></div> … … 52 53 53 54 <div class="testContainer"> 54 <div class="grid verticalLR directionRTL">55 <div class="grid contentStart verticalLR directionRTL"> 55 56 <div class="gridItem marginTop firstRowFirstColumn"></div> 56 57 <div class="gridItem firstRowSecondColumn"></div> … … 61 62 62 63 <div class="testContainer"> 63 <div class="grid verticalLR directionRTL">64 <div class="grid contentStart verticalLR directionRTL"> 64 65 <div class="gridItem marginTop firstRowFirstColumn"></div> 65 66 <div class="gridItem firstRowSecondColumn"></div> -
trunk/LayoutTests/fast/css-grid-layout/grid-item-multiple-minmax-content-resolution.html
r168416 r197503 2 2 <html> 3 3 <link href="resources/grid.css" rel="stylesheet"> 4 <link href="resources/grid-alignment.css" rel="stylesheet"> 4 5 <style> 5 6 .gridMinMaxAutoWithColumnMinMaxAuto { … … 14 15 15 16 <div class="unconstrainedContainer" style="position: relative;"> 16 <div class="grid gridMinMaxAutoWithColumnMinMaxAuto ">17 <div class="grid gridMinMaxAutoWithColumnMinMaxAuto justifyContentStart"> 17 18 <div class="sizedToGridArea firstRowFirstColumn" data-expected-width="180" data-expected-height="10">XXXXX XXXXX</div> 18 19 <div class="sizedToGridArea firstRowSecondColumn" data-expected-width="170" data-expected-height="10">XXXXX XXXXX XXXXX</div> -
trunk/LayoutTests/fast/css-grid-layout/grid-item-named-grid-area-resolution.html
r185147 r197503 3 3 <head> 4 4 <link href="resources/grid.css" rel="stylesheet"/> 5 <link href="resources/grid-alignment.css" rel="stylesheet"> 5 6 <style> 6 7 .grid { … … 74 75 75 76 <div style="position: relative"> 76 <div class="grid gridWithRepeat ">77 <div class="grid gridWithRepeat justifyContentStart"> 77 78 <!-- fifth and sixth are invalid named grid areas. --> 78 79 <div class="sizedToGridArea gridItemSixthArea" data-offset-x="0" data-offset-y="150" data-expected-width="40" data-expected-height="150"></div> -
trunk/LayoutTests/fast/css-grid-layout/grid-item-negative-indexes.html
r168416 r197503 1 1 <!DOCTYPE html> 2 2 <link href="resources/grid.css" rel="stylesheet"> 3 <link href="resources/grid-alignment.css" rel="stylesheet"> 3 4 <style> 4 5 .negativeStartBeforePositionIndexes { … … 20 21 21 22 <div class="unconstrainedContainer"> 22 <div class="grid ">23 <div class="grid justifyContentStart"> 23 24 <div class="sizedToGridArea negativeStartBeforePositionIndexes" data-expected-width="120" data-expected-height="10">XXXXX XXXXXX</div> 24 25 </div> … … 26 27 27 28 <div class="unconstrainedContainer"> 28 <div class="grid ">29 <div class="grid justifyContentStart"> 29 30 <div class="sizedToGridArea negativeEndAfterPositionIndexes" data-expected-width="120" data-expected-height="10">XXXXX XXXXXX</div> 30 31 </div> … … 32 33 33 34 <div class="unconstrainedContainer"> 34 <div class="grid ">35 <div class="grid justifyContentStart"> 35 36 <div class="sizedToGridArea negativePositionIndexes" data-expected-width="120" data-expected-height="10">XXXXX XXXXXX</div> 36 37 </div> -
trunk/LayoutTests/fast/css-grid-layout/grid-item-order-in-content-sized-columns-resolution.html
r180562 r197503 3 3 <head> 4 4 <link href="resources/grid.css" rel="stylesheet"/> 5 <link href="resources/grid-alignment.css" rel="stylesheet"/> 5 6 <style> 6 7 .grid { … … 53 54 54 55 <div style="position: relative"> 55 <div id="gridFixedMinContentAndAuto" class="grid gridFixedMinContentAndAuto">56 <div id="gridFixedMinContentAndAuto" class="grid contentStart gridFixedMinContentAndAuto"> 56 57 <div class="firstRowFirstColumn">XXXXX</div> 57 58 <div class="spanTwo secondRowFirstColumn">XXX XXX</div> … … 60 61 61 62 <div style="position: relative"> 62 <div id="gridFixedMaxContentAndAuto" class="grid gridFixedMaxContentAndAuto">63 <div id="gridFixedMaxContentAndAuto" class="grid contentStart gridFixedMaxContentAndAuto"> 63 64 <div class="firstRowFirstColumn">XXXXX</div> 64 65 <div class="spanTwo secondRowFirstColumn">XXX XXX</div> … … 67 68 68 69 <div style="position: relative"> 69 <div id="gridMaxContentAndAuto" class="grid gridMaxContentAndAuto">70 <div id="gridMaxContentAndAuto" class="grid contentStart gridMaxContentAndAuto"> 70 71 <div class="firstRowFirstColumn">XXXXX</div> 71 72 <div class="spanTwo secondRowFirstColumn">XXX XXX</div> … … 74 75 75 76 <div style="position: relative"> 76 <div id="gridAutoAndMaxContent" class="grid gridAutoAndMaxContent">77 <div id="gridAutoAndMaxContent" class="grid contentStart gridAutoAndMaxContent"> 77 78 <div class="firstRowFirstColumn">XXXXX</div> 78 79 <div class="spanTwo secondRowFirstColumn">XXX XXX</div> … … 81 82 82 83 <div style="position: relative"> 83 <div id="gridMinContentAndAuto" class="grid gridMinContentAndAuto">84 <div id="gridMinContentAndAuto" class="grid contentStart gridMinContentAndAuto"> 84 85 <div class="firstRowFirstColumn">XXXXX</div> 85 86 <div class="spanTwo secondRowFirstColumn">XXX XXX</div> … … 88 89 89 90 <div style="position: relative"> 90 <div id="gridAutoAndMinContent" class="grid gridAutoAndMinContent">91 <div id="gridAutoAndMinContent" class="grid contentStart gridAutoAndMinContent"> 91 92 <div class="firstRowFirstColumn">XXXXX</div> 92 93 <div class="spanTwo secondRowFirstColumn">XXX XXX</div> -
trunk/LayoutTests/fast/css-grid-layout/grid-item-removal-auto-placement-update.html
r171293 r197503 2 2 <html> 3 3 <link href="resources/grid.css" rel="stylesheet"> 4 <link href="resources/grid-alignment.css" rel="stylesheet"> 4 5 <style> 5 6 .grid { … … 57 58 58 59 <div class="unconstrainedContainer"> 59 <div class="grid gridAutoFlowColumnSparse " id="gridAutoFlowColumnSparse">60 <div class="grid gridAutoFlowColumnSparse justifyContentStart" id="gridAutoFlowColumnSparse"> 60 61 <div class="sizedToGridArea secondRowSecondColumn">XXXXX XXXXX XXXXX</div> 61 62 <div class="sizedToGridArea firstRowSecondColumn">XXXXX XXXXX XXXXX</div> … … 77 78 78 79 <div class="unconstrainedContainer"> 79 <div class="grid gridAutoFlowColumnDense " id="gridAutoFlowColumnWithAutoItems">80 <div class="grid gridAutoFlowColumnDense justifyContentStart" id="gridAutoFlowColumnWithAutoItems"> 80 81 <div class="sizedToGridArea autoRowFirstColumn">XXXXX XXXXX XXXXX</div> 81 82 <div class="sizedToGridArea autoRowSecondColumn">XXXXX XXXXX XXXXX</div> -
trunk/LayoutTests/fast/css-grid-layout/grid-item-removal-track-breadth-update.html
r178642 r197503 1 1 <!DOCTYPE html> 2 <html>2 <html> 3 3 <link href="resources/grid.css" rel="stylesheet"> 4 <link href="resources/grid-alignment.css" rel="stylesheet"> 4 5 <style> 5 6 .gridAutoContent { … … 160 161 <!-- The container is big enough to allow all the extra space distribution we want. --> 161 162 <div class="unconstrainedContainer"> 162 <div class="grid gridAutoContent " id="unconstrainedAutoGrid">163 <div class="grid gridAutoContent justifyContentStart" id="unconstrainedAutoGrid"> 163 164 <div class="firstRowFirstColumn">XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX</div> 164 165 <div class="firstRowFirstColumn">XXXXX XXXXX XXXXX XXXXX XXXXX XXXXX</div> -
trunk/LayoutTests/fast/css-grid-layout/grid-update-sizes-after-distributing-all.html
r182472 r197503 2 2 <head> 3 3 <link href="resources/grid.css" rel="stylesheet"/> 4 <link href="resources/grid-alignment.css" rel="stylesheet"/> 4 5 <style> 5 6 .grid { font: 10px/1 Ahem; } … … 63 64 </div> 64 65 65 <div class="grid gridMaxContentAndFixedAndAuto " id="gridMaxContentAndFixedAndAuto">66 <div class="grid gridMaxContentAndFixedAndAuto justifyContentStart" id="gridMaxContentAndFixedAndAuto"> 66 67 <div class="columns1To3">XXXX XXXX</div> 67 68 <div class="columns1To3">XXXXX XXX XXXX</div> … … 90 91 </div> 91 92 92 <div class="grid gridRepeatTwoAutoAndMaxContent " id="gridRepeatTwoAutoAndMaxContentTwoOverlapping">93 <div class="grid gridRepeatTwoAutoAndMaxContent justifyContentStart" id="gridRepeatTwoAutoAndMaxContentTwoOverlapping"> 93 94 <div class="columns1And2">XXXX XXXX</div> 94 95 <div class="columns3And4">XX XX</div> … … 97 98 </div> 98 99 99 <div class="grid gridRepeatTwoAutoAndMaxContent " id="gridRepeatTwoAutoAndMaxContentThreeOverlapping">100 <div class="grid gridRepeatTwoAutoAndMaxContent justifyContentStart" id="gridRepeatTwoAutoAndMaxContentThreeOverlapping"> 100 101 <div class="columns2And3">XXXXX XXX XXXX</div> 101 102 <div class="columns3And4">XXX XX XXX</div> … … 103 104 </div> 104 105 105 <div class="grid gridRepeatTwoAutoAndMaxContent " id="gridRepeatTwoAutoAndMaxContentTwoAndFourOverlapping">106 <div class="grid gridRepeatTwoAutoAndMaxContent justifyContentStart" id="gridRepeatTwoAutoAndMaxContentTwoAndFourOverlapping"> 106 107 <div class="columns1To4">XXXX XXXX</div> 107 108 <div class="columns3And4">XX XX</div> -
trunk/LayoutTests/fast/css-grid-layout/implicit-columns-auto-resolution.html
r168416 r197503 2 2 <html> 3 3 <link href="resources/grid.css" rel="stylesheet"> 4 <link href="resources/grid-alignment.css" rel="stylesheet"> 4 5 <style> 5 6 .gridAutoContent { … … 34 35 35 36 <div style="width: 100px; height: 10px;"> 36 <div class="grid gridAutoContent ">37 <div class="grid gridAutoContent justifyContentStart"> 37 38 <div class="firstRowFirstColumn" data-expected-width="50" data-expected-height="50">XXXXX</div> 38 39 </div> -
trunk/LayoutTests/fast/css-grid-layout/implicit-position-dynamic-change.html
r168416 r197503 2 2 <html> 3 3 <link href="resources/grid.css" rel="stylesheet"> 4 <link href="resources/grid-alignment.css" rel="stylesheet"> 4 5 <style> 5 6 .gridFixedContent { … … 116 117 <!-- Allow the extra logical space distribution to occur. --> 117 118 <div style="width: 1000px; height: 1000px"> 118 <div class="grid gridFixedContent " id="unconstrainedGrid"><div class="sizedToGridArea">XXXXXX XXXXXX</div></div>119 <div class="grid gridFixedContent justifyContentStart" id="unconstrainedGrid"><div class="sizedToGridArea">XXXXXX XXXXXX</div></div> 119 120 </div> 120 121 -
trunk/LayoutTests/fast/css-grid-layout/mark-as-infinitely-growable.html
r182704 r197503 2 2 <head> 3 3 <link href="resources/grid.css" rel="stylesheet"/> 4 <link href="resources/grid-alignment.css" rel="stylesheet"/> 4 5 <style> 5 6 .grid { … … 19 20 <script src="resources/grid-definitions-parsing-utils.js"></script> 20 21 21 <div class="grid gridAutoAndAuto " id="gridAutoAndAuto">22 <div class="grid gridAutoAndAuto justifyContentStart" id="gridAutoAndAuto"> 22 23 <div class="firstRowFirstColumn">X X</div> 23 24 <div class="firstRowBothColumn">XXXXXX XXX</div> -
trunk/LayoutTests/fast/css-grid-layout/maximize-tracks-definite-indefinite-width.html
r192154 r197503 2 2 3 3 <link href="resources/grid.css" rel="stylesheet"> 4 <link href="resources/grid-alignment.css" rel="stylesheet"> 4 5 <link href="../css-intrinsic-dimensions/resources/width-keyword-classes.css" rel="stylesheet"> 5 6 … … 74 75 <h2>Check the behavior of grids under min-content contstraints.</h2> 75 76 <div class="min-content min-width-50"> 76 <div class="grid " data-expected-width="50" data-expected-height="10">77 <div class="grid justifyContentStart" data-expected-width="50" data-expected-height="10"> 77 78 <div data-expected-width="40" data-expected-height="10">XX X</div> 78 79 </div> … … 89 90 90 91 <div style="width: 200px;"> 91 <div class="grid min-content min-width-fill-available" data-expected-width="200" data-expected-height="10">92 <div class="grid justifyContentStart min-content min-width-fill-available" data-expected-width="200" data-expected-height="10"> 92 93 <div data-expected-width="40" data-expected-height="10">XX X</div> 93 94 </div> … … 110 111 </div> 111 112 112 <div class="grid min-content min-width-50" data-expected-width="50" data-expected-height="10">113 <div class="grid justifyContentStart min-content min-width-50" data-expected-width="50" data-expected-height="10"> 113 114 <div data-expected-width="40" data-expected-height="10">XX X</div> 114 115 </div> … … 117 118 <h2>Check the behavior of grids with definite available space.</h2> 118 119 <div style="width: 100px;"> 119 <div class="grid " data-expected-width="100" data-expected-height="10">120 <div class="grid justifyContentStart" data-expected-width="100" data-expected-height="10"> 120 121 <div data-expected-width="40" data-expected-height="10">XX X</div> 121 122 </div> … … 134 135 </div> 135 136 136 <div class="grid " style="width: 90px;" data-expected-width="90" data-expected-height="10">137 <div data-expected-width="40" data-expected-height="10">XX X</div> 138 </div> 139 140 <div class="grid min-width-50" style="width: 10px;" data-expected-width="50" data-expected-height="10">137 <div class="grid justifyContentStart" style="width: 90px;" data-expected-width="90" data-expected-height="10"> 138 <div data-expected-width="40" data-expected-height="10">XX X</div> 139 </div> 140 141 <div class="grid justifyContentStart min-width-50" style="width: 10px;" data-expected-width="50" data-expected-height="10"> 141 142 <div data-expected-width="40" data-expected-height="10">XX X</div> 142 143 </div> 143 144 144 145 <div class="min-width-50" style="width: 20px;"> 145 <div class="grid " data-expected-width="50" data-expected-height="10">146 <div class="grid justifyContentStart" data-expected-width="50" data-expected-height="10"> 146 147 <div data-expected-width="40" data-expected-height="10">XX X</div> 147 148 </div> … … 152 153 <div data-expected-width="37" data-expected-height="20">XX X</div> 153 154 </div> 154 <div class="grid min-width-50" style="width: 37%;" data-expected-width="50" data-expected-height="10">155 <div class="grid justifyContentStart min-width-50" style="width: 37%;" data-expected-width="50" data-expected-height="10"> 155 156 <div data-expected-width="40" data-expected-height="10">XX X</div> 156 157 </div> … … 181 182 182 183 <div class="fit-content min-width-50"> 183 <div class="grid " data-expected-width="50" data-expected-height="10">184 <div data-expected-width="40" data-expected-height="10">XX X</div> 185 </div> 186 <div class="grid min-width-35" data-expected-width="50" data-expected-height="10">184 <div class="grid justifyContentStart" data-expected-width="50" data-expected-height="10"> 185 <div data-expected-width="40" data-expected-height="10">XX X</div> 186 </div> 187 <div class="grid justifyContentStart min-width-35" data-expected-width="50" data-expected-height="10"> 187 188 <div data-expected-width="40" data-expected-height="10">XX X</div> 188 189 </div> … … 193 194 <div data-expected-width="40" data-expected-height="10">XX X</div> 194 195 </div> 195 <div class="grid fill-available" data-expected-width="50" data-expected-height="10">196 <div class="grid justifyContentStart fill-available" data-expected-width="50" data-expected-height="10"> 196 197 <div data-expected-width="40" data-expected-height="10">XX X</div> 197 198 </div> -
trunk/LayoutTests/fast/css-grid-layout/minmax-spanning-resolution-columns.html
r168416 r197503 2 2 <html> 3 3 <link href="resources/grid.css" rel="stylesheet"> 4 <link href="resources/grid-alignment.css" rel="stylesheet"> 4 5 <style> 5 6 .gridAutoAutoContent { … … 47 48 48 49 <div style="width: 100px; height: 10px;"> 49 <div class="grid gridAutoAutoContent ">50 <div class="grid gridAutoAutoContent justifyContentStart"> 50 51 <div class="sizedToGridArea firstRowBothColumn" data-expected-width="50" data-expected-height="50">XXXXX</div> 51 52 <div class="sizedToGridArea firstRowFirstColumn" data-expected-width="25" data-expected-height="50"></div> … … 82 83 83 84 <div style="width: 100px; height: 10px;"> 84 <div class="grid gridFixedAutoContent ">85 <div class="grid gridFixedAutoContent justifyContentStart"> 85 86 <div class="sizedToGridArea firstRowBothColumn" data-expected-width="50" data-expected-height="50">XXXXX</div> 86 87 <div class="sizedToGridArea firstRowFirstColumn" data-expected-width="10" data-expected-height="50"></div> … … 90 91 91 92 <div style="width: 100px; height: 100px"> 92 <div class="grid gridFixedAutoContent ">93 <div class="grid gridFixedAutoContent justifyContentStart"> 93 94 <div class="sizedToGridArea bothRowBothColumn" data-expected-width="50" data-expected-height="150">XXXXX</div> 94 95 <div class="sizedToGridArea firstRowFirstColumn" data-expected-width="10" data-expected-height="50"></div> -
trunk/LayoutTests/fast/css-grid-layout/named-grid-line-get-set.html
r196819 r197503 4 4 <link href="../css-intrinsic-dimensions/resources/width-keyword-classes.css" rel="stylesheet"> 5 5 <link href="resources/grid.css" rel="stylesheet"> 6 <link href="resources/grid-alignment.css" rel="stylesheet"> 6 7 <style> 7 8 .definite { … … 78 79 <div class="gridItem"></div> 79 80 </div> 80 <div class="grid definite gridWithAuto " id="gridWithAutoElement"></div>81 <div class="grid definite gridWithAuto " id="gridWithAutoWithChildrenElement">81 <div class="grid definite gridWithAuto contentStart" id="gridWithAutoElement"></div> 82 <div class="grid definite gridWithAuto contentStart" id="gridWithAutoWithChildrenElement"> 82 83 <div class="gridItem"></div> 83 84 </div> -
trunk/LayoutTests/fast/css-grid-layout/named-grid-lines-computed-style-implicit-tracks.html
r185147 r197503 1 1 <!DOCTYPE HTML> 2 2 <link href="resources/grid.css" rel="stylesheet"> 3 <link href="resources/grid-alignment.css" rel="stylesheet"> 3 4 <style> 4 5 .grid { … … 18 19 <script src="../../resources/js-test.js"></script> 19 20 20 <div class="grid singleNamedGridLines " id="gridOneColumnSingle">21 <div class="grid singleNamedGridLines justifyContentStart" id="gridOneColumnSingle"> 21 22 <div>XXXX</div> 22 23 <div>XXX</div> … … 25 26 </div> 26 27 27 <div class="grid singleNamedGridLines " id="gridTwoColumnsSingle">28 <div class="grid singleNamedGridLines justifyContentStart" id="gridTwoColumnsSingle"> 28 29 <div class="firstRowAutoColumn">XXXX</div> 29 30 <div class="firstRowAutoColumn">XXX</div> … … 32 33 </div> 33 34 34 <div class="grid singleNamedGridLines " id="gridThreeColumnsSingle">35 <div class="grid singleNamedGridLines justifyContentStart" id="gridThreeColumnsSingle"> 35 36 <div class="firstRowAutoColumn">XXXX</div> 36 37 <div class="firstRowAutoColumn">XXX</div> … … 39 40 </div> 40 41 41 <div class="grid singleNamedGridLines " id="gridFourColumnsSingle">42 <div class="grid singleNamedGridLines justifyContentStart" id="gridFourColumnsSingle"> 42 43 <div class="firstRowAutoColumn">XXXX</div> 43 44 <div class="firstRowAutoColumn">XXX</div> … … 46 47 </div> 47 48 48 <div class="grid multipleNamedGridLines " id="gridOneColumnMultiple">49 <div class="grid multipleNamedGridLines justifyContentStart" id="gridOneColumnMultiple"> 49 50 <div>XXXX</div> 50 51 <div>XXX</div> … … 53 54 </div> 54 55 55 <div class="grid multipleNamedGridLines " id="gridTwoColumnsMultiple">56 <div class="grid multipleNamedGridLines justifyContentStart" id="gridTwoColumnsMultiple"> 56 57 <div class="firstRowAutoColumn">XXXX</div> 57 58 <div class="firstRowAutoColumn">XXX</div> … … 60 61 </div> 61 62 62 <div class="grid multipleNamedGridLines " id="gridThreeColumnsMultiple">63 <div class="grid multipleNamedGridLines justifyContentStart" id="gridThreeColumnsMultiple"> 63 64 <div class="firstRowAutoColumn">XXXX</div> 64 65 <div class="firstRowAutoColumn">XXX</div> … … 67 68 </div> 68 69 69 <div class="grid multipleNamedGridLines " id="gridFourColumnsMultiple">70 <div class="grid multipleNamedGridLines justifyContentStart" id="gridFourColumnsMultiple"> 70 71 <div class="firstRowAutoColumn">XXXX</div> 71 72 <div class="firstRowAutoColumn">XXX</div> -
trunk/LayoutTests/fast/css-grid-layout/named-grid-lines-with-named-grid-areas-resolution.html
r185147 r197503 3 3 <head> 4 4 <link href="resources/grid.css" rel="stylesheet"> 5 <link href="resources/grid-alignment.css" rel="stylesheet"> 5 6 <style type="text/css"> 6 7 … … 89 90 <!-- Check that without named gridAreas there are no implicit grid-line names defined --> 90 91 <div style="position: relative"> 91 <div class="grid gridUniqueNames ">92 <div class="grid gridUniqueNames justifyContentStart"> 92 93 <div class="sizedToGridArea" style="-webkit-grid-column: c-start;" data-offset-x="0" data-offset-y="0" data-expected-width="50" data-expected-height="50"></div> 93 94 <div class="sizedToGridArea" style="-webkit-grid-row: f-start;" data-offset-x="50" data-offset-y="0" data-expected-width="100" data-expected-height="50"></div> … … 160 161 161 162 <div style="position: relative"> 162 <div class="grid gridAreas gridWithNamedLineBeforeGridArea ">163 <div class="grid gridAreas gridWithNamedLineBeforeGridArea justifyContentStart"> 163 164 <div class="sizedToGridArea" style="-webkit-grid-column-start: d-start;" data-offset-x="50" data-offset-y="0" data-expected-width="100" data-expected-height="50"></div> 164 165 <div class="sizedToGridArea" style="-webkit-grid-row-start: d-start;" data-offset-x="0" data-offset-y="50" data-expected-width="50" data-expected-height="100"></div> … … 167 168 168 169 <div style="position: relative"> 169 <div class="grid gridAreas gridWithNamedLineBeforeGridArea ">170 <div class="grid gridAreas gridWithNamedLineBeforeGridArea justifyContentStart"> 170 171 <div class="sizedToGridArea" style="-webkit-grid-column: a;" data-offset-x="0" data-offset-y="0" data-expected-width="350" data-expected-height="50"></div> 171 172 <div class="sizedToGridArea" style="-webkit-grid-row: d;" data-offset-x="350" data-offset-y="50" data-expected-width="0" data-expected-height="300"></div> … … 205 206 <!-- Check behavior with areas named *-start or *-end --> 206 207 <div style="position: relative"> 207 <div class="grid gridAreasSpecial gridNoLineNames ">208 <div class="grid gridAreasSpecial gridNoLineNames justifyContentStart"> 208 209 <div class="sizedToGridArea" style="-webkit-grid-column: a;" data-offset-x="0" data-offset-y="0" data-expected-width="50" data-expected-height="50"></div> 209 210 <div class="sizedToGridArea" style="-webkit-grid-row: a;" data-offset-x="50" data-offset-y="0" data-expected-width="100" data-expected-height="50"></div> -
trunk/LayoutTests/fast/css-grid-layout/percent-intrinsic-track-breadth.html
r182780 r197503 3 3 <head> 4 4 <link href="resources/grid.css" rel="stylesheet"> 5 <link href="resources/grid-alignment.css" rel="stylesheet"> 5 6 <style> 6 7 .intrinsic { … … 22 23 <body onload="checkLayout('.percentage');"> 23 24 <p>This test checks that percentage track breadths of intrinsic size are treated as auto.</p> 24 <div class="grid intrinsic ">25 <div class="grid intrinsic contentStart"> 25 26 <div class="grid percentage"> 26 27 <div class="sizedToGridArea" data-expected-width="50" data-expected-height="10">XXXXX</div> -
trunk/LayoutTests/fast/css-grid-layout/percent-track-breadths-regarding-container-size.html
r196819 r197503 5 5 <link href="../css-intrinsic-dimensions/resources/height-keyword-classes.css" rel="stylesheet"> 6 6 <link href="resources/grid.css" rel="stylesheet"> 7 <link href="resources/grid-alignment.css" rel="stylesheet"> 7 8 <style> 8 9 .grid { … … 88 89 89 90 <div class="fit-content indefiniteHeight"> 90 <div class="grid calculatedSize ">91 <div class="grid calculatedSize justifyContentStart"> 91 92 <div class="firstRowFirstColumn sizedToGridArea" data-expected-width="20" data-expected-height="10">XX</div> 92 93 <div class="firstRowSecondColumn sizedToGridArea" data-expected-width="50" data-expected-height="10">XXXXX</div> -
trunk/LayoutTests/fast/css-grid-layout/resources/grid-definitions-parsing-utils.js
r190663 r197503 25 25 element.style.width = "800px"; 26 26 element.style.height = "600px"; 27 element.style.justifyContent = "start"; 28 element.style.alignContent = "start"; 27 29 } 28 30 element.style.font = "10px Ahem"; // Used to resolve em font consistently. -
trunk/LayoutTests/fast/css-grid-layout/resources/grid-template-shorthand-parsing-utils.js
r167799 r197503 26 26 element.style.width = "800px"; 27 27 element.style.height = "600px"; 28 element.style.justifyContent = "start"; 29 element.style.alignContent = "start"; 28 30 } 29 31 -
trunk/LayoutTests/fast/css/getComputedStyle/computed-style-expected.txt
r191935 r197503 149 149 column-span: none; 150 150 column-width: auto; 151 align-content: start;151 align-content: normal; 152 152 align-items: start; 153 153 align-self: start; … … 155 155 flex-direction: row; 156 156 flex-wrap: nowrap; 157 justify-content: start;157 justify-content: normal; 158 158 justify-self: start; 159 159 justify-items: start; -
trunk/LayoutTests/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt
r191935 r197503 148 148 column-span: none 149 149 column-width: auto 150 align-content: auto150 align-content: normal 151 151 align-items: auto 152 152 align-self: auto … … 154 154 flex-direction: row 155 155 flex-wrap: nowrap 156 justify-content: auto156 justify-content: normal 157 157 justify-self: auto 158 158 justify-items: auto -
trunk/LayoutTests/svg/css/getComputedStyle-basic-expected.txt
r191935 r197503 295 295 rect: style.getPropertyValue(column-width) : auto 296 296 rect: style.getPropertyCSSValue(column-width) : [object CSSPrimitiveValue] 297 rect: style.getPropertyValue(align-content) : start297 rect: style.getPropertyValue(align-content) : normal 298 298 rect: style.getPropertyCSSValue(align-content) : [object CSSValueList] 299 299 rect: style.getPropertyValue(align-items) : start … … 307 307 rect: style.getPropertyValue(flex-wrap) : nowrap 308 308 rect: style.getPropertyCSSValue(flex-wrap) : [object CSSPrimitiveValue] 309 rect: style.getPropertyValue(justify-content) : start309 rect: style.getPropertyValue(justify-content) : normal 310 310 rect: style.getPropertyCSSValue(justify-content) : [object CSSValueList] 311 311 rect: style.getPropertyValue(justify-self) : start … … 829 829 g: style.getPropertyValue(column-width) : auto 830 830 g: style.getPropertyCSSValue(column-width) : [object CSSPrimitiveValue] 831 g: style.getPropertyValue(align-content) : start831 g: style.getPropertyValue(align-content) : normal 832 832 g: style.getPropertyCSSValue(align-content) : [object CSSValueList] 833 833 g: style.getPropertyValue(align-items) : start … … 841 841 g: style.getPropertyValue(flex-wrap) : nowrap 842 842 g: style.getPropertyCSSValue(flex-wrap) : [object CSSPrimitiveValue] 843 g: style.getPropertyValue(justify-content) : start843 g: style.getPropertyValue(justify-content) : normal 844 844 g: style.getPropertyCSSValue(justify-content) : [object CSSValueList] 845 845 g: style.getPropertyValue(justify-self) : start -
trunk/Source/WebCore/ChangeLog
r197502 r197503 1 2016-03-03 Javier Fernandez <jfernandez@igalia.com> 2 3 [CSS Box Alignment] New CSS Value 'normal' for Content Alignment 4 https://bugs.webkit.org/show_bug.cgi?id=154282 5 6 Reviewed by David Hyatt. 7 8 The Box Alignment specification defines a new value 'normal' to be used 9 as default for the different layout models, which will define the 10 specific behavior for each case. This patch adds a new CSS value in the 11 parsing logic and adapts the Content Alignment properties to the new 12 value. 13 14 The 'auto' value is no longer valid and the Computed Value will be 15 always the specified value. Hence, I removed the StyleResolver logic 16 because is not required now; the specific behavior of the 'normal' 17 value will be resolved at layout time. 18 19 Computed value of both align-content and justify-content is the 20 specified value, we don't have to resolve any 'auto' value now. 21 22 Additionally, this patch updates the layout logic as well, for both 23 Flexbox and Grid layout models. 24 25 No new tests, since we only need to rebaseline those test cases 26 affected by the new default computed value. 27 28 * css/CSSComputedStyleDeclaration.cpp: 29 (WebCore::valueForContentPositionAndDistributionWithOverflowAlignment): 30 (WebCore::ComputedStyleExtractor::propertyValue): 31 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Deleted. 32 (WebCore::CSSComputedStyleDeclaration::copyProperties): Deleted. 33 (WebCore::nodeOrItsAncestorNeedsStyleRecalc): Deleted. 34 (WebCore::isFlexOrGrid): Deleted. 35 (WebCore::ComputedStyleExtractor::customPropertyValue): Deleted. 36 * css/CSSParser.cpp: 37 (WebCore::CSSParser::parseContentDistributionOverflowPosition): 38 * css/CSSPrimitiveValueMappings.h: 39 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): 40 (WebCore::CSSPrimitiveValue::operator ContentPosition): 41 * rendering/RenderFlexibleBox.cpp: 42 (WebCore::normalValueBehavior): 43 (WebCore::RenderFlexibleBox::layoutAndPlaceChildren): 44 (WebCore::RenderFlexibleBox::layoutColumnReverse): 45 (WebCore::RenderFlexibleBox::alignFlexLines): 46 (WebCore::alignContentSpaceBetweenChildren): Deleted. 47 * rendering/RenderGrid.cpp: 48 (WebCore::normalValueBehavior): 49 (WebCore::RenderGrid::applyStretchAlignmentToTracksIfNeeded): 50 (WebCore::RenderGrid::columnAxisOffsetForChild): 51 (WebCore::RenderGrid::rowAxisOffsetForChild): 52 (WebCore::resolveContentDistributionFallback): 53 (WebCore::contentDistributionOffset): 54 (WebCore::RenderGrid::computeContentPositionAndDistributionOffset): 55 * rendering/style/RenderStyle.cpp: 56 (WebCore::resolvedContentAlignmentPosition): 57 (WebCore::resolvedContentAlignmentDistribution): 58 (WebCore::RenderStyle::resolvedJustifyContentPosition): 59 (WebCore::RenderStyle::resolvedJustifyContentDistribution): 60 (WebCore::RenderStyle::resolvedAlignContentPosition): 61 (WebCore::RenderStyle::resolvedAlignContentDistribution): 62 * rendering/style/RenderStyle.h: 63 * rendering/style/RenderStyleConstants.h: 64 1 65 2016-03-03 Antti Koivisto <antti@apple.com> 2 66 -
trunk/Source/WebCore/css/CSSComputedStyleDeclaration.cpp
r197215 r197503 2227 2227 } 2228 2228 2229 static void resolveContentAlignmentAuto(ContentPosition& position, ContentDistributionType& distribution, RenderObject* element)2230 {2231 if (position != ContentPositionAuto || distribution != ContentDistributionDefault || !element)2232 return;2233 2234 // Even that both align-content and justify-content 'auto' values are resolved to 'stretch'2235 // in case of flexbox containers, 'stretch' value in justify-content will behave like 'flex-start'.2236 if (element->style().isDisplayFlexibleBox())2237 distribution = ContentDistributionStretch;2238 else2239 position = ContentPositionStart;2240 }2241 2242 2229 RefPtr<CSSValue> CSSComputedStyleDeclaration::getPropertyCSSValue(CSSPropertyID propertyID, EUpdateLayout updateLayout) const 2243 2230 { … … 2333 2320 } 2334 2321 2335 static RefPtr<CSSValueList> valueForContentPositionAndDistributionWithOverflowAlignment( ContentPosition position, ContentDistributionType distribution, OverflowAlignment overflowAlignment)2322 static RefPtr<CSSValueList> valueForContentPositionAndDistributionWithOverflowAlignment(const StyleContentAlignmentData& data) 2336 2323 { 2337 2324 RefPtr<CSSValueList> result = CSSValueList::createSpaceSeparated(); 2338 if (d istribution!= ContentDistributionDefault)2339 result->append(CSSPrimitiveValue::create(d istribution));2340 if (d istribution == ContentDistributionDefault || position != ContentPositionAuto)2341 result->append(CSSPrimitiveValue::create( position));2342 if (( position >= ContentPositionCenter || distribution != ContentDistributionDefault) && overflowAlignment!= OverflowAlignmentDefault)2343 result->append(CSSPrimitiveValue::create( overflowAlignment));2325 if (data.distribution() != ContentDistributionDefault) 2326 result->append(CSSPrimitiveValue::create(data.distribution())); 2327 if (data.distribution() == ContentDistributionDefault || data.position() != ContentPositionNormal) 2328 result->append(CSSPrimitiveValue::create(data.position())); 2329 if ((data.position() >= ContentPositionCenter || data.distribution() != ContentDistributionDefault) && data.overflow() != OverflowAlignmentDefault) 2330 result->append(CSSPrimitiveValue::create(data.overflow())); 2344 2331 ASSERT(result->length() > 0); 2345 2332 ASSERT(result->length() <= 3); … … 2718 2705 case CSSPropertyEmptyCells: 2719 2706 return cssValuePool.createValue(style->emptyCells()); 2720 case CSSPropertyAlignContent: { 2721 ContentPosition position = style->alignContentPosition(); 2722 ContentDistributionType distribution = style->alignContentDistribution(); 2723 resolveContentAlignmentAuto(position, distribution, renderer); 2724 return valueForContentPositionAndDistributionWithOverflowAlignment(position, distribution, style->alignContentOverflowAlignment()); 2725 } 2707 case CSSPropertyAlignContent: 2708 return valueForContentPositionAndDistributionWithOverflowAlignment(style->alignContent()); 2726 2709 case CSSPropertyAlignItems: 2727 2710 return valueForItemPositionWithOverflowAlignment(resolveContainerAlignmentAuto(style->alignItemsPosition(), renderer), style->alignItemsOverflowAlignment(), NonLegacyPosition); … … 2745 2728 case CSSPropertyFlexWrap: 2746 2729 return cssValuePool.createValue(style->flexWrap()); 2747 case CSSPropertyJustifyContent: { 2748 ContentPosition position = style->justifyContentPosition(); 2749 ContentDistributionType distribution = style->justifyContentDistribution(); 2750 resolveContentAlignmentAuto(position, distribution, renderer); 2751 return valueForContentPositionAndDistributionWithOverflowAlignment(position, distribution, style->justifyContentOverflowAlignment()); 2752 } 2730 case CSSPropertyJustifyContent: 2731 return valueForContentPositionAndDistributionWithOverflowAlignment(style->justifyContent()); 2753 2732 case CSSPropertyJustifyItems: 2754 2733 return valueForItemPositionWithOverflowAlignment(resolveContainerAlignmentAuto(style->justifyItemsPosition(), renderer), style->justifyItemsOverflowAlignment(), style->justifyItemsPositionType()); -
trunk/Source/WebCore/css/CSSParser.cpp
r197400 r197503 3406 3406 RefPtr<CSSValue> CSSParser::parseContentDistributionOverflowPosition() 3407 3407 { 3408 // auto| <baseline-position> | <content-distribution> || [ <overflow-position>? && <content-position> ]3408 // normal | <baseline-position> | <content-distribution> || [ <overflow-position>? && <content-position> ] 3409 3409 // <baseline-position> = baseline | last-baseline; 3410 3410 // <content-distribution> = space-between | space-around | space-evenly | stretch; 3411 3411 // <content-position> = center | start | end | flex-start | flex-end | left | right; 3412 // <overflow-position> = true | safe3412 // <overflow-position> = unsafe | safe 3413 3413 3414 3414 CSSParserValue* value = m_valueList->current(); … … 3417 3417 3418 3418 // auto | <baseline-position> 3419 if (value->id == CSSValue Auto|| isBaselinePositionKeyword(value->id)) {3419 if (value->id == CSSValueNormal || isBaselinePositionKeyword(value->id)) { 3420 3420 m_valueList->next(); 3421 3421 return CSSContentDistributionValue::create(CSSValueInvalid, value->id, CSSValueInvalid); -
trunk/Source/WebCore/css/CSSPrimitiveValueMappings.h
r196960 r197503 5232 5232 m_primitiveUnitType = CSS_VALUE_ID; 5233 5233 switch (contentPosition) { 5234 case ContentPosition Auto:5235 m_value.valueID = CSSValue Auto;5234 case ContentPositionNormal: 5235 m_value.valueID = CSSValueNormal; 5236 5236 break; 5237 5237 case ContentPositionBaseline: … … 5268 5268 { 5269 5269 switch (m_value.valueID) { 5270 case CSSValue Auto:5271 return ContentPosition Auto;5270 case CSSValueNormal: 5271 return ContentPositionNormal; 5272 5272 case CSSValueBaseline: 5273 5273 return ContentPositionBaseline; … … 5292 5292 } 5293 5293 ASSERT_NOT_REACHED(); 5294 return ContentPosition Auto;5294 return ContentPositionNormal; 5295 5295 } 5296 5296 -
trunk/Source/WebCore/rendering/RenderFlexibleBox.cpp
r194496 r197503 1093 1093 } 1094 1094 1095 static const StyleContentAlignmentData& normalValueBehavior() 1096 { 1097 // The justify-content property applies along the main axis, but since flexing 1098 // in the main axis is controlled by flex, stretch behaves as flex-start (ignoring 1099 // the specified fallback alignment, if any). 1100 // https://drafts.csswg.org/css-align/#distribution-flex 1101 static const StyleContentAlignmentData normalBehavior = {ContentPositionNormal, ContentDistributionStretch}; 1102 return normalBehavior; 1103 } 1104 1095 1105 void RenderFlexibleBox::layoutAndPlaceChildren(LayoutUnit& crossAxisOffset, const OrderedFlexItemList& children, const Vector<LayoutUnit>& childSizes, LayoutUnit availableFreeSpace, bool relayoutChildren, Vector<LineContext>& lineContexts) 1096 1106 { 1097 1107 ASSERT(childSizes.size() == children.size()); 1098 1108 1099 ContentPosition position = style().resolvedJustifyContentPosition( );1100 ContentDistributionType distribution = style().resolvedJustifyContentDistribution( );1109 ContentPosition position = style().resolvedJustifyContentPosition(normalValueBehavior()); 1110 ContentDistributionType distribution = style().resolvedJustifyContentDistribution(normalValueBehavior()); 1101 1111 1102 1112 size_t numberOfChildrenForJustifyContent = numberOfInFlowPositionedChildren(children); … … 1181 1191 void RenderFlexibleBox::layoutColumnReverse(const OrderedFlexItemList& children, LayoutUnit crossAxisOffset, LayoutUnit availableFreeSpace) 1182 1192 { 1183 ContentPosition position = style().resolvedJustifyContentPosition( );1184 ContentDistributionType distribution = style().resolvedJustifyContentDistribution( );1193 ContentPosition position = style().resolvedJustifyContentPosition(normalValueBehavior()); 1194 ContentDistributionType distribution = style().resolvedJustifyContentDistribution(normalValueBehavior()); 1185 1195 1186 1196 // This is similar to the logic in layoutAndPlaceChildren, except we place the children … … 1239 1249 void RenderFlexibleBox::alignFlexLines(Vector<LineContext>& lineContexts) 1240 1250 { 1241 ContentPosition position = style().resolvedAlignContentPosition( );1242 ContentDistributionType distribution = style().resolvedAlignContentDistribution( );1251 ContentPosition position = style().resolvedAlignContentPosition(normalValueBehavior()); 1252 ContentDistributionType distribution = style().resolvedAlignContentDistribution(normalValueBehavior()); 1243 1253 1244 1254 if (!isMultiline() || position == ContentPositionFlexStart) -
trunk/Source/WebCore/rendering/RenderGrid.cpp
r197501 r197503 1355 1355 } 1356 1356 1357 static const StyleContentAlignmentData& normalValueBehavior() 1358 { 1359 static const StyleContentAlignmentData normalBehavior = {ContentPositionNormal, ContentDistributionStretch}; 1360 return normalBehavior; 1361 } 1362 1357 1363 void RenderGrid::applyStretchAlignmentToTracksIfNeeded(GridTrackSizingDirection direction, GridSizingData& sizingData) 1358 1364 { … … 1360 1366 if (!freeSpace 1361 1367 || freeSpace.value() <= 0 1362 || (direction == ForColumns && style().resolvedJustifyContentDistribution( ) != ContentDistributionStretch)1363 || (direction == ForRows && style().resolvedAlignContentDistribution( ) != ContentDistributionStretch))1368 || (direction == ForColumns && style().resolvedJustifyContentDistribution(normalValueBehavior()) != ContentDistributionStretch) 1369 || (direction == ForRows && style().resolvedAlignContentDistribution(normalValueBehavior()) != ContentDistributionStretch)) 1364 1370 return; 1365 1371 … … 1857 1863 // In order to properly adjust the Self Alignment values we need to consider the offset between tracks. 1858 1864 if (childEndLine - childStartLine > 1 && childEndLine < m_rowPositions.size() - 1) 1859 endOfRow -= offsetBetweenTracks(style().resolvedAlignContentDistribution( ), m_rowPositions, childBreadth);1865 endOfRow -= offsetBetweenTracks(style().resolvedAlignContentDistribution(normalValueBehavior()), m_rowPositions, childBreadth); 1860 1866 LayoutUnit offsetFromStartPosition = computeOverflowAlignmentOffset(RenderStyle::resolveAlignmentOverflow(style(), child.style()), endOfRow - startOfRow, childBreadth); 1861 1867 return startPosition + (axisPosition == GridAxisEnd ? offsetFromStartPosition : offsetFromStartPosition / 2); … … 1891 1897 // In order to properly adjust the Self Alignment values we need to consider the offset between tracks. 1892 1898 if (childEndLine - childStartLine > 1 && childEndLine < m_columnPositions.size() - 1) 1893 endOfColumn -= offsetBetweenTracks(style().resolvedJustifyContentDistribution( ), m_columnPositions, childBreadth);1899 endOfColumn -= offsetBetweenTracks(style().resolvedJustifyContentDistribution(normalValueBehavior()), m_columnPositions, childBreadth); 1894 1900 LayoutUnit offsetFromStartPosition = computeOverflowAlignmentOffset(RenderStyle::resolveJustificationOverflow(style(), child.style()), endOfColumn - startOfColumn, childBreadth); 1895 1901 return startPosition + (axisPosition == GridAxisEnd ? offsetFromStartPosition : offsetFromStartPosition / 2); … … 1913 1919 return ContentPositionStart; 1914 1920 case ContentDistributionDefault: 1915 return ContentPosition Auto;1921 return ContentPositionNormal; 1916 1922 } 1917 1923 1918 1924 ASSERT_NOT_REACHED(); 1919 return ContentPositionAuto; 1920 } 1921 1922 static inline LayoutUnit offsetToStartEdge(bool isLeftToRight, LayoutUnit availableSpace) 1923 { 1924 return isLeftToRight ? LayoutUnit() : availableSpace; 1925 } 1926 1927 static inline LayoutUnit offsetToEndEdge(bool isLeftToRight, LayoutUnit availableSpace) 1928 { 1929 return !isLeftToRight ? LayoutUnit() : availableSpace; 1925 return ContentPositionNormal; 1930 1926 } 1931 1927 1932 1928 static ContentAlignmentData contentDistributionOffset(const LayoutUnit& availableFreeSpace, ContentPosition& fallbackPosition, ContentDistributionType distribution, unsigned numberOfGridTracks) 1933 1929 { 1934 if (distribution != ContentDistributionDefault && fallbackPosition == ContentPosition Auto)1930 if (distribution != ContentDistributionDefault && fallbackPosition == ContentPositionNormal) 1935 1931 fallbackPosition = resolveContentDistributionFallback(distribution); 1936 1932 … … 1953 1949 return {distributionOffset, distributionOffset}; 1954 1950 case ContentDistributionStretch: 1955 return {0, 0};1956 1951 case ContentDistributionDefault: 1957 1952 return ContentAlignmentData::defaultOffsets(); … … 1965 1960 { 1966 1961 bool isRowAxis = direction == ForColumns; 1967 ContentPosition position = isRowAxis ? style().resolvedJustifyContentPosition( ) : style().resolvedAlignContentPosition();1968 ContentDistributionType distribution = isRowAxis ? style().resolvedJustifyContentDistribution( ) : style().resolvedAlignContentDistribution();1962 ContentPosition position = isRowAxis ? style().resolvedJustifyContentPosition(normalValueBehavior()) : style().resolvedAlignContentPosition(normalValueBehavior()); 1963 ContentDistributionType distribution = isRowAxis ? style().resolvedJustifyContentDistribution(normalValueBehavior()) : style().resolvedAlignContentDistribution(normalValueBehavior()); 1969 1964 // If <content-distribution> value can't be applied, 'position' will become the associated 1970 1965 // <content-position> fallback value. … … 1991 1986 case ContentPositionEnd: 1992 1987 if (isRowAxis) 1993 return { offsetToEndEdge(style().isLeftToRightDirection(), availableFreeSpace), 0};1988 return {style().isLeftToRightDirection() ? availableFreeSpace : LayoutUnit(), LayoutUnit()}; 1994 1989 return {availableFreeSpace, 0}; 1995 1990 case ContentPositionFlexStart: // Only used in flex layout, for other layout, it's equivalent to 'start'. 1996 1991 case ContentPositionStart: 1997 1992 if (isRowAxis) 1998 return { offsetToStartEdge(style().isLeftToRightDirection(), availableFreeSpace), 0};1993 return {style().isLeftToRightDirection() ? LayoutUnit() : availableFreeSpace, LayoutUnit()}; 1999 1994 return {0, 0}; 2000 1995 case ContentPositionBaseline: … … 2003 1998 // http://webkit.org/b/145566 2004 1999 if (isRowAxis) 2005 return { offsetToStartEdge(style().isLeftToRightDirection(), availableFreeSpace), 0};2000 return {style().isLeftToRightDirection() ? LayoutUnit() : availableFreeSpace, LayoutUnit()}; 2006 2001 return {0, 0}; 2007 case ContentPosition Auto:2002 case ContentPositionNormal: 2008 2003 break; 2009 2004 } -
trunk/Source/WebCore/rendering/style/RenderStyle.cpp
r197450 r197503 211 211 } 212 212 213 ContentPosition RenderStyle::resolvedAlignContentPosition() const 214 { 215 const StyleContentAlignmentData& align = alignContent(); 216 if (align.position() != ContentPositionAuto || align.distribution() != ContentDistributionDefault) 217 return align.position(); 218 // 'auto' computes to 'stretch' for flexbox, hence it's managed by distribution(). 219 return isDisplayFlexibleBox() ? ContentPositionAuto : ContentPositionStart; 220 } 221 222 ContentDistributionType RenderStyle::resolvedAlignContentDistribution() const 223 { 224 const StyleContentAlignmentData& align = alignContent(); 225 if (align.position() != ContentPositionAuto || align.distribution() != ContentDistributionDefault) 226 return align.distribution(); 227 return isDisplayFlexibleBox() ? ContentDistributionStretch : ContentDistributionDefault; 228 } 229 230 ContentPosition RenderStyle::resolvedJustifyContentPosition() const 231 { 232 const StyleContentAlignmentData& justify = justifyContent(); 233 if (justify.position() != ContentPositionAuto || justify.distribution() != ContentDistributionDefault) 234 return justify.position(); 235 // 'auto' computes to 'stretch' for flexbox, but since flexing in the main axis is controlled by flex, it behaves as flex-start. 236 return isDisplayFlexibleBox() ? ContentPositionFlexStart : ContentPositionStart; 237 } 238 239 ContentDistributionType RenderStyle::resolvedJustifyContentDistribution() const 240 { 241 // even that 'auto' computes to 'stretch' for flexbox it behaves as flex-start, hence it's managed by position(). 242 return justifyContentDistribution(); 213 static inline ContentPosition resolvedContentAlignmentPosition(const StyleContentAlignmentData& value, const StyleContentAlignmentData& normalValueBehavior) 214 { 215 return (value.position() == ContentPositionNormal && value.distribution() == ContentDistributionDefault) ? normalValueBehavior.position() : value.position(); 216 } 217 218 static inline ContentDistributionType resolvedContentAlignmentDistribution(const StyleContentAlignmentData& value, const StyleContentAlignmentData& normalValueBehavior) 219 { 220 return (value.position() == ContentPositionNormal && value.distribution() == ContentDistributionDefault) ? normalValueBehavior.distribution() : value.distribution(); 221 } 222 223 ContentPosition RenderStyle::resolvedJustifyContentPosition(const StyleContentAlignmentData& normalValueBehavior) const 224 { 225 return resolvedContentAlignmentPosition(justifyContent(), normalValueBehavior); 226 } 227 228 ContentDistributionType RenderStyle::resolvedJustifyContentDistribution(const StyleContentAlignmentData& normalValueBehavior) const 229 { 230 return resolvedContentAlignmentDistribution(justifyContent(), normalValueBehavior); 231 } 232 233 ContentPosition RenderStyle::resolvedAlignContentPosition(const StyleContentAlignmentData& normalValueBehavior) const 234 { 235 return resolvedContentAlignmentPosition(alignContent(), normalValueBehavior); 236 } 237 238 ContentDistributionType RenderStyle::resolvedAlignContentDistribution(const StyleContentAlignmentData& normalValueBehavior) const 239 { 240 return resolvedContentAlignmentDistribution(alignContent(), normalValueBehavior); 243 241 } 244 242 -
trunk/Source/WebCore/rendering/style/RenderStyle.h
r197450 r197503 482 482 static Ref<RenderStyle> createStyleInheritingFromPseudoStyle(const RenderStyle& pseudoStyle); 483 483 484 ContentPosition resolved AlignContentPosition() const;485 ContentDistributionType resolved AlignContentDistribution() const;486 ContentPosition resolved JustifyContentPosition() const;487 ContentDistributionType resolved JustifyContentDistribution() const;484 ContentPosition resolvedJustifyContentPosition(const StyleContentAlignmentData& normalValueBehavior) const; 485 ContentDistributionType resolvedJustifyContentDistribution(const StyleContentAlignmentData& normalValueBehavior) const; 486 ContentPosition resolvedAlignContentPosition(const StyleContentAlignmentData& normalValueBehavior) const; 487 ContentDistributionType resolvedAlignContentDistribution(const StyleContentAlignmentData& normalValueBehavior) const; 488 488 static ItemPosition resolveAlignment(const RenderStyle& parentStyle, const RenderStyle& childStyle, ItemPosition resolvedAutoPositionForRenderer); 489 489 static OverflowAlignment resolveAlignmentOverflow(const RenderStyle& parentStyle, const RenderStyle& childStyle); … … 1959 1959 static int initialOrder() { return 0; } 1960 1960 static StyleSelfAlignmentData initialSelfAlignment() { return StyleSelfAlignmentData(ItemPositionAuto, OverflowAlignmentDefault); } 1961 static StyleContentAlignmentData initialContentAlignment() { return StyleContentAlignmentData(ContentPosition Auto, ContentDistributionDefault, OverflowAlignmentDefault); }1961 static StyleContentAlignmentData initialContentAlignment() { return StyleContentAlignmentData(ContentPositionNormal, ContentDistributionDefault, OverflowAlignmentDefault); } 1962 1962 static EFlexDirection initialFlexDirection() { return FlowRow; } 1963 1963 static EFlexWrap initialFlexWrap() { return FlexNoWrap; } -
trunk/Source/WebCore/rendering/style/RenderStyleConstants.h
r196960 r197503 258 258 enum OverflowAlignment {OverflowAlignmentDefault, OverflowAlignmentUnsafe, OverflowAlignmentSafe}; 259 259 enum ItemPositionType {NonLegacyPosition, LegacyPosition}; 260 enum ContentPosition {ContentPosition Auto, ContentPositionBaseline, ContentPositionLastBaseline, ContentPositionCenter, ContentPositionStart, ContentPositionEnd, ContentPositionFlexStart, ContentPositionFlexEnd, ContentPositionLeft, ContentPositionRight};260 enum ContentPosition {ContentPositionNormal, ContentPositionBaseline, ContentPositionLastBaseline, ContentPositionCenter, ContentPositionStart, ContentPositionEnd, ContentPositionFlexStart, ContentPositionFlexEnd, ContentPositionLeft, ContentPositionRight}; 261 261 enum ContentDistributionType {ContentDistributionDefault, ContentDistributionSpaceBetween, ContentDistributionSpaceAround, ContentDistributionSpaceEvenly, ContentDistributionStretch}; 262 262
Note: See TracChangeset
for help on using the changeset viewer.