| OLD | NEW |
| 1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
| 2 <style> | 2 <style> |
| 3 body { | 3 body { |
| 4 height: 10000px; | 4 height: 10000px; |
| 5 width: 10000px; | 5 width: 10000px; |
| 6 } | 6 } |
| 7 </style> | 7 </style> |
| 8 | 8 |
| 9 <body></body> | 9 <body></body> |
| 10 | 10 |
| 11 <script src="../../../resources/testharness.js"></script> | 11 <script src="../../../resources/testharness.js"></script> |
| 12 <script src="../../../resources/testharnessreport.js"></script> | 12 <script src="../../../resources/testharnessreport.js"></script> |
| 13 <script type="text/javascript"> | 13 <script type="text/javascript"> |
| 14 'use strict'; | 14 'use strict'; |
| 15 async_test(function(t) { | 15 async_test(function(t) { |
| 16 window.addEventListener('load', t.step_func(function() { | 16 window.addEventListener('load', t.step_func(function() { |
| 17 document.body.offsetTop; // force layout | 17 document.body.offsetTop; // force layout |
| 18 if (window.name != 'verification') { | 18 if (window.name != 'verification') { |
| 19 assert_array_equals([window.innerWidth, window.innerHeight], [800, 600],
'initial page size is valid'); | 19 assert_array_equals([window.innerWidth, window.innerHeight], [800, 600],
'initial page size is valid'); |
| 20 if (window.internals) | 20 if (window.internals) { |
| 21 window.internals.setPageScaleFactor(2); | 21 window.internals.setPageScaleFactor(2); |
| 22 assert_array_equals([window.innerWidth, window.innerHeight], [400, 300],
'page is scaled'); | 22 assert_array_equals([internals.visualViewportWidth(), internals.visual
ViewportHeight()], [400, 300], 'page is scaled'); |
| 23 } |
| 23 | 24 |
| 24 history.scrollRestoration = 'manual'; | 25 history.scrollRestoration = 'manual'; |
| 25 window.scrollTo(100, 200); | 26 window.scrollTo(100, 200); |
| 26 assert_equals(history.scrollRestoration, 'manual'); | 27 assert_equals(history.scrollRestoration, 'manual'); |
| 27 assert_array_equals([window.scrollX, window.scrollY], [100, 200]); | 28 assert_array_equals([window.scrollX, window.scrollY], [100, 200]); |
| 28 | 29 |
| 29 setTimeout(function() { | 30 setTimeout(function() { |
| 30 window.name = 'verification'; | 31 window.name = 'verification'; |
| 31 window.location = "data:text/html,<script>history.back();</scr" + "ipt
>"; | 32 window.location = "data:text/html,<script>history.back();</scr" + "ipt
>"; |
| 32 }, 0); | 33 }, 0); |
| 33 } else { | 34 } else { |
| 34 assert_array_equals([window.innerWidth, window.innerHeight], [400, 300],
'page scale is restored'); | 35 assert_array_equals([internals.visualViewportWidth(), internals.visualVi
ewportHeight()], [400, 300], 'page scale is restored'); |
| 35 assert_array_equals([window.scrollX, window.scrollY], [0, 0], 'scroll po
sition is not restored'); | 36 assert_array_equals([window.scrollX, window.scrollY], [0, 0], 'scroll po
sition is not restored'); |
| 36 // clean up | 37 // clean up |
| 37 window.name = ''; | 38 window.name = ''; |
| 38 if (window.internals) | 39 if (window.internals) |
| 39 setTimeout(function() {window.internals.setPageScaleFactor(1);}, 0); | 40 setTimeout(function() {window.internals.setPageScaleFactor(1);}, 0); |
| 40 t.done(); | 41 t.done(); |
| 41 } | 42 } |
| 42 })); | 43 })); |
| 43 }, 'Setting scrollRestoration to manual should not affect scale restoration'); | 44 }, 'Setting scrollRestoration to manual should not affect scale restoration'); |
| 44 </script> | 45 </script> |
| OLD | NEW |