test_groupInitializationStarted.js (1353B)
1 /** 2 * Any copyright is dedicated to the Public Domain. 3 * http://creativecommons.org/publicdomain/zero/1.0/ 4 */ 5 6 const { PrincipalUtils } = ChromeUtils.importESModule( 7 "resource://testing-common/dom/quota/test/modules/PrincipalUtils.sys.mjs" 8 ); 9 const { QuotaUtils } = ChromeUtils.importESModule( 10 "resource://testing-common/dom/quota/test/modules/QuotaUtils.sys.mjs" 11 ); 12 const { TestUtils } = ChromeUtils.importESModule( 13 "resource://testing-common/TestUtils.sys.mjs" 14 ); 15 16 /* exported testSteps */ 17 async function testSteps() { 18 const principal = PrincipalUtils.createPrincipal("https://example.com"); 19 20 info("Initializing storage"); 21 22 { 23 const request = Services.qms.init(); 24 await QuotaUtils.requestFinished(request); 25 } 26 27 info("Initializing temporary storage"); 28 29 { 30 const request = Services.qms.initTemporaryStorage(); 31 await QuotaUtils.requestFinished(request); 32 } 33 34 info("Starting temporary group initialization"); 35 36 const initPromise = (async function () { 37 const request = Services.qms.initializeTemporaryGroup(principal); 38 const promise = QuotaUtils.requestFinished(request); 39 return promise; 40 })(); 41 42 info("Waiting for group initialization to start"); 43 44 await TestUtils.topicObserved("QuotaManager::GroupInitializationStarted"); 45 46 info("Waiting for group initialization to finish"); 47 48 await initPromise; 49 }