6 background-color: pink;
7 outline: 1px solid black;
11 display: -webkit-flexbox;
12 background-color: grey;
26 -webkit-writing-mode: horizontal-tb;
29 -webkit-writing-mode: horizontal-bt;
32 -webkit-writing-mode: vertical-rl;
35 -webkit-writing-mode: vertical-lr;
38 -webkit-flex-flow: row;
41 -webkit-flex-flow: row-reverse;
44 -webkit-flex-flow: column;
47 -webkit-flex-flow: column-reverse;
49 .flexbox > :nth-child(1) {
50 background-color: blue;
52 .flexbox > :nth-child(2) {
53 background-color: green;
55 .flexbox > :nth-child(3) {
56 background-color: red;
60 if (window.layoutTestController)
61 layoutTestController.dumpAsText();
63 <script src="resources/flexbox.js"></script>
64 <body onload="checkFlexBoxen()">
67 function asString(position)
69 return 'data-offset-x="' + position[0] + '" data-offset-y="' + position[1] + '"';
75 rtl: [[80, 0], [80, 20]],
76 ltr: [[0, 0], [0, 20]]
79 rtl: [[80, 0], [60, 0]],
80 ltr: [[0, 0], [20, 0]]
85 rtl: [[80, 80], [80, 60]],
86 ltr: [[0, 80], [0, 60]]
89 rtl: [[80, 80], [60, 80]],
90 ltr: [[0, 80], [20, 80]]
95 rtl: [[0, 80], [20, 80]],
96 ltr: [[0, 0], [20, 0]]
99 rtl: [[0, 80], [0, 60]],
100 ltr: [[0, 0], [0, 20]]
105 rtl: [[80, 80], [60, 80]],
106 ltr: [[80, 0], [60, 0]]
109 rtl: [[80, 80], [80, 60]],
110 ltr: [[80, 0], [80, 20]]
115 var writingModes = ['horizontal-tb', 'horizontal-bt', 'vertical-lr', 'vertical-rl'];
116 // FIXME: Test row-reverse and column-reverse.
117 var flexFlows = ['row', 'column'];
118 var directions = ['rtl', 'ltr'];
120 function physicalWritingMode(writingMode, flexFlow, direction)
122 if (flexFlow.indexOf('column') == -1)
125 var isReverse = flexFlow.indexOf('reverse') != -1;
126 switch (writingMode) {
127 case 'horizontal-tb':
128 case 'horizontal-bt':
129 return isReverse ? 'vertical-rl' : 'vertical-lr';
132 return isReverse ? 'horizontal-bt' : 'horizontal-tb';
136 writingModes.forEach(function(writingMode) {
137 flexFlows.forEach(function(flexFlow) {
138 directions.forEach(function(direction) {
139 var flexboxClassName = writingMode + ' ' + direction + ' ' + flexFlow;
140 var title = document.createElement('div');
141 title.className = 'title';
142 title.innerHTML = flexboxClassName;
143 document.body.appendChild(title);
146 var flexItemExpectations = expectations[writingMode][flexFlow][direction];
148 var container = document.createElement('div');
149 container.className = 'container';
150 container.innerHTML = '<div class="flexbox ' + flexboxClassName + '">\n' +
151 '<div style="width: 20px; height: 20px;" ' + asString(flexItemExpectations[0]) + '></div>\n' +
152 '<div style="width: 20px; height: 20px;" ' + asString(flexItemExpectations[1]) + '></div>\n' +
155 document.body.appendChild(container);