summarizer-create-user-activation.tentative.https.window.js (1192B)
1 // META: title=Summarizer 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 Summarizer.availability() == 'downloadable'); 14 assert_false(navigator.userActivation.isActive); 15 await promise_rejects_dom(t, 'NotAllowedError', Summarizer.create()); 16 await test_driver.bless('Summarizer.create', Summarizer.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 Summarizer.availability(), 'available'); 23 assert_false(navigator.userActivation.isActive); 24 await Summarizer.create(); 25 }, 'Create requires sticky user activation when availability is "downloadable"');