Source/WebKit/ChangeLog

 12021-04-14 Carlos Garcia Campos <cgarcia@igalia.com>
 2
 3 [SOUP] Stop using ResourceResponse::setDeprecatedNetworkLoadMetrics
 4 https://bugs.webkit.org/show_bug.cgi?id=224541
 5
 6 Reviewed by NOBODY (OOPS!).
 7
 8 We are already providing the metrics via didCompleteWithError(). Also make sure we set fetchStart and use it
 9 instead of a member.
 10
 11 * NetworkProcess/soup/NetworkDataTaskSoup.cpp:
 12 (WebKit::NetworkDataTaskSoup::NetworkDataTaskSoup):
 13 (WebKit::NetworkDataTaskSoup::didSendRequest):
 14 (WebKit::NetworkDataTaskSoup::dispatchDidReceiveResponse):
 15 (WebKit::NetworkDataTaskSoup::dispatchDidCompleteWithError):
 16 (WebKit::NetworkDataTaskSoup::continueHTTPRedirection):
 17 (WebKit::NetworkDataTaskSoup::networkEvent):
 18 (WebKit::NetworkDataTaskSoup::didStartRequest):
 19 (WebKit::NetworkDataTaskSoup::didRestart):
 20 * NetworkProcess/soup/NetworkDataTaskSoup.h:
 21
1222021-04-12 Adrian Perez de Castro <aperez@igalia.com>
223
324 [WPE][GTK] Use g_object_notify_by_pspec() whenever possible

Source/WebKit/NetworkProcess/soup/NetworkDataTaskSoup.cpp

@@NetworkDataTaskSoup::NetworkDataTaskSoup(NetworkSession& session, NetworkDataTas
6464
6565 auto request = requestWithCredentials;
6666 if (request.url().protocolIsInHTTPFamily()) {
67  m_startTime = MonotonicTime::now();
 67 m_networkLoadMetrics.fetchStart = MonotonicTime::now().secondsSinceEpoch();
6868 auto url = request.url();
6969 if (m_storedCredentialsPolicy == StoredCredentialsPolicy::Use) {
7070 m_user = url.user();

@@void NetworkDataTaskSoup::didSendRequest(GRefPtr<GInputStream>&& inputStream)
403403 else
404404 m_inputStream = WTFMove(inputStream);
405405
406  m_networkLoadMetrics.responseStart = MonotonicTime::now() - m_startTime;
 406 m_networkLoadMetrics.responseStart = MonotonicTime::now().secondsSinceEpoch() - m_networkLoadMetrics.fetchStart;
407407 dispatchDidReceiveResponse();
408408}
409409

@@void NetworkDataTaskSoup::dispatchDidReceiveResponse()
420420 timing->connectEnd = m_networkLoadMetrics.connectEnd;
421421 timing->requestStart = m_networkLoadMetrics.requestStart;
422422 timing->responseStart = m_networkLoadMetrics.responseStart;
423  // FIXME: Remove this once nobody depends on deprecatedNetworkLoadMetrics.
424  m_response.setDeprecatedNetworkLoadMetrics(WTFMove(timing));
425423
426424 didReceiveResponse(ResourceResponse(m_response), NegotiatedLegacyTLS::No, [this, protectedThis = makeRef(*this)](PolicyAction policyAction) {
427425 if (m_state == State::Canceling || m_state == State::Completed) {

@@void NetworkDataTaskSoup::dispatchDidReceiveResponse()
454452
455453void NetworkDataTaskSoup::dispatchDidCompleteWithError(const ResourceError& error)
456454{
457  m_networkLoadMetrics.responseEnd = MonotonicTime::now() - m_startTime;
 455 m_networkLoadMetrics.responseEnd = MonotonicTime::now().secondsSinceEpoch() - m_networkLoadMetrics.fetchStart;
458456 m_networkLoadMetrics.markComplete();
459457
460458 m_client->didCompleteWithError(error, m_networkLoadMetrics);

@@void NetworkDataTaskSoup::continueHTTPRedirection()
823821 auto request = newRequest;
824822 if (request.url().protocolIsInHTTPFamily()) {
825823 if (isCrossOrigin) {
826  m_startTime = MonotonicTime::now();
827824 m_networkLoadMetrics = { };
 825 m_networkLoadMetrics.fetchStart = MonotonicTime::now().secondsSinceEpoch();
828826 }
829827
830828 applyAuthenticationToRequest(request);

@@void NetworkDataTaskSoup::networkEventCallback(SoupMessage* soupMessage, GSocket
11861184
11871185void NetworkDataTaskSoup::networkEvent(GSocketClientEvent event, GIOStream* stream)
11881186{
1189  Seconds deltaTime = MonotonicTime::now() - m_startTime;
 1187 Seconds deltaTime = MonotonicTime::now().secondsSinceEpoch() - m_networkLoadMetrics.fetchStart;
11901188 switch (event) {
11911189 case G_SOCKET_CLIENT_RESOLVING:
11921190 m_networkLoadMetrics.domainLookupStart = deltaTime;

@@void NetworkDataTaskSoup::hstsEnforced(SoupMessage* soupMessage, NetworkDataTask
12771275
12781276void NetworkDataTaskSoup::didStartRequest()
12791277{
1280  m_networkLoadMetrics.requestStart = MonotonicTime::now() - m_startTime;
 1278 m_networkLoadMetrics.requestStart = MonotonicTime::now().secondsSinceEpoch() - m_networkLoadMetrics.fetchStart;
12811279}
12821280
12831281void NetworkDataTaskSoup::restartedCallback(SoupMessage* soupMessage, NetworkDataTaskSoup* task)

@@void NetworkDataTaskSoup::restartedCallback(SoupMessage* soupMessage, NetworkDat
12931291
12941292void NetworkDataTaskSoup::didRestart()
12951293{
1296  m_startTime = MonotonicTime::now();
12971294 m_networkLoadMetrics = { };
 1295 m_networkLoadMetrics.fetchStart = MonotonicTime::now().secondsSinceEpoch();
12981296#if !USE(SOUP2)
12991297 m_currentRequest.updateSoupMessageBody(m_soupMessage.get(), m_session->blobRegistry());
13001298#endif

Source/WebKit/NetworkProcess/soup/NetworkDataTaskSoup.h

@@private:
185185 GRefPtr<GOutputStream> m_downloadOutputStream;
186186 bool m_allowOverwriteDownload { false };
187187 WebCore::NetworkLoadMetrics m_networkLoadMetrics;
188  MonotonicTime m_startTime;
189188 bool m_isBlockingCookies { false };
190189 RunLoop::Timer<NetworkDataTaskSoup> m_timeoutSource;
191190};