Title: [278523] trunk/Source
Revision
278523
Author
cdu...@apple.com
Date
2021-06-04 22:45:56 -0700 (Fri, 04 Jun 2021)

Log Message

Optimize a few call sites creating SharedBuffer objects
https://bugs.webkit.org/show_bug.cgi?id=226674

Reviewed by Darin Adler.

Source/WebCore:

* 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):

Source/WebKit:

* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::loadDataInFrame):
(WebKit::WebPage::loadData):
(WebKit::WebPage::loadAlternateHTML):
(WebKit::WebPage::loadSimulatedRequestAndResponse):

Modified Paths

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());
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to