[webkit-changes] [WebKit/WebKit] 663c32: Add background fetch WebIDL

youennf noreply at github.com
Mon Feb 20 04:23:10 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 663c322dad1acda181b1c75a52f24e61da41359a
      https://github.com/WebKit/WebKit/commit/663c322dad1acda181b1c75a52f24e61da41359a
  Author: Youenn Fablet <youennf at gmail.com>
  Date:   2023-02-20 (Mon, 20 Feb 2023)

  Changed paths:
    M LayoutTests/TestExpectations
    A LayoutTests/imported/w3c/web-platform-tests/background-fetch/abort.https.window-expected.txt
    A LayoutTests/imported/w3c/web-platform-tests/background-fetch/content-security-policy.https.window-expected.txt
    A LayoutTests/imported/w3c/web-platform-tests/background-fetch/fetch-uploads.https.window-expected.txt
    A LayoutTests/imported/w3c/web-platform-tests/background-fetch/fetch.https.window-expected.txt
    A LayoutTests/imported/w3c/web-platform-tests/background-fetch/get-ids.https.window-expected.txt
    A LayoutTests/imported/w3c/web-platform-tests/background-fetch/get.https.window-expected.txt
    A LayoutTests/imported/w3c/web-platform-tests/background-fetch/idlharness.https.any-expected.txt
    A LayoutTests/imported/w3c/web-platform-tests/background-fetch/idlharness.https.any.serviceworker-expected.txt
    A LayoutTests/imported/w3c/web-platform-tests/background-fetch/idlharness.https.any.sharedworker-expected.txt
    A LayoutTests/imported/w3c/web-platform-tests/background-fetch/idlharness.https.any.worker-expected.txt
    R LayoutTests/imported/w3c/web-platform-tests/background-fetch/interfaces-expected.txt
    R LayoutTests/imported/w3c/web-platform-tests/background-fetch/interfaces.worker-expected.txt
    R LayoutTests/imported/w3c/web-platform-tests/background-fetch/interfaces.worker.html
    A LayoutTests/imported/w3c/web-platform-tests/background-fetch/match.https.window-expected.txt
    A LayoutTests/imported/w3c/web-platform-tests/background-fetch/mixed-content-and-allowed-schemes.https.window-expected.txt
    A LayoutTests/imported/w3c/web-platform-tests/background-fetch/port-blocking.https.window-expected.txt
    A LayoutTests/imported/w3c/web-platform-tests/background-fetch/update-ui.https.window-expected.txt
    M LayoutTests/platform/mac-wk1/TestExpectations
    M Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml
    M Source/WebCore/CMakeLists.txt
    M Source/WebCore/DerivedSources-input.xcfilelist
    M Source/WebCore/DerivedSources-output.xcfilelist
    M Source/WebCore/DerivedSources.make
    M Source/WebCore/Headers.cmake
    M Source/WebCore/Modules/fetch/FetchHeaders.h
    A Source/WebCore/Modules/fetch/FetchHeadersGuard.h
    A Source/WebCore/Modules/fetch/FetchResponseBodyLoader.h
    M Source/WebCore/Sources.txt
    M Source/WebCore/WebCore.xcodeproj/project.pbxproj
    M Source/WebCore/bindings/js/WebCoreBuiltinNames.h
    M Source/WebCore/dom/EventNames.h
    M Source/WebCore/dom/EventNames.in
    M Source/WebCore/dom/EventTargetFactory.in
    M Source/WebCore/inspector/InspectorFrontendHost.h
    A Source/WebCore/workers/service/background-fetch/BackgroundFetchEvent.cpp
    A Source/WebCore/workers/service/background-fetch/BackgroundFetchEvent.h
    A Source/WebCore/workers/service/background-fetch/BackgroundFetchEvent.idl
    A Source/WebCore/workers/service/background-fetch/BackgroundFetchEventInit.h
    A Source/WebCore/workers/service/background-fetch/BackgroundFetchEventInit.idl
    A Source/WebCore/workers/service/background-fetch/BackgroundFetchFailureReason.h
    A Source/WebCore/workers/service/background-fetch/BackgroundFetchFailureReason.idl
    A Source/WebCore/workers/service/background-fetch/BackgroundFetchInformation.h
    A Source/WebCore/workers/service/background-fetch/BackgroundFetchManager.cpp
    A Source/WebCore/workers/service/background-fetch/BackgroundFetchManager.h
    A Source/WebCore/workers/service/background-fetch/BackgroundFetchManager.idl
    A Source/WebCore/workers/service/background-fetch/BackgroundFetchOptions.h
    A Source/WebCore/workers/service/background-fetch/BackgroundFetchOptions.idl
    A Source/WebCore/workers/service/background-fetch/BackgroundFetchRecord.cpp
    A Source/WebCore/workers/service/background-fetch/BackgroundFetchRecord.h
    A Source/WebCore/workers/service/background-fetch/BackgroundFetchRecord.idl
    A Source/WebCore/workers/service/background-fetch/BackgroundFetchRecordIdentifier.h
    A Source/WebCore/workers/service/background-fetch/BackgroundFetchRecordInformation.h
    A Source/WebCore/workers/service/background-fetch/BackgroundFetchRegistration.cpp
    A Source/WebCore/workers/service/background-fetch/BackgroundFetchRegistration.h
    A Source/WebCore/workers/service/background-fetch/BackgroundFetchRegistration.idl
    A Source/WebCore/workers/service/background-fetch/BackgroundFetchRequest.h
    A Source/WebCore/workers/service/background-fetch/BackgroundFetchResult.h
    A Source/WebCore/workers/service/background-fetch/BackgroundFetchResult.idl
    A Source/WebCore/workers/service/background-fetch/BackgroundFetchUIOptions.h
    A Source/WebCore/workers/service/background-fetch/BackgroundFetchUIOptions.idl
    A Source/WebCore/workers/service/background-fetch/BackgroundFetchUpdateUIEvent.cpp
    A Source/WebCore/workers/service/background-fetch/BackgroundFetchUpdateUIEvent.h
    A Source/WebCore/workers/service/background-fetch/BackgroundFetchUpdateUIEvent.idl
    A Source/WebCore/workers/service/background-fetch/ImageResource.h
    A Source/WebCore/workers/service/background-fetch/ImageResource.idl
    A Source/WebCore/workers/service/background-fetch/ServiceWorkerGlobalScope+BackgroundFetchAPI.idl
    A Source/WebCore/workers/service/background-fetch/ServiceWorkerRegistration+BackgroundFetchAPI.idl
    A Source/WebCore/workers/service/background-fetch/ServiceWorkerRegistrationBackgroundFetchAPI.cpp
    A Source/WebCore/workers/service/background-fetch/ServiceWorkerRegistrationBackgroundFetchAPI.h

  Log Message:
  -----------
  Add background fetch WebIDL
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




More information about the webkit-changes mailing list