| 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 |