| OLD | NEW |
| 1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
| 2 <h4 id="test"></h4> |
| 2 <script src="../resources/testharness.js"></script> | 3 <script src="../resources/testharness.js"></script> |
| 3 <script src="../resources/testharnessreport.js"></script> | 4 <script src="../resources/testharnessreport.js"></script> |
| 5 <script src="../resources/user-gesture-utils.js"></script> |
| 6 <script src="vibration-utils.js"></script> |
| 4 <script> | 7 <script> |
| 5 'use strict'; | 8 'use strict'; |
| 9 // Simulates a user click for vibrate to be allowed. |
| 10 // See: https://www.chromestatus.com/feature/5644273861001216. |
| 11 var element = document.getElementById("test"); |
| 12 simulateUserClick(element.offsetLeft + 2, element.offsetTop + 2); |
| 6 | 13 |
| 7 test(() => { | 14 test(() => { |
| 8 // Initially the page is hidden and no vibration can be started. | 15 // Initially the page is hidden and no vibration can be started. |
| 9 testRunner.setPageVisibility('hidden'); | 16 testRunner.setPageVisibility('hidden'); |
| 10 assert_false(navigator.vibrate(1001)); | 17 assert_false(navigator.vibrate(1001)); |
| 11 assert_array_equals(internals.pendingVibrationPattern(navigator), []); | 18 assert_array_equals(internals.pendingVibrationPattern(navigator), []); |
| 12 assert_false(internals.isVibrating(navigator)); | 19 assert_false(internals.isVibrating(navigator)); |
| 13 | 20 |
| 14 // Once the page is visible a vibration can be started. | 21 // Once the page is visible a vibration can be started. |
| 15 testRunner.setPageVisibility('visible'); | 22 testRunner.setPageVisibility('visible'); |
| 16 assert_true(navigator.vibrate(1002)); | 23 assert_true(navigator.vibrate(1002)); |
| 17 assert_array_equals(internals.pendingVibrationPattern(navigator), [1002]); | 24 assert_array_equals(internals.pendingVibrationPattern(navigator), [1002]); |
| 18 assert_true(internals.isVibrating(navigator)); | 25 assert_true(internals.isVibrating(navigator)); |
| 19 | 26 |
| 20 // When the page is hidden again the vibration is cancelled. | 27 // When the page is hidden again the vibration is cancelled. |
| 21 testRunner.setPageVisibility('hidden'); | 28 testRunner.setPageVisibility('hidden'); |
| 22 assert_array_equals(internals.pendingVibrationPattern(navigator), []); | 29 assert_array_equals(internals.pendingVibrationPattern(navigator), []); |
| 23 assert_false(internals.isVibrating(navigator)); | 30 assert_false(internals.isVibrating(navigator)); |
| 24 }, 'Vibration should not start and it should cancel when the page is hidden.'); | 31 }, 'Vibration should not start and it should cancel when the page is hidden.'); |
| 25 </script> | 32 </script> |
| OLD | NEW |