https://github.com/web-platform-tests/wpt
Raw File
Tip revision: 97317790d486c4b239e1e4f9942243a1991dce79 authored by Frédéric Wang on 14 March 2018, 14:14:29 UTC
use requestAnimationFrame instead of setTimeout(..., 0)
Tip revision: 9731779
consumes-user-gesture.https.html
<!DOCTYPE html>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/resources/testdriver.js"></script>
<script src="/resources/testdriver-vendor.js"></script>
<script src="/bluetooth/resources/bluetooth-helpers.js"></script>
<script>
'use strict';
const test_desc = 'Consumes a user gesture.';
const expected = new DOMException(
    'Must be handling a user gesture to show a permission request.',
    'SecurityError');

bluetooth_test(() => setUpHealthThermometerAndHeartRateDevices()
    .then(() => callWithTrustedClick(() => {
      let first = navigator.bluetooth.requestDevice({
        filters: [{services: ['heart_rate']}]});
      let second = navigator.bluetooth.requestDevice({
        filters: [{services: ['heart_rate']}]});
      return Promise.all([
        first.then(device => assert_equals(
          device.constructor.name, 'BluetoothDevice')),
        assert_promise_rejects_with_message(second,
          expected, 'A request should consume a user gesture')
      ]);
    })), test_desc);
</script>
back to top