[webkit-changes] [WebKit/WebKit] 7ab6aa: [Curl] Reduce unnecessary SharedBuffer creation by...
Kenji Shukuwa
noreply at github.com
Tue Oct 3 13:18:11 PDT 2023
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 7ab6aab9c1b7e6f09edf3d7ceed204070132a7ce
https://github.com/WebKit/WebKit/commit/7ab6aab9c1b7e6f09edf3d7ceed204070132a7ce
Author: Kenji Shukuwa <kenji.shukuwa at open-tec.co.jp>
Date: 2023-10-03 (Tue, 03 Oct 2023)
Changed paths:
M Source/WebCore/platform/network/curl/CurlMultipartHandle.cpp
M Source/WebCore/platform/network/curl/CurlMultipartHandle.h
M Source/WebCore/platform/network/curl/CurlMultipartHandleClient.h
M Source/WebCore/platform/network/curl/CurlRequest.cpp
M Source/WebCore/platform/network/curl/CurlRequest.h
M Source/WebCore/platform/network/curl/CurlRequestClient.h
M Source/WebKit/NetworkProcess/curl/NetworkDataTaskCurl.cpp
M Source/WebKit/NetworkProcess/curl/NetworkDataTaskCurl.h
M Tools/TestWebKitAPI/Tests/WebCore/curl/CurlMultipartHandleTests.cpp
Log Message:
-----------
[Curl] Reduce unnecessary SharedBuffer creation by making CurlMultipartHandle::didReceiveMessage take std::span<uint8_t>
https://bugs.webkit.org/show_bug.cgi?id=262472
Reviewed by Fujii Hironori.
Currently, a SharedBuffer is generated in CurlRequest::didReceiveDataCallback
when receiving data from libcurl. However, if CurlRequest::didReceiveData
performs CURL_WRITEFUNC_PAUSE processing, this SharedBuffer will be
discarded without being used.
Also, CurlMultipartHandle::didReceiveMessage performs a SharedBuffer to
Vector conversion. This is a wasteful data conversion.
For this reason, avoid converting to SharedBuffer at the time of
CurlRequest::didReceiveDataCallback.
* Source/WebCore/platform/network/curl/CurlMultipartHandle.cpp:
(WebCore::CurlMultipartHandle::didReceiveMessage):
(WebCore::CurlMultipartHandle::processContent):
* Source/WebCore/platform/network/curl/CurlMultipartHandle.h:
* Source/WebCore/platform/network/curl/CurlMultipartHandleClient.h:
* Source/WebCore/platform/network/curl/CurlRequest.cpp:
(WebCore::CurlRequest::didReceiveData):
(WebCore::CurlRequest::didReceiveDataFromMultipart):
(WebCore::CurlRequest::didReceiveDataCallback):
* Source/WebCore/platform/network/curl/CurlRequest.h:
* Source/WebCore/platform/network/curl/CurlRequestClient.h:
* Source/WebKit/NetworkProcess/curl/NetworkDataTaskCurl.cpp:
(WebKit::NetworkDataTaskCurl::curlDidReceiveData):
* Source/WebKit/NetworkProcess/curl/NetworkDataTaskCurl.h:
* Tools/TestWebKitAPI/Tests/WebCore/curl/CurlMultipartHandleTests.cpp:
(TestWebKitAPI::Curl::toSpan):
(TestWebKitAPI::Curl::TEST):
Canonical link: https://commits.webkit.org/268801@main
More information about the webkit-changes
mailing list