Diff
Modified: trunk/Source/WebCore/ChangeLog (278522 => 278523)
--- trunk/Source/WebCore/ChangeLog 2021-06-05 05:35:21 UTC (rev 278522)
+++ trunk/Source/WebCore/ChangeLog 2021-06-05 05:45:56 UTC (rev 278523)
@@ -1,5 +1,22 @@
2021-06-04 Chris Dumez <cdu...@apple.com>
+ Optimize a few call sites creating SharedBuffer objects
+ https://bugs.webkit.org/show_bug.cgi?id=226674
+
+ Reviewed by Darin Adler.
+
+ * Modules/mediastream/RTCRtpSFrameTransform.cpp:
+ (WebCore::transformFrame):
+ * inspector/agents/InspectorNetworkAgent.cpp:
+ (WebCore::InspectorNetworkAgent::interceptWithResponse):
+ (WebCore::InspectorNetworkAgent::interceptRequestWithResponse):
+ * platform/graphics/avfoundation/CDMFairPlayStreaming.cpp:
+ (WebCore::CDMPrivateFairPlayStreaming::extractKeyIDsSinf):
+ * workers/service/context/ServiceWorkerFetch.cpp:
+ (WebCore::ServiceWorkerFetch::processResponse):
+
+2021-06-04 Chris Dumez <cdu...@apple.com>
+
Reduce use of legacy MainThreadTaskQueue in media code
https://bugs.webkit.org/show_bug.cgi?id=226672
Modified: trunk/Source/WebCore/Modules/mediastream/RTCRtpSFrameTransform.cpp (278522 => 278523)
--- trunk/Source/WebCore/Modules/mediastream/RTCRtpSFrameTransform.cpp 2021-06-05 05:35:21 UTC (rev 278522)
+++ trunk/Source/WebCore/Modules/mediastream/RTCRtpSFrameTransform.cpp 2021-06-05 05:45:56 UTC (rev 278523)
@@ -159,7 +159,7 @@
auto result = transformer.transform(data, size);
RELEASE_LOG_ERROR_IF(result.hasException(), WebRTC, "RTCRtpSFrameTransform failed transforming a frame");
- auto buffer = result.hasException() ? SharedBuffer::create() : SharedBuffer::create(result.returnValue().data(), result.returnValue().size());
+ auto buffer = result.hasException() ? SharedBuffer::create() : SharedBuffer::create(result.releaseReturnValue());
source.enqueue(toJS(&globalObject, &globalObject, buffer->tryCreateArrayBuffer().get()));
}
Modified: trunk/Source/WebCore/inspector/agents/InspectorNetworkAgent.cpp (278522 => 278523)
--- trunk/Source/WebCore/inspector/agents/InspectorNetworkAgent.cpp 2021-06-05 05:35:21 UTC (rev 278522)
+++ trunk/Source/WebCore/inspector/agents/InspectorNetworkAgent.cpp 2021-06-05 05:45:56 UTC (rev 278523)
@@ -1245,8 +1245,10 @@
return makeUnexpected("Unable to decode given content"_s);
overrideData = SharedBuffer::create(WTFMove(*buffer));
- } else
- overrideData = SharedBuffer::create(content.utf8().data(), content.utf8().length());
+ } else {
+ auto utf8Content = content.utf8();
+ overrideData = SharedBuffer::create(utf8Content.data(), utf8Content.length());
+ }
pendingInterceptResponse->respond(overrideResponse, overrideData);
@@ -1271,8 +1273,10 @@
return makeUnexpected("Unable to decode given content"_s);
data = ""
- } else
- data = "" content.utf8().length());
+ } else {
+ auto utf8Content = content.utf8();
+ data = "" utf8Content.length());
+ }
// Mimic data URL load behavior - report didReceiveResponse & didFinishLoading.
ResourceResponse response(pendingRequest->m_loader->url(), mimeType, data->size(), String());
Modified: trunk/Source/WebCore/platform/graphics/avfoundation/CDMFairPlayStreaming.cpp (278522 => 278523)
--- trunk/Source/WebCore/platform/graphics/avfoundation/CDMFairPlayStreaming.cpp 2021-06-05 05:35:21 UTC (rev 278522)
+++ trunk/Source/WebCore/platform/graphics/avfoundation/CDMFairPlayStreaming.cpp 2021-06-05 05:45:56 UTC (rev 278523)
@@ -177,7 +177,7 @@
for (auto& result : results) {
if (validFairPlayStreamingSchemes().contains(result.first))
- keyIDs.append(SharedBuffer::create(result.second.data(), result.second.size()));
+ keyIDs.append(SharedBuffer::create(WTFMove(result.second)));
}
return keyIDs;
Modified: trunk/Source/WebCore/workers/service/context/ServiceWorkerFetch.cpp (278522 => 278523)
--- trunk/Source/WebCore/workers/service/context/ServiceWorkerFetch.cpp 2021-06-05 05:35:21 UTC (rev 278522)
+++ trunk/Source/WebCore/workers/service/context/ServiceWorkerFetch.cpp 2021-06-05 05:45:56 UTC (rev 278523)
@@ -121,7 +121,7 @@
}
if (auto chunk = result.returnValue())
- client->didReceiveData(SharedBuffer::create(reinterpret_cast<const char*>(chunk->data), chunk->size));
+ client->didReceiveData(SharedBuffer::create(chunk->data, chunk->size));
else
client->didFinish();
});
Modified: trunk/Source/WebKit/ChangeLog (278522 => 278523)
--- trunk/Source/WebKit/ChangeLog 2021-06-05 05:35:21 UTC (rev 278522)
+++ trunk/Source/WebKit/ChangeLog 2021-06-05 05:45:56 UTC (rev 278523)
@@ -1,5 +1,18 @@
2021-06-04 Chris Dumez <cdu...@apple.com>
+ Optimize a few call sites creating SharedBuffer objects
+ https://bugs.webkit.org/show_bug.cgi?id=226674
+
+ Reviewed by Darin Adler.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::loadDataInFrame):
+ (WebKit::WebPage::loadData):
+ (WebKit::WebPage::loadAlternateHTML):
+ (WebKit::WebPage::loadSimulatedRequestAndResponse):
+
+2021-06-04 Chris Dumez <cdu...@apple.com>
+
FileSystem::readFromFile() should return data as `void*`
https://bugs.webkit.org/show_bug.cgi?id=226671
Modified: trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp (278522 => 278523)
--- trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp 2021-06-05 05:35:21 UTC (rev 278522)
+++ trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp 2021-06-05 05:45:56 UTC (rev 278523)
@@ -1648,7 +1648,7 @@
return;
ASSERT(&mainWebFrame() != frame);
- auto sharedBuffer = SharedBuffer::create(reinterpret_cast<const char*>(data.data()), data.size());
+ auto sharedBuffer = SharedBuffer::create(data.data(), data.size());
ResourceResponse response(baseURL, MIMEType, sharedBuffer->size(), encodingName);
SubstituteData substituteData(WTFMove(sharedBuffer), baseURL, WTFMove(response), SubstituteData::SessionHistoryVisibility::Hidden);
frame->coreFrame()->loader().load(FrameLoadRequest(*frame->coreFrame(), ResourceRequest(baseURL), WTFMove(substituteData)));
@@ -1733,7 +1733,7 @@
{
platformDidReceiveLoadParameters(loadParameters);
- auto sharedBuffer = SharedBuffer::create(reinterpret_cast<const char*>(loadParameters.data.data()), loadParameters.data.size());
+ auto sharedBuffer = SharedBuffer::create(loadParameters.data.data(), loadParameters.data.size());
URL baseURL = loadParameters.baseURLString.isEmpty() ? aboutBlankURL() : URL(URL(), loadParameters.baseURLString);
loadDataImpl(loadParameters.navigationID, loadParameters.shouldTreatAsContinuingLoad, WTFMove(loadParameters.websitePolicies), WTFMove(sharedBuffer), loadParameters.MIMEType, loadParameters.encodingName, baseURL, URL(), loadParameters.userData, loadParameters.isNavigatingToAppBoundDomain, loadParameters.shouldOpenExternalURLsPolicy);
}
@@ -1745,7 +1745,7 @@
URL baseURL = loadParameters.baseURLString.isEmpty() ? aboutBlankURL() : URL(URL(), loadParameters.baseURLString);
URL unreachableURL = loadParameters.unreachableURLString.isEmpty() ? URL() : URL(URL(), loadParameters.unreachableURLString);
URL provisionalLoadErrorURL = loadParameters.provisionalLoadErrorURLString.isEmpty() ? URL() : URL(URL(), loadParameters.provisionalLoadErrorURLString);
- auto sharedBuffer = SharedBuffer::create(reinterpret_cast<const char*>(loadParameters.data.data()), loadParameters.data.size());
+ auto sharedBuffer = SharedBuffer::create(loadParameters.data.data(), loadParameters.data.size());
m_mainFrame->coreFrame()->loader().setProvisionalLoadErrorBeingHandledURL(provisionalLoadErrorURL);
loadDataImpl(loadParameters.navigationID, loadParameters.shouldTreatAsContinuingLoad, WTFMove(loadParameters.websitePolicies), WTFMove(sharedBuffer), loadParameters.MIMEType, loadParameters.encodingName, baseURL, unreachableURL, loadParameters.userData, loadParameters.isNavigatingToAppBoundDomain);
m_mainFrame->coreFrame()->loader().setProvisionalLoadErrorBeingHandledURL({ });
@@ -1760,7 +1760,7 @@
platformDidReceiveLoadParameters(loadParameters);
- auto sharedBuffer = SharedBuffer::create(reinterpret_cast<const char*>(loadParameters.data.data()), loadParameters.data.size());
+ auto sharedBuffer = SharedBuffer::create(loadParameters.data.data(), loadParameters.data.size());
#if ENABLE(APP_BOUND_DOMAINS)
setIsNavigatingToAppBoundDomain(loadParameters.isNavigatingToAppBoundDomain, &m_mainFrame.get());