Skip to content

Commit

Permalink
Add background fetch WebIDL
Browse files Browse the repository at this point in the history
https://bugs.webkit.org/show_bug.cgi?id=251980
rdar://problem/105213321

Reviewed by Chris Dumez.

Introduce WebIDL, experimental flag and minimal implementation.

Covered by rebased tests.

* LayoutTests/TestExpectations:
* LayoutTests/imported/w3c/web-platform-tests/background-fetch/abort.https.window-expected.txt: Added.
* LayoutTests/imported/w3c/web-platform-tests/background-fetch/content-security-policy.https.window-expected.txt: Added.
* LayoutTests/imported/w3c/web-platform-tests/background-fetch/fetch-uploads.https.window-expected.txt: Added.
* LayoutTests/imported/w3c/web-platform-tests/background-fetch/fetch.https.window-expected.txt: Added.
* LayoutTests/imported/w3c/web-platform-tests/background-fetch/get-ids.https.window-expected.txt: Added.
* LayoutTests/imported/w3c/web-platform-tests/background-fetch/get.https.window-expected.txt: Added.
* LayoutTests/imported/w3c/web-platform-tests/background-fetch/idlharness.https.any-expected.txt: Added.
* LayoutTests/imported/w3c/web-platform-tests/background-fetch/idlharness.https.any.serviceworker-expected.txt: Added.
* LayoutTests/imported/w3c/web-platform-tests/background-fetch/idlharness.https.any.sharedworker-expected.txt: Added.
* LayoutTests/imported/w3c/web-platform-tests/background-fetch/idlharness.https.any.worker-expected.txt: Added.
* LayoutTests/imported/w3c/web-platform-tests/background-fetch/interfaces.worker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/background-fetch/match.https.window-expected.txt: Added.
* LayoutTests/imported/w3c/web-platform-tests/background-fetch/mixed-content-and-allowed-schemes.https.window-expected.txt: Added.
* LayoutTests/imported/w3c/web-platform-tests/background-fetch/port-blocking.https.window-expected.txt: Added.
* LayoutTests/imported/w3c/web-platform-tests/background-fetch/update-ui.https.window-expected.txt: Added.
* Source/JavaScriptCore/runtime/IntlListFormat.h:
* Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml:
* Source/WebCore/CMakeLists.txt:
* Source/WebCore/DerivedSources-input.xcfilelist:
* Source/WebCore/DerivedSources-output.xcfilelist:
* Source/WebCore/DerivedSources.make:
* Source/WebCore/Headers.cmake:
* Source/WebCore/Modules/fetch/FetchHeaders.h:
* Source/WebCore/Modules/fetch/FetchHeadersGuard.h: Added.
* Source/WebCore/Modules/fetch/FetchResponseBodyLoader.h: Added.
(WebCore::FetchResponseBodyLoader::takeConsumeDataCallback):
(WebCore::FetchResponseBodyLoader::hasConsumeDataCallback const):
(WebCore::FetchResponseBodyLoader::consumeDataCallback):
(WebCore::FetchResponseBodyLoader::consumeDataByChunk):
* Source/WebCore/Sources.txt:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/bindings/js/WebCoreBuiltinNames.h:
* Source/WebCore/dom/EventNames.h:
* Source/WebCore/dom/EventNames.in:
* Source/WebCore/dom/EventTargetFactory.in:
* Source/WebCore/workers/service/background-fetch/BackgroundFetchEvent.cpp: Added.
(WebCore::BackgroundFetchEvent::create):
(WebCore::BackgroundFetchEvent::BackgroundFetchEvent):
(WebCore::BackgroundFetchEvent::~BackgroundFetchEvent):
(WebCore::BackgroundFetchEvent::registration const):
* Source/WebCore/workers/service/background-fetch/BackgroundFetchEvent.h: Added.
* Source/WebCore/workers/service/background-fetch/BackgroundFetchEvent.idl: Added.
* Source/WebCore/workers/service/background-fetch/BackgroundFetchEventInit.h: Added.
* Source/WebCore/workers/service/background-fetch/BackgroundFetchEventInit.idl: Added.
* Source/WebCore/workers/service/background-fetch/BackgroundFetchFailureReason.h: Added.
* Source/WebCore/workers/service/background-fetch/BackgroundFetchFailureReason.idl: Added.
* Source/WebCore/workers/service/background-fetch/BackgroundFetchInformation.h: Added.
(WebCore::BackgroundFetchInformation::isolatedCopy const):
(WebCore::BackgroundFetchInformation::isolatedCopy):
* Source/WebCore/workers/service/background-fetch/BackgroundFetchManager.cpp: Added.
(WebCore::BackgroundFetchManager::BackgroundFetchManager):
(WebCore::BackgroundFetchManager::~BackgroundFetchManager):
(WebCore::BackgroundFetchManager::fetch):
(WebCore::BackgroundFetchManager::get):
(WebCore::BackgroundFetchManager::getIds):
* Source/WebCore/workers/service/background-fetch/BackgroundFetchManager.h: Added.
(WebCore::BackgroundFetchManager::create):
* Source/WebCore/workers/service/background-fetch/BackgroundFetchManager.idl: Added.
* Source/WebCore/workers/service/background-fetch/BackgroundFetchOptions.h: Added.
(WebCore::BackgroundFetchOptions::BackgroundFetchOptions):
(WebCore::BackgroundFetchOptions::downloadTotal):
(WebCore::BackgroundFetchOptions::isolatedCopy const):
(WebCore::BackgroundFetchOptions::isolatedCopy):
* Source/WebCore/workers/service/background-fetch/BackgroundFetchOptions.idl: Added.
* Source/WebCore/workers/service/background-fetch/BackgroundFetchRecord.cpp: Added.
(WebCore::BackgroundFetchRecord::BackgroundFetchRecord):
(WebCore::BackgroundFetchRecord::~BackgroundFetchRecord):
(WebCore::BackgroundFetchRecord::request):
(WebCore::BackgroundFetchRecord::settleResponseReadyPromise):
* Source/WebCore/workers/service/background-fetch/BackgroundFetchRecord.h: Added.
(WebCore::BackgroundFetchRecord::create):
(WebCore::BackgroundFetchRecord::responseReady):
* Source/WebCore/workers/service/background-fetch/BackgroundFetchRecord.idl: Added.
* Source/WebCore/workers/service/background-fetch/BackgroundFetchRecordIdentifier.h: Added.
* Source/WebCore/workers/service/background-fetch/BackgroundFetchRecordInformation.h: Added.
(WebCore::BackgroundFetchRecordInformation::isolatedCopy const):
(WebCore::BackgroundFetchRecordInformation::isolatedCopy):
* Source/WebCore/workers/service/background-fetch/BackgroundFetchRegistration.cpp: Added.
(WebCore::BackgroundFetchRegistration::create):
(WebCore::BackgroundFetchRegistration::BackgroundFetchRegistration):
(WebCore::BackgroundFetchRegistration::~BackgroundFetchRegistration):
(WebCore::BackgroundFetchRegistration::abort):
(WebCore::BackgroundFetchRegistration::match):
(WebCore::BackgroundFetchRegistration::matchAll):
(WebCore::BackgroundFetchRegistration::updateInformation):
(WebCore::BackgroundFetchRegistration::activeDOMObjectName const):
(WebCore::BackgroundFetchRegistration::stop):
(WebCore::BackgroundFetchRegistration::virtualHasPendingActivity const):
* Source/WebCore/workers/service/background-fetch/BackgroundFetchRegistration.h: Added.
(WebCore::BackgroundFetchRegistration::id const):
(WebCore::BackgroundFetchRegistration::uploadTotal const):
(WebCore::BackgroundFetchRegistration::uploaded const):
(WebCore::BackgroundFetchRegistration::downloadTotal const):
(WebCore::BackgroundFetchRegistration::downloaded const):
(WebCore::BackgroundFetchRegistration::result):
(WebCore::BackgroundFetchRegistration::failureReason):
(WebCore::BackgroundFetchRegistration::recordsAvailable):
(WebCore::BackgroundFetchRegistration::registrationIdentifier const):
* Source/WebCore/workers/service/background-fetch/BackgroundFetchRegistration.idl: Added.
* Source/WebCore/workers/service/background-fetch/BackgroundFetchRequest.h: Added.
(WebCore::BackgroundFetchRequest::isolatedCopy const):
(WebCore::BackgroundFetchRequest::isolatedCopy):
* Source/WebCore/workers/service/background-fetch/BackgroundFetchResult.h: Added.
* Source/WebCore/workers/service/background-fetch/BackgroundFetchResult.idl: Added.
* Source/WebCore/workers/service/background-fetch/BackgroundFetchUIOptions.h: Added.
* Source/WebCore/workers/service/background-fetch/BackgroundFetchUIOptions.idl: Added.
* Source/WebCore/workers/service/background-fetch/BackgroundFetchUpdateUIEvent.cpp: Added.
(WebCore::BackgroundFetchUpdateUIEvent::create):
(WebCore::BackgroundFetchUpdateUIEvent::BackgroundFetchUpdateUIEvent):
(WebCore::BackgroundFetchUpdateUIEvent::~BackgroundFetchUpdateUIEvent):
(WebCore::BackgroundFetchUpdateUIEvent::updateUI):
* Source/WebCore/workers/service/background-fetch/BackgroundFetchUpdateUIEvent.h: Added.
* Source/WebCore/workers/service/background-fetch/BackgroundFetchUpdateUIEvent.idl: Added.
* Source/WebCore/workers/service/background-fetch/ImageResource.h: Added.
(WebCore::ImageResource::isolatedCopy const):
(WebCore::ImageResource::isolatedCopy):
* Source/WebCore/workers/service/background-fetch/ImageResource.idl: Added.
* Source/WebCore/workers/service/background-fetch/ServiceWorkerGlobalScope+BackgroundFetchAPI.idl: Added.
* Source/WebCore/workers/service/background-fetch/ServiceWorkerRegistration+BackgroundFetchAPI.idl: Added.
* Source/WebCore/workers/service/background-fetch/ServiceWorkerRegistrationBackgroundFetchAPI.cpp: Added.
(WebCore::ServiceWorkerRegistrationBackgroundFetchAPI::ServiceWorkerRegistrationBackgroundFetchAPI):
(WebCore::ServiceWorkerRegistrationBackgroundFetchAPI::~ServiceWorkerRegistrationBackgroundFetchAPI):
(WebCore::ServiceWorkerRegistrationBackgroundFetchAPI::backgroundFetch):
(WebCore::ServiceWorkerRegistrationBackgroundFetchAPI::backgroundFetchIfCreated):
(WebCore::ServiceWorkerRegistrationBackgroundFetchAPI::backgroundFetchManager):
(WebCore::ServiceWorkerRegistrationBackgroundFetchAPI::from):
(WebCore::ServiceWorkerRegistrationBackgroundFetchAPI::supplementName):
* Source/WebCore/workers/service/background-fetch/ServiceWorkerRegistrationBackgroundFetchAPI.h: Added.

