| OLD | NEW |
| 1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
| 2 <script src="../../../resources/js-test.js"></script> | 2 <script src="../../../resources/js-test.js"></script> |
| 3 | 3 |
| 4 <style> | 4 <style> |
| 5 div { width: 100px } | 5 div { width: 100px } |
| 6 .outer .inner { width: 200px } | 6 .outer .inner { width: 200px } |
| 7 .outer2 { width: 150px } | 7 .outer2 { width: 150px } |
| 8 .outer3.nomatch {} | 8 .outer3.nomatch {} |
| 9 </style> | 9 </style> |
| 10 | 10 |
| (...skipping 26 matching lines...) Expand all Loading... |
| 37 } | 37 } |
| 38 | 38 |
| 39 var outer = document.getElementById('outer'); | 39 var outer = document.getElementById('outer'); |
| 40 var inner = document.getElementById('inner'); | 40 var inner = document.getElementById('inner'); |
| 41 var outer2 = document.getElementById('outer2'); | 41 var outer2 = document.getElementById('outer2'); |
| 42 var outer3 = document.getElementById('outer3'); | 42 var outer3 = document.getElementById('outer3'); |
| 43 | 43 |
| 44 // Style recalc should happen on "inner" and "outer", but not "inner2" or "mid". | 44 // Style recalc should happen on "inner" and "outer", but not "inner2" or "mid". |
| 45 outer.offsetTop; | 45 outer.offsetTop; |
| 46 outer.className = 'outer'; | 46 outer.className = 'outer'; |
| 47 shouldBe("internals.updateStyleAndReturnAffectedElementCount()", "2"); | 47 shouldBe("internals.updateStyleAndReturnAffectedElementCount()", "1"); |
| 48 shouldBe("getComputedStyle(inner).width", '"200px"'); | 48 shouldBe("getComputedStyle(inner).width", '"200px"'); |
| 49 | 49 |
| 50 // Style recalc should happen on "inner", but not "innerChild". | 50 // Style recalc should happen on "inner", but not "innerChild". |
| 51 inner.offsetTop; | 51 inner.offsetTop; |
| 52 inner.className = ''; | 52 inner.className = ''; |
| 53 shouldBe("internals.updateStyleAndReturnAffectedElementCount()", "1"); | 53 shouldBe("internals.updateStyleAndReturnAffectedElementCount()", "1"); |
| 54 shouldBe("getComputedStyle(inner).width", '"100px"'); | 54 shouldBe("getComputedStyle(inner).width", '"100px"'); |
| 55 | 55 |
| 56 // Style recalc should happen on "outer2", but not "inner3". | 56 // Style recalc should happen on "outer2", but not "inner3". |
| 57 outer2.offsetTop; | 57 outer2.offsetTop; |
| 58 outer2.className = 'outer2'; | 58 outer2.className = 'outer2'; |
| 59 shouldBe("internals.updateStyleAndReturnAffectedElementCount()", "1"); | 59 shouldBe("internals.updateStyleAndReturnAffectedElementCount()", "1"); |
| 60 shouldBe("getComputedStyle(outer2).width", '"150px"'); | 60 shouldBe("getComputedStyle(outer2).width", '"150px"'); |
| 61 | 61 |
| 62 // Style recalc should happen on "outer3", but none of its children. | 62 // Style recalc should happen on "outer3", but none of its children. |
| 63 outer3.offsetTop; | 63 outer3.offsetTop; |
| 64 outer3.className = 'outer3'; | 64 outer3.className = 'outer3'; |
| 65 shouldBe("internals.updateStyleAndReturnAffectedElementCount()", "1"); | 65 shouldBe("internals.updateStyleAndReturnAffectedElementCount()", "1"); |
| 66 </script> | 66 </script> |
| OLD | NEW |