5 testRunner.overridePreference("WebKitCSSGridLayoutEnabled", 1);
7 <link href="resources/grid.css" rel="stylesheet">
8 <script src="../../resources/check-layout.js"></script>
12 grid-template-rows: 50px 100px;
13 grid-template-columns: 40px;
32 function testGridItemsOrder(firstGridItemData, secondGridItemData, thirdGridItemData)
34 var firstGridItem = document.getElementById("firstGridItem");
35 firstGridItem.style.order = firstGridItemData.order;
36 firstGridItem.setAttribute("data-expected-width", firstGridItemData.width);
37 firstGridItem.setAttribute("data-expected-height", firstGridItemData.height);
38 firstGridItem.setAttribute("data-offset-x", firstGridItemData.x);
39 firstGridItem.setAttribute("data-offset-y", firstGridItemData.y);
41 var secondGridItem = document.getElementById("secondGridItem");
42 secondGridItem.style.order = secondGridItemData.order;
43 secondGridItem.setAttribute("data-expected-width", secondGridItemData.width);
44 secondGridItem.setAttribute("data-expected-height", secondGridItemData.height);
45 secondGridItem.setAttribute("data-offset-x", secondGridItemData.x);
46 secondGridItem.setAttribute("data-offset-y", secondGridItemData.y);
48 var thirdGridItem = document.getElementById("thirdGridItem");
49 thirdGridItem.style.order = thirdGridItemData.order;
50 thirdGridItem.setAttribute("data-expected-width", thirdGridItemData.width);
51 thirdGridItem.setAttribute("data-expected-height", thirdGridItemData.height);
52 thirdGridItem.setAttribute("data-offset-x", thirdGridItemData.x);
53 thirdGridItem.setAttribute("data-offset-y", thirdGridItemData.y);
58 function testChangingGridItemsOrder()
60 testGridItemsOrder({ 'order': '0', 'width': '40', 'height': '100', 'x': '0', 'y': '50' }, { 'order': '0', 'width': '40', 'height': '50', 'x': '0', 'y': '0' }, { 'order': '0', 'width': '40', 'height': '0', 'x': '0', 'y': '150' });
61 testGridItemsOrder({ 'order': '0', 'width': '40', 'height': '100', 'x': '0', 'y': '50' }, { 'order': '-1', 'width': '40', 'height': '50', 'x': '0', 'y': '0' }, { 'order': '0', 'width': '40', 'height': '0', 'x': '0', 'y': '150' });
62 testGridItemsOrder({ 'order': '1', 'width': '40', 'height': '0', 'x': '0', 'y': '150' }, { 'order': '-1', 'width': '40', 'height': '50', 'x': '0', 'y': '0' }, { 'order': '0', 'width': '40', 'height': '100', 'x': '0', 'y': '50' });
63 testGridItemsOrder({ 'order': '1', 'width': '40', 'height': '100', 'x': '0', 'y': '50' }, { 'order': '-1', 'width': '40', 'height': '50', 'x': '0', 'y': '0' }, { 'order': '10', 'width': '40', 'height': '0', 'x': '0', 'y': '150' });
66 window.addEventListener("load", testChangingGridItemsOrder, false);
69 <div>This test checks that grid items' 'order' dynamic updates recomputes the positions of automatically placed grid items.</div>
71 <div style="position: relative">
73 <div class="sizedToGridArea" id="firstGridItem"></div>
74 <div class="sizedToGridArea" id="secondGridItem"></div>
75 <div class="sizedToGridArea" id="thirdGridItem"></div>