Canonical link: https://commits.webkit.org/260532@main
  • Loading branch information
youennf committed Feb 20, 2023
1 parent a2a8bd0 commit 663c322
Show file tree
Hide file tree
Showing 70 changed files with 2,376 additions and 154 deletions.
3 changes: 0 additions & 3 deletions LayoutTests/TestExpectations
Original file line number Diff line number Diff line change
Expand Up @@ -1225,9 +1225,6 @@ imported/w3c/web-platform-tests/fetch/metadata/redirect/ [ Skip ]

# These tests have unreliable ordering and are flakey

# Not supported
imported/w3c/web-platform-tests/background-fetch [ Skip ]

# This is a resources folder.
http/tests/workers/service/other_resources [ Skip ]

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@

FAIL Aborting the same registration twice fails promise_test: Unhandled rejection with value: object "Error: Unsupported permission name "background-fetch"."
FAIL Calling BackgroundFetchRegistration.abort sets the correct fields and responses are still available promise_test: Unhandled rejection with value: object "Error: Unsupported permission name "background-fetch"."
FAIL An aborted fetch throws a DOM exception when accessing an incomplete record promise_test: Unhandled rejection with value: object "Error: Unsupported permission name "background-fetch"."

Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@

FAIL fetch blocked by CSP should reject promise_test: Unhandled rejection with value: object "Error: Unsupported permission name "background-fetch"."

Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@

