Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(947)

Side by Side Diff: third_party/WebKit/LayoutTests/vibration/vibration-page-visibility.html

Issue 2778693004: Remove navigator.vibrate without user gesture. (Closed)
Patch Set: refactor SimulateUserClick Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698