[webkit-changes] [WebKit/WebKit] 423d5f: Set expectedContentLength in ServiceWorkerDownload...
youennf
noreply at github.com
Tue Oct 3 11:50:46 PDT 2023
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 423d5f5dd0dbc7c48f3f1c931db7e5734fc692d5
https://github.com/WebKit/WebKit/commit/423d5f5dd0dbc7c48f3f1c931db7e5734fc692d5
Author: Youenn Fablet <youennf at gmail.com>
Date: 2023-10-03 (Tue, 03 Oct 2023)
Changed paths:
M LayoutTests/http/tests/workers/service/resources/service-worker-download-worker.js
M LayoutTests/http/tests/workers/service/service-worker-download-stream.https-expected.txt
M LayoutTests/http/tests/workers/service/service-worker-download-stream.https.html
M LayoutTests/http/wpt/service-workers/fetch-service-worker-preload-download-through-direct-preload.https-expected.txt
M LayoutTests/http/wpt/service-workers/fetch-service-worker-preload-download-through-direct-preload.https.html
M LayoutTests/platform/glib/http/tests/workers/service/service-worker-download-stream.https-expected.txt
M LayoutTests/platform/glib/http/wpt/service-workers/fetch-service-worker-preload-download-through-direct-preload.https-expected.txt
M LayoutTests/platform/ios/http/wpt/service-workers/fetch-service-worker-preload-download-through-direct-preload.https-expected.txt
M Source/WebKit/NetworkProcess/ServiceWorker/ServiceWorkerDownloadTask.cpp
M Source/WebKit/NetworkProcess/ServiceWorker/ServiceWorkerDownloadTask.h
M Source/WebKit/NetworkProcess/ServiceWorker/ServiceWorkerFetchTask.cpp
M Tools/WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl
M Tools/WebKitTestRunner/InjectedBundle/TestRunner.cpp
M Tools/WebKitTestRunner/InjectedBundle/TestRunner.h
M Tools/WebKitTestRunner/TestController.cpp
M Tools/WebKitTestRunner/TestController.h
M Tools/WebKitTestRunner/TestInvocation.cpp
Log Message:
-----------
Set expectedContentLength in ServiceWorkerDownloadTask didReceiveData callback
https://bugs.webkit.org/show_bug.cgi?id=262297
rdar://109266074
Reviewed by Alex Christensen.
Store the Response expectedContentLength in ServiceWorkerDownloadTask.
Use it to set the totalExpectedSize parameter of the didReceiveData callback.
We use the max of the expectedContentLength and the size of data already written as service worker downloads may use synthetic response with zero expectedContentLength.
For synthetic responses, if the expectedContentLength is zero, we check the Content-Length header and parse it to compute a new expectedContentLength value.
* LayoutTests/http/tests/workers/service/resources/service-worker-download-worker.js:
(event.event.request.url.includes):
* LayoutTests/http/tests/workers/service/service-worker-download-stream.https-expected.txt:
* LayoutTests/http/tests/workers/service/service-worker-download-stream.https.html:
* LayoutTests/http/wpt/service-workers/fetch-service-worker-preload-download-through-direct-preload.https-expected.txt:
* LayoutTests/http/wpt/service-workers/fetch-service-worker-preload-download-through-direct-preload.https.html:
* LayoutTests/platform/glib/http/tests/workers/service/service-worker-download-stream.https-expected.txt:
* LayoutTests/platform/glib/http/wpt/service-workers/fetch-service-worker-preload-download-through-direct-preload.https-expected.txt:
* LayoutTests/platform/ios/http/wpt/service-workers/fetch-service-worker-preload-download-through-direct-preload.https-expected.txt:
* Source/WebCore/Modules/fetch/FetchResponse.cpp:
(WebCore::FetchResponse::create):
* Source/WebKit/NetworkProcess/ServiceWorker/ServiceWorkerDownloadTask.cpp:
(WebKit::ServiceWorkerDownloadTask::ServiceWorkerDownloadTask):
(WebKit::ServiceWorkerDownloadTask::didReceiveData):
* Source/WebKit/NetworkProcess/ServiceWorker/ServiceWorkerDownloadTask.h:
(WebKit::ServiceWorkerDownloadTask::create):
* Source/WebKit/NetworkProcess/ServiceWorker/ServiceWorkerFetchTask.cpp:
(WebKit::ServiceWorkerFetchTask::convertToDownload):
* Tools/WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* Tools/WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setShouldLogDownloadExpectedSize):
* Tools/WebKitTestRunner/InjectedBundle/TestRunner.h:
* Tools/WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetStateToConsistentValues):
(WTR::TestController::downloadDidFinish):
(WTR::TestController::downloadDidWriteData):
* Tools/WebKitTestRunner/TestController.h:
(WTR::TestController::setShouldLogDownloadExpectedSize):
* Tools/WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
Canonical link: https://commits.webkit.org/268794@main
More information about the webkit-changes
mailing list