FAIL Fetch with an upload should work promise_test: Unhandled rejection with value: object "Error: Unsupported permission name "background-fetch"."
FAIL Progress event includes uploaded bytes promise_test: Unhandled rejection with value: object "Error: Unsupported permission name "background-fetch"."
FAIL Duplicate upload requests work and can be distinguished. promise_test: Unhandled rejection with value: object "Error: Unsupported permission name "background-fetch"."

Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@

FAIL Background Fetch requires an activated Service Worker promise_rejects_js: fetch() must reject on pending and installing workers function "function () { throw e }" threw object "NotSupportedError: The operation is not supported." ("NotSupportedError") expected instance of function "function TypeError() {
[native code]
}" ("TypeError")
FAIL Argument verification is done for BackgroundFetchManager.fetch() promise_test: Unhandled rejection with value: object "Error: Unsupported permission name "background-fetch"."
FAIL IDs must be unique among active Background Fetch registrations promise_test: Unhandled rejection with value: object "Error: Unsupported permission name "background-fetch"."
FAIL Empty URL is OK. promise_test: Unhandled rejection with value: object "Error: Unsupported permission name "background-fetch"."
FAIL Requests with PUT method require CORS Preflight and succeed. promise_test: Unhandled rejection with value: object "Error: Unsupported permission name "background-fetch"."
FAIL Requests with text/json content type require CORS Preflight and succeed. promise_test: Unhandled rejection with value: object "Error: Unsupported permission name "background-fetch"."
FAIL Using Background Fetch to successfully fetch a single resource promise_test: Unhandled rejection with value: object "Error: Unsupported permission name "background-fetch"."
FAIL Registration object gets updated values when a background fetch completes. promise_test: Unhandled rejection with value: object "Error: Unsupported permission name "background-fetch"."
FAIL Background Fetch that exceeds the quota throws a QuotaExceededError promise_test: Unhandled rejection with value: object "Error: Unsupported permission name "background-fetch"."
FAIL Fetches can have requests with duplicate URLs promise_test: Unhandled rejection with value: object "Error: Unsupported permission name "background-fetch"."
FAIL recordsAvailable is false after onbackgroundfetchsuccess finishes execution. promise_test: Unhandled rejection with value: object "Error: Unsupported permission name "background-fetch"."
FAIL Using Background Fetch to fetch a non-existent resource should fail. promise_test: Unhandled rejection with value: object "Error: Unsupported permission name "background-fetch"."
FAIL Fetches with mixed content should fail. promise_test: Unhandled rejection with value: object "Error: Unsupported permission name "background-fetch"."
FAIL Responses failing CORS checks are not leaked promise_test: Unhandled rejection with value: object "Error: Unsupported permission name "background-fetch"."

Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@

