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 |