Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 423d5f5dd0dbc7c48f3f1c931db7e5734fc692d5
      
https://github.com/WebKit/WebKit/commit/423d5f5dd0dbc7c48f3f1c931db7e5734fc692d5
  Author: Youenn Fablet <[email protected]>
  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


_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to