FAIL BackgroundFetchManager.getIds() does not require an activated worker promise_test: Unhandled rejection with value: object "NotSupportedError: The operation is not supported."
FAIL The BackgroundFetchManager exposes active fetches promise_test: Unhandled rejection with value: object "Error: Unsupported permission name "background-fetch"."

Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@

FAIL BackgroundFetchManager.get() does not require an activated worker promise_test: Unhandled rejection with value: object "NotSupportedError: The operation is not supported."
FAIL Getting non-existing registrations yields `undefined` promise_test: Unhandled rejection with value: object "Error: Unsupported permission name "background-fetch"."
FAIL Getting an existing registration has the expected values promise_test: Unhandled rejection with value: object "Error: Unsupported permission name "background-fetch"."

Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@

PASS idl_test setup
PASS idl_test validation
PASS Partial interface ServiceWorkerGlobalScope: original interface defined
PASS Partial interface ServiceWorkerGlobalScope: member names are unique
PASS Partial interface ServiceWorkerRegistration: original interface defined
PASS Partial interface ServiceWorkerRegistration: member names are unique
PASS WorkerGlobalScope includes WindowOrWorkerGlobalScope: member names are unique
PASS BackgroundFetchManager interface: existence and properties of interface object
PASS BackgroundFetchManager interface object length
PASS BackgroundFetchManager interface object name
PASS BackgroundFetchManager interface: existence and properties of interface prototype object
PASS BackgroundFetchManager interface: existence and properties of interface prototype object's "constructor" property
PASS BackgroundFetchManager interface: existence and properties of interface prototype object's @@unscopables property
PASS BackgroundFetchManager interface: operation fetch(DOMString, (RequestInfo or sequence<RequestInfo>), optional BackgroundFetchOptions)
PASS BackgroundFetchManager interface: operation get(DOMString)
PASS BackgroundFetchManager interface: operation getIds()
PASS BackgroundFetchRegistration interface: existence and properties of interface object
PASS BackgroundFetchRegistration interface object length
PASS BackgroundFetchRegistration interface object name
PASS BackgroundFetchRegistration interface: existence and properties of interface prototype object
PASS BackgroundFetchRegistration interface: existence and properties of interface prototype object's "constructor" property
PASS BackgroundFetchRegistration interface: existence and properties of interface prototype object's @@unscopables property
PASS BackgroundFetchRegistration interface: attribute id
PASS BackgroundFetchRegistration interface: attribute uploadTotal
PASS BackgroundFetchRegistration interface: attribute uploaded
PASS BackgroundFetchRegistration interface: attribute downloadTotal
PASS BackgroundFetchRegistration interface: attribute downloaded
PASS BackgroundFetchRegistration interface: attribute result
PASS BackgroundFetchRegistration interface: attribute failureReason
PASS BackgroundFetchRegistration interface: attribute recordsAvailable
PASS BackgroundFetchRegistration interface: attribute onprogress
PASS BackgroundFetchRegistration interface: operation abort()
PASS BackgroundFetchRegistration interface: operation match(RequestInfo, optional CacheQueryOptions)
PASS BackgroundFetchRegistration interface: operation matchAll(optional RequestInfo, optional CacheQueryOptions)
PASS BackgroundFetchRecord interface: existence and properties of interface object
PASS BackgroundFetchRecord interface object length
PASS BackgroundFetchRecord interface object name
PASS BackgroundFetchRecord interface: existence and properties of interface prototype object
PASS BackgroundFetchRecord interface: existence and properties of interface prototype object's "constructor" property
PASS BackgroundFetchRecord interface: existence and properties of interface prototype object's @@unscopables property
PASS BackgroundFetchRecord interface: attribute request
PASS BackgroundFetchRecord interface: attribute responseReady
PASS BackgroundFetchEvent interface: existence and properties of interface object
FAIL BackgroundFetchUpdateUIEvent interface: existence and properties of interface object assert_false: expected false got true
PASS ServiceWorkerRegistration interface: attribute backgroundFetch

Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@

