// META: global=window,worker // META: timeout=long // META: script=/resources/WebIDLParser.js // META: script=/resources/idlharness.js // META: script=/service-workers/service-worker/resources/test-helpers.sub.js 'use strict'; // https://wicg.github.io/cookie-store/ idl_test( ['cookie-store'], ['service-workers', 'html', 'dom'], async (idl_array, t) => { const isServiceWorker = 'ServiceWorkerGlobalScope' in self && self instanceof ServiceWorkerGlobalScope; if (isServiceWorker) { idl_array.add_objects({ ExtendableCookieChangeEvent: [ 'new ExtendableCookieChangeEvent("cookiechange")'], ServiceWorkerGlobalScope: ['self'], }); } else if (self.GLOBAL.isWindow()) { const registration = await service_worker_unregister_and_register( t, 'resources/empty_sw.js', 'resources/does/not/exist'); t.add_cleanup(() => registration.unregister()); // Global property referenced by idl_array.add_objects(). self.registration = registration; idl_array.add_objects({ CookieChangeEvent: ['new CookieChangeEvent("change")'], Window: ['self'], }); } if (isServiceWorker || self.GLOBAL.isWindow()) { idl_array.add_objects({ CookieStore: ['self.cookieStore'], CookieStoreManager: ['self.registration.cookies'], ServiceWorkerRegistration: ['self.registration'], }); } } );