[webkit-changes] [WebKit/WebKit] 9800cc: Add support for retrieving background fetch respon...

youennf noreply at github.com
Wed Mar 1 23:49:48 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 9800cc8170bb90a97ddad70cf13bdf595acf7703
      https://github.com/WebKit/WebKit/commit/9800cc8170bb90a97ddad70cf13bdf595acf7703
  Author: Youenn Fablet <youennf at gmail.com>
  Date:   2023-03-01 (Wed, 01 Mar 2023)

  Changed paths:
    M LayoutTests/TestExpectations
    M LayoutTests/imported/w3c/web-platform-tests/background-fetch/match.https.window-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/background-fetch/service_workers/sw.js
    M Source/WebCore/Modules/fetch/FetchBody.cpp
    M Source/WebCore/Modules/fetch/FetchBodyConsumer.cpp
    M Source/WebCore/Modules/fetch/FetchBodyConsumer.h
    M Source/WebCore/Modules/fetch/FetchBodyOwner.h
    M Source/WebCore/Modules/fetch/FetchResponse.cpp
    M Source/WebCore/Modules/fetch/FetchResponse.h
    M Source/WebCore/Modules/fetch/FetchResponseBodyLoader.h
    M Source/WebCore/WebCore.xcodeproj/project.pbxproj
    M Source/WebCore/workers/service/background-fetch/BackgroundFetchRegistration.cpp

  Log Message:
  -----------
  Add support for retrieving background fetch response bodies
https://bugs.webkit.org/show_bug.cgi?id=252738
rdar://problem/105770593

Reviewed by Chris Dumez.

Add infrastructure in FetchResponse to asynchronously trigger fetch response bodies when actually needed.
Pipe this infra to BackgroundFetch responses which will call SWClientConnection::retrieveRecordResponseBody.

Covered by rebased and updated test.
Test is updated to no longer be timing out.

* LayoutTests/TestExpectations:
* LayoutTests/imported/w3c/web-platform-tests/background-fetch/match.https.window-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/background-fetch/service_workers/sw.js:
* Source/WebCore/Modules/fetch/FetchBody.cpp:
(WebCore::FetchBody::consume):
* Source/WebCore/Modules/fetch/FetchBodyConsumer.cpp:
(WebCore::FetchBodyConsumer::resolve):
(WebCore::FetchBodyConsumer::loadingSucceeded):
* Source/WebCore/Modules/fetch/FetchBodyConsumer.h:
* Source/WebCore/Modules/fetch/FetchBodyOwner.cpp:
(WebCore::FetchBodyOwner::text):
* Source/WebCore/Modules/fetch/FetchBodyOwner.h:
(WebCore::FetchBodyOwner::loadBody):
* Source/WebCore/Modules/fetch/FetchResponse.cpp:
(WebCore::FetchResponse::addAbortSteps):
(WebCore::FetchResponse::createFetchResponse):
(WebCore::FetchResponse::startLoader):
(WebCore::FetchResponse::Loader::didSucceed):
(WebCore::FetchResponse::Loader::didFail):
(WebCore::FetchResponse::Loader::Loader):
(WebCore::FetchResponse::Loader::~Loader):
(WebCore::FetchResponse::Loader::didReceiveResponse):
(WebCore::FetchResponse::Loader::didReceiveData):
(WebCore::FetchResponse::Loader::start):
(WebCore::FetchResponse::Loader::stop):
(WebCore::FetchResponse::Loader::consumeDataByChunk):
(WebCore::FetchResponse::consumeBodyReceivedByChunk):
(WebCore::FetchResponse::consumeBodyAsStream):
(WebCore::FetchResponse::feedStream):
(WebCore::FetchResponse::Loader::startStreaming):
(WebCore::FetchResponse::stop):
(WebCore::FetchResponse::loadBody):
(WebCore::FetchResponse::setBodyLoader):
(WebCore::FetchResponse::receivedError):
(WebCore::FetchResponse::processReceivedError):
(WebCore::FetchResponse::didSucceed):
(WebCore::FetchResponse::receivedData):
(WebCore::FetchResponse::BodyLoader::didSucceed): Deleted.
(WebCore::FetchResponse::BodyLoader::didFail): Deleted.
(WebCore::FetchResponse::BodyLoader::BodyLoader): Deleted.
(WebCore::FetchResponse::BodyLoader::~BodyLoader): Deleted.
(WebCore::FetchResponse::BodyLoader::didReceiveResponse): Deleted.
(WebCore::FetchResponse::BodyLoader::didReceiveData): Deleted.
(WebCore::FetchResponse::BodyLoader::start): Deleted.
(WebCore::FetchResponse::BodyLoader::stop): Deleted.
(WebCore::FetchResponse::BodyLoader::consumeDataByChunk): Deleted.
(WebCore::FetchResponse::BodyLoader::startStreaming): Deleted.
* Source/WebCore/Modules/fetch/FetchResponse.h:
* Source/WebCore/Modules/fetch/FetchResponseBodyLoader.h:
(WebCore::FetchResponseBodyLoader::FetchResponseBodyLoader):
(WebCore::FetchResponseBodyLoader::takeConsumeDataCallback): Deleted.
(WebCore::FetchResponseBodyLoader::hasConsumeDataCallback const): Deleted.
(WebCore::FetchResponseBodyLoader::consumeDataCallback): Deleted.
(WebCore::FetchResponseBodyLoader::consumeDataByChunk): Deleted.
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/workers/service/background-fetch/BackgroundFetchRegistration.cpp:
(WebCore::BackgroundFetchResponseBodyLoader::BackgroundFetchResponseBodyLoader):
(WebCore::createRecord):

Canonical link: https://commits.webkit.org/261047@main




More information about the webkit-changes mailing list