| OLD | NEW |
| 1 <!DOCTYPE HTML> | 1 <!DOCTYPE HTML> |
| 2 <script src="../resources/js-test.js"></script> | 2 <script src="../resources/testharness.js"></script> |
| 3 <script src="../resources/testharnessreport.js"></script> |
| 3 <style> | 4 <style> |
| 4 #scroller { | 5 #scroller { |
| 5 overflow: scroll; | 6 overflow: scroll; |
| 6 height: 300px; | 7 height: 300px; |
| 7 width: 300px; | 8 width: 300px; |
| 8 background-color: red; | 9 background-color: rgba(255,0,0,0.5); /* Force non-promotion due to backgroun
d opacity */; |
| 9 } | 10 } |
| 10 | 11 |
| 11 #scrolled { | 12 #scrolled { |
| 12 height: 1000px; | 13 height: 1000px; |
| 13 width: 250px; | 14 width: 250px; |
| 14 background-color: green; | 15 background-color: rgba(0,128,0,0.5); /* Force non-promotion due to backgroun
d opacity */; |
| 15 } | 16 } |
| 16 </style> | 17 </style> |
| 17 | 18 |
| 18 <script> | 19 <script> |
| 19 jsTestIsAsync = true; | |
| 20 | 20 |
| 21 description('This test checks that changes to the compositor\'s settings are app
lied correctly.'); | 21 var t = async_test("Check that the preferCompositingToLCDText flag results in co
mpositing"); |
| 22 | 22 |
| 23 function isUsingCompositedScrolling(layer) { | 23 function isUsingCompositedScrolling(layer) { |
| 24 layer = layer || JSON.parse(window.internals.layerTreeAsText(document)); | 24 layer = layer || JSON.parse(window.internals.layerTreeAsText(document)); |
| 25 if (layer.bounds[1] == 1000) | 25 if (layer.bounds[1] == 1000) |
| 26 return true; | 26 return true; |
| 27 if (layer.children) { | 27 if (layer.children) { |
| 28 for (var i = 0; i < layer.children.length; i++) { | 28 for (var i = 0; i < layer.children.length; i++) { |
| 29 if (isUsingCompositedScrolling(layer.children[i])) | 29 if (isUsingCompositedScrolling(layer.children[i])) |
| 30 return true; | 30 return true; |
| 31 } | 31 } |
| 32 } | 32 } |
| 33 return false; | 33 return false; |
| 34 } | 34 } |
| 35 | 35 |
| 36 window.onload = function() { | 36 window.onload = function() { |
| 37 if (!window.internals) { | 37 t.step(function() { |
| 38 testFailed('This test requires window.internals'); | 38 assert_not_equals(window.internals, null, 'This test requires window.interna
ls'); |
| 39 return; | 39 |
| 40 } | |
| 41 window.internals.settings.setPreferCompositingToLCDTextEnabled(false); | 40 window.internals.settings.setPreferCompositingToLCDTextEnabled(false); |
| 42 var stateBefore = isUsingCompositedScrolling(); | 41 var stateBefore = isUsingCompositedScrolling(); |
| 43 window.internals.settings.setPreferCompositingToLCDTextEnabled(true); | 42 window.internals.settings.setPreferCompositingToLCDTextEnabled(true); |
| 44 var stateAfter = isUsingCompositedScrolling(); | 43 var stateAfter = isUsingCompositedScrolling(); |
| 45 | 44 |
| 46 if (!stateBefore && stateAfter) { | 45 assert_false(stateBefore, 'Composited scrolling began disabled'); |
| 47 testPassed('Composited scrolling became enabled.'); | 46 assert_true(stateAfter, 'Composited scrolling became enabled'); |
| 48 } else { | 47 t.done(); |
| 49 testFailed('Composited scrolling did not become enabled: ' + stateBefore
+ ", " + stateAfter); | 48 }); |
| 50 } | |
| 51 finishJSTest(); | |
| 52 }; | 49 }; |
| 53 </script> | 50 </script> |
| 54 | 51 |
| 55 <div id="scroller"> | 52 <div id="scroller"> |
| 56 <div id="scrolled"></div> | 53 <div id="scrolled"></div> |
| 57 </div> | 54 </div> |
| OLD | NEW |