PASS idl_test setup
PASS idl_test validation
PASS Partial interface ServiceWorkerGlobalScope: original interface defined
PASS Partial interface ServiceWorkerGlobalScope: member names are unique
PASS Partial interface ServiceWorkerRegistration: original interface defined
PASS Partial interface ServiceWorkerRegistration: member names are unique
PASS WorkerGlobalScope includes WindowOrWorkerGlobalScope: member names are unique
PASS BackgroundFetchManager interface: existence and properties of interface object
PASS BackgroundFetchManager interface object length
PASS BackgroundFetchManager interface object name
PASS BackgroundFetchManager interface: existence and properties of interface prototype object
PASS BackgroundFetchManager interface: existence and properties of interface prototype object's "constructor" property
PASS BackgroundFetchManager interface: existence and properties of interface prototype object's @@unscopables property
PASS BackgroundFetchManager interface: operation fetch(DOMString, (RequestInfo or sequence<RequestInfo>), optional BackgroundFetchOptions)
PASS BackgroundFetchManager interface: operation get(DOMString)
PASS BackgroundFetchManager interface: operation getIds()
PASS BackgroundFetchRegistration interface: existence and properties of interface object
PASS BackgroundFetchRegistration interface object length
PASS BackgroundFetchRegistration interface object name
PASS BackgroundFetchRegistration interface: existence and properties of interface prototype object
PASS BackgroundFetchRegistration interface: existence and properties of interface prototype object's "constructor" property
PASS BackgroundFetchRegistration interface: existence and properties of interface prototype object's @@unscopables property
PASS BackgroundFetchRegistration interface: attribute id
PASS BackgroundFetchRegistration interface: attribute uploadTotal
PASS BackgroundFetchRegistration interface: attribute uploaded
PASS BackgroundFetchRegistration interface: attribute downloadTotal
PASS BackgroundFetchRegistration interface: attribute downloaded
PASS BackgroundFetchRegistration interface: attribute result
PASS BackgroundFetchRegistration interface: attribute failureReason
PASS BackgroundFetchRegistration interface: attribute recordsAvailable
PASS BackgroundFetchRegistration interface: attribute onprogress
PASS BackgroundFetchRegistration interface: operation abort()
PASS BackgroundFetchRegistration interface: operation match(RequestInfo, optional CacheQueryOptions)
PASS BackgroundFetchRegistration interface: operation matchAll(optional RequestInfo, optional CacheQueryOptions)
PASS BackgroundFetchRecord interface: existence and properties of interface object
PASS BackgroundFetchRecord interface object length
PASS BackgroundFetchRecord interface object name
PASS BackgroundFetchRecord interface: existence and properties of interface prototype object
PASS BackgroundFetchRecord interface: existence and properties of interface prototype object's "constructor" property
PASS BackgroundFetchRecord interface: existence and properties of interface prototype object's @@unscopables property
PASS BackgroundFetchRecord interface: attribute request
PASS BackgroundFetchRecord interface: attribute responseReady
PASS BackgroundFetchEvent interface: existence and properties of interface object
PASS BackgroundFetchEvent interface object length
PASS BackgroundFetchEvent interface object name
PASS BackgroundFetchEvent interface: existence and properties of interface prototype object
PASS BackgroundFetchEvent interface: existence and properties of interface prototype object's "constructor" property
PASS BackgroundFetchEvent interface: existence and properties of interface prototype object's @@unscopables property
PASS BackgroundFetchEvent interface: attribute registration
PASS BackgroundFetchUpdateUIEvent interface: existence and properties of interface object
PASS BackgroundFetchUpdateUIEvent interface object length
PASS BackgroundFetchUpdateUIEvent interface object name
PASS BackgroundFetchUpdateUIEvent interface: existence and properties of interface prototype object
PASS BackgroundFetchUpdateUIEvent interface: existence and properties of interface prototype object's "constructor" property
PASS BackgroundFetchUpdateUIEvent interface: existence and properties of interface prototype object's @@unscopables property
PASS BackgroundFetchUpdateUIEvent interface: operation updateUI(optional BackgroundFetchUIOptions)
PASS ServiceWorkerRegistration interface: attribute backgroundFetch
PASS ServiceWorkerGlobalScope interface: attribute onbackgroundfetchsuccess
PASS ServiceWorkerGlobalScope interface: attribute onbackgroundfetchfail
PASS ServiceWorkerGlobalScope interface: attribute onbackgroundfetchabort
PASS ServiceWorkerGlobalScope interface: attribute onbackgroundfetchclick

Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@

