tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

writer-create-user-activation.tentative.https.window.js (1164B)


      1 // META: title=Writer Create User Activation
      2 // META: script=/resources/testdriver.js
      3 // META: script=../resources/util.js
      4 // META: timeout=long
      5 
      6 'use strict';
      7 
      8 // Mocked model download state may be shared between test cases in the same file
      9 // (see e.g. `EchoAIManagerImpl`), so this test case is kept in a separate file.
     10 // TODO(crbug.com/390246212): Support model state controls for WPTs.
     11 promise_test(async t => {
     12  // Create requires user activation when availability is 'downloadable'.
     13  assert_implements_optional(await Writer.availability() == 'downloadable');
     14  assert_false(navigator.userActivation.isActive);
     15  await promise_rejects_dom(t, 'NotAllowedError', Writer.create());
     16  await test_driver.bless('Writer.create', Writer.create);
     17  // User activation is not consumed by the create call.
     18  assert_true(navigator.userActivation.isActive);
     19  consumeTransientUserActivation();
     20 
     21  // Create does not require transient user activation.
     22  assert_equals(await Writer.availability(), 'available');
     23  assert_false(navigator.userActivation.isActive);
     24  await Writer.create();
     25 }, 'Create requires sticky user activation when availability is "downloadable"');