Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 70dd30c16360692ec8542536eb191927435640bd
      
https://github.com/WebKit/WebKit/commit/70dd30c16360692ec8542536eb191927435640bd
  Author: Youenn Fablet <[email protected]>
  Date:   2026-07-24 (Fri, 24 Jul 2026)

  Changed paths:
    M LayoutTests/TestExpectations
    A 
LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-upload.h2.any-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-upload.h2.any.js
    A 
LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-upload.h2.any.serviceworker-expected.txt
    A 
LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-upload.h2.any.sharedworker-expected.txt
    A 
LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-upload.h2.any.worker-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/fetch-event.https.h2-expected.txt
    M LayoutTests/platform/glib/TestExpectations
    M Source/WebCore/Modules/fetch/FetchBody.cpp
    M Source/WebCore/Modules/fetch/FetchBody.h
    M Source/WebCore/Modules/fetch/FetchResponse.cpp
    M Source/WebCore/Modules/fetch/FetchResponse.h
    M Source/WebCore/platform/network/FormData.cpp
    M Source/WebCore/platform/network/FormData.h
    M Source/WebCore/platform/network/PendingStreamState.cpp
    M Source/WebCore/platform/network/PendingStreamState.h
    M Source/WebKit/NetworkProcess/NetworkResourceLoader.cpp
    M Source/WebKit/NetworkProcess/NetworkResourceLoader.h
    M Source/WebKit/NetworkProcess/NetworkResourceLoader.messages.in
    M Source/WebKit/Scripts/webkit/opaque_ipc_types.tracking.in
    M Source/WebKit/WebProcess/Network/WebLoaderStrategy.cpp
    M Source/WebKit/WebProcess/Network/WebResourceLoader.cpp
    M Source/WebKit/WebProcess/Network/WebResourceLoader.h

  Log Message:
  -----------
  Add support for sending stream upload data from WebProcess to Network process
https://bugs.webkit.org/show_bug.cgi?id=320083#
rdar://problem/183002484

Reviewed by Alex Christensen.

At stream upload start, we assign the FormData a PendingStreamState object.
This PendingStreamState object will be given data from the request's 
ReadableStream via a ReadableStreamToSharedBufferSink.
This PendingStreamState object is converyed through the FormData up to 
WebResourceLoader.
WebResourceLoader will read the data from the PendingStreamState and send it 
through IPC to NetworkResourceLoader.

NetworkResourceLoader will then give that data to the PendingStreamState object 
which will give it to CFNetwork.

Covered by enabled tests.

* LayoutTests/TestExpectations:
* 
LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-upload.h2.any-expected.txt:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-upload.h2.any.js:
* 
LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-upload.h2.any.serviceworker-expected.txt:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-upload.h2.any.sharedworker-expected.txt:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-upload.h2.any.worker-expected.txt:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/fetch-event.https.h2-expected.txt:
* LayoutTests/platform/glib/TestExpectations:
* Source/WebCore/Modules/fetch/FetchBody.cpp:
(WebCore::FetchBody::bodyAsFormData const):
(WebCore::FetchBody::startPendingStreamUpload):
* Source/WebCore/Modules/fetch/FetchBody.h:
(WebCore::FetchBody::pendingStreamState const):
* Source/WebCore/Modules/fetch/FetchResponse.cpp:
(WebCore::FetchResponse::fetch):
* Source/WebCore/Modules/fetch/FetchResponse.h:
* Source/WebCore/platform/network/FormData.cpp:
(WebCore::FormData::create):
(WebCore::FormData::isolatedCopy const):
* Source/WebCore/platform/network/FormData.h:
* Source/WebCore/platform/network/PendingStreamState.cpp:
(WebCore::PendingStreamState::takeNextChunk):
* Source/WebCore/platform/network/PendingStreamState.h:
* Source/WebKit/NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::pendingStreamAppendData):
(WebKit::NetworkResourceLoader::pendingStreamEnd):
(WebKit::NetworkResourceLoader::pendingStreamError):
* Source/WebKit/NetworkProcess/NetworkResourceLoader.h:
* Source/WebKit/NetworkProcess/NetworkResourceLoader.messages.in:
* Source/WebKit/Scripts/webkit/opaque_ipc_types.tracking.in:
* Source/WebKit/WebProcess/Network/WebLoaderStrategy.cpp:
(WebKit::WebLoaderStrategy::scheduleLoadFromNetworkProcess):
* Source/WebKit/WebProcess/Network/WebResourceLoader.cpp:
(WebKit::WebResourceLoader::create):
(WebKit::WebResourceLoader::WebResourceLoader):
* Source/WebKit/WebProcess/Network/WebResourceLoader.h:
(WebKit::WebResourceLoader::create):

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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to