PASS idl_test setup
PASS idl_test validation
PASS Partial interface ServiceWorkerGlobalScope: original interface defined
PASS Partial interface ServiceWorkerGlobalScope: member names are unique
PASS Partial interface ServiceWorkerRegistration: original interface defined
PASS Partial interface ServiceWorkerRegistration: member names are unique
PASS WorkerGlobalScope includes WindowOrWorkerGlobalScope: member names are unique
PASS BackgroundFetchManager interface: existence and properties of interface object
PASS BackgroundFetchManager interface object length
PASS BackgroundFetchManager interface object name
PASS BackgroundFetchManager interface: existence and properties of interface prototype object
PASS BackgroundFetchManager interface: existence and properties of interface prototype object's "constructor" property
PASS BackgroundFetchManager interface: existence and properties of interface prototype object's @@unscopables property
PASS BackgroundFetchManager interface: operation fetch(DOMString, (RequestInfo or sequence<RequestInfo>), optional BackgroundFetchOptions)
PASS BackgroundFetchManager interface: operation get(DOMString)
PASS BackgroundFetchManager interface: operation getIds()
PASS BackgroundFetchRegistration interface: existence and properties of interface object
PASS BackgroundFetchRegistration interface object length
PASS BackgroundFetchRegistration interface object name
PASS BackgroundFetchRegistration interface: existence and properties of interface prototype object
PASS BackgroundFetchRegistration interface: existence and properties of interface prototype object's "constructor" property
PASS BackgroundFetchRegistration interface: existence and properties of interface prototype object's @@unscopables property
PASS BackgroundFetchRegistration interface: attribute id
PASS BackgroundFetchRegistration interface: attribute uploadTotal
PASS BackgroundFetchRegistration interface: attribute uploaded
PASS BackgroundFetchRegistration interface: attribute downloadTotal
PASS BackgroundFetchRegistration interface: attribute downloaded
PASS BackgroundFetchRegistration interface: attribute result
PASS BackgroundFetchRegistration interface: attribute failureReason
PASS BackgroundFetchRegistration interface: attribute recordsAvailable
PASS BackgroundFetchRegistration interface: attribute onprogress
PASS BackgroundFetchRegistration interface: operation abort()
PASS BackgroundFetchRegistration interface: operation match(RequestInfo, optional CacheQueryOptions)
PASS BackgroundFetchRegistration interface: operation matchAll(optional RequestInfo, optional CacheQueryOptions)
PASS BackgroundFetchRecord interface: existence and properties of interface object
PASS BackgroundFetchRecord interface object length
PASS BackgroundFetchRecord interface object name
PASS BackgroundFetchRecord interface: existence and properties of interface prototype object
PASS BackgroundFetchRecord interface: existence and properties of interface prototype object's "constructor" property
PASS BackgroundFetchRecord interface: existence and properties of interface prototype object's @@unscopables property
PASS BackgroundFetchRecord interface: attribute request
PASS BackgroundFetchRecord interface: attribute responseReady
PASS BackgroundFetchEvent interface: existence and properties of interface object
FAIL BackgroundFetchUpdateUIEvent interface: existence and properties of interface object assert_false: expected false got true
PASS ServiceWorkerRegistration interface: attribute backgroundFetch

Loading

0 comments on commit 663c322

Please sign in to comment.