OLD | NEW |
(Empty) | |
| 1 <!DOCTYPE html> |
| 2 |
| 3 <script src="../../resources/js-test.js"></script> |
| 4 |
| 5 <div id="mutator"></div> |
| 6 |
| 7 <script> |
| 8 description("Element APIs should not force layout for nodes not in the active do
cument."); |
| 9 |
| 10 var testStatements = [ |
| 11 'element.scrollIntoView()', |
| 12 'element.scrollIntoViewIfNeeded()', |
| 13 'element.offsetLeft', |
| 14 'element.offsetTop', |
| 15 'element.offsetWidth', |
| 16 'element.offsetHeight', |
| 17 'element.offsetParent', |
| 18 'element.clientLeft', |
| 19 'element.clientTop', |
| 20 'element.clientWidth', |
| 21 'element.clientHeight', |
| 22 'element.scrollLeft', |
| 23 'element.scrollTop', |
| 24 'element.scrollLeft = 10', |
| 25 'element.scrollTop = 10', |
| 26 'element.scrollBy({left: 10, top: 10})', |
| 27 'element.scrollBy(10, 10)', |
| 28 'element.scrollTo({left: 10, top: 10})', |
| 29 'element.scrollTo(10, 10)', |
| 30 'element.getClientRects()', |
| 31 'element.getBoundingClientRect()', |
| 32 'element.computedRole', |
| 33 'element.computedName', |
| 34 'element.focus()', |
| 35 'element.innerText', |
| 36 'element.innerText = "innerText value"', |
| 37 'getComputedStyle(element).color', |
| 38 'getComputedStyle(element).width', |
| 39 'getComputedStyle(element).fontSize', |
| 40 ]; |
| 41 |
| 42 var mutator = document.getElementById("mutator"); |
| 43 var element = document.createElement("div"); |
| 44 var causedRecalc = false; |
| 45 for (var i = 0; i < testStatements.length; ++i) { |
| 46 var statement = testStatements[i]; |
| 47 mutator.offsetTop; |
| 48 // Make the mutator's style dirty. |
| 49 mutator.style.flexGrow = i; |
| 50 eval(statement); |
| 51 // The mutator element should still be dirty. |
| 52 if (internals.updateStyleAndReturnAffectedElementCount() != 1) { |
| 53 causedRecalc = true; |
| 54 testFailed(statement + " caused a style or layout update."); |
| 55 } |
| 56 } |
| 57 if (!causedRecalc) |
| 58 testPassed("No style or layout updates."); |
| 59 </script> |
OLD | NEW |