Title: [231163] trunk/Source/WebKit
Revision
231163
Author
[email protected]
Date
2018-04-30 12:31:50 -0700 (Mon, 30 Apr 2018)

Log Message

Include breadcrumb for tracking resource loading into CFNetwork
https://bugs.webkit.org/show_bug.cgi?id=184837
rdar://problem/39575411

Reviewed by Brent Fulgham.

When starting the network-based loading of a resource, log the
description provided by NetworkDataTask. On Cocoa, this is implemented
to return the description property in NSURLSessionTask. This
information better allows us to track a resource load through the
WebContent process, the Networking process, and the Cocoa networking
layers.

* NetworkProcess/NetworkDataTask.cpp:
(WebKit::NetworkDataTask::description const):
* NetworkProcess/NetworkDataTask.h:
* NetworkProcess/NetworkLoad.cpp:
(WebKit::NetworkLoad::description const):
* NetworkProcess/NetworkLoad.h:
* NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::startNetworkLoad):
* NetworkProcess/cocoa/NetworkDataTaskCocoa.h:
* NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:
(WebKit::NetworkDataTaskCocoa::description const):

Modified Paths

Diff

Modified: trunk/Source/WebKit/ChangeLog (231162 => 231163)


--- trunk/Source/WebKit/ChangeLog	2018-04-30 19:14:18 UTC (rev 231162)
+++ trunk/Source/WebKit/ChangeLog	2018-04-30 19:31:50 UTC (rev 231163)
@@ -1,3 +1,30 @@
+2018-04-30  Keith Rollin  <[email protected]>
+
+        Include breadcrumb for tracking resource loading into CFNetwork
+        https://bugs.webkit.org/show_bug.cgi?id=184837
+        rdar://problem/39575411
+
+        Reviewed by Brent Fulgham.
+
+        When starting the network-based loading of a resource, log the
+        description provided by NetworkDataTask. On Cocoa, this is implemented
+        to return the description property in NSURLSessionTask. This
+        information better allows us to track a resource load through the
+        WebContent process, the Networking process, and the Cocoa networking
+        layers.
+
+        * NetworkProcess/NetworkDataTask.cpp:
+        (WebKit::NetworkDataTask::description const):
+        * NetworkProcess/NetworkDataTask.h:
+        * NetworkProcess/NetworkLoad.cpp:
+        (WebKit::NetworkLoad::description const):
+        * NetworkProcess/NetworkLoad.h:
+        * NetworkProcess/NetworkResourceLoader.cpp:
+        (WebKit::NetworkResourceLoader::startNetworkLoad):
+        * NetworkProcess/cocoa/NetworkDataTaskCocoa.h:
+        * NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:
+        (WebKit::NetworkDataTaskCocoa::description const):
+
 2018-04-30  Andy Estes  <[email protected]>
 
         [iOS] Try to unlock PDF documents before printing them

Modified: trunk/Source/WebKit/NetworkProcess/NetworkDataTask.cpp (231162 => 231163)


--- trunk/Source/WebKit/NetworkProcess/NetworkDataTask.cpp	2018-04-30 19:14:18 UTC (rev 231162)
+++ trunk/Source/WebKit/NetworkProcess/NetworkDataTask.cpp	2018-04-30 19:31:50 UTC (rev 231163)
@@ -144,4 +144,9 @@
     ASSERT_NOT_REACHED();
 }
 
+String NetworkDataTask::description() const
+{
+    return emptyString();
+}
+
 } // namespace WebKit

Modified: trunk/Source/WebKit/NetworkProcess/NetworkDataTask.h (231162 => 231163)


--- trunk/Source/WebKit/NetworkProcess/NetworkDataTask.h	2018-04-30 19:14:18 UTC (rev 231162)
+++ trunk/Source/WebKit/NetworkProcess/NetworkDataTask.h	2018-04-30 19:31:50 UTC (rev 231163)
@@ -128,6 +128,8 @@
 
     bool isTopLevelNavigation() const { return m_dataTaskIsForMainFrameNavigation; }
 
+    virtual String description() const;
+
 protected:
     NetworkDataTask(NetworkSession&, NetworkDataTaskClient&, const WebCore::ResourceRequest&, WebCore::StoredCredentialsPolicy, bool shouldClearReferrerOnHTTPSToHTTPRedirect, bool dataTaskIsForMainFrameNavigation);
 

Modified: trunk/Source/WebKit/NetworkProcess/NetworkLoad.cpp (231162 => 231163)


--- trunk/Source/WebKit/NetworkProcess/NetworkLoad.cpp	2018-04-30 19:14:18 UTC (rev 231162)
+++ trunk/Source/WebKit/NetworkProcess/NetworkLoad.cpp	2018-04-30 19:31:50 UTC (rev 231163)
@@ -396,4 +396,12 @@
     m_client.get().didFailLoading(cannotShowURLError(m_currentRequest));
 }
 
+
+String NetworkLoad::description() const
+{
+    if (m_task.get())
+        return m_task->description();
+    return emptyString();
+}
+
 } // namespace WebKit

Modified: trunk/Source/WebKit/NetworkProcess/NetworkLoad.h (231162 => 231163)


--- trunk/Source/WebKit/NetworkProcess/NetworkLoad.h	2018-04-30 19:14:18 UTC (rev 231162)
+++ trunk/Source/WebKit/NetworkProcess/NetworkLoad.h	2018-04-30 19:31:50 UTC (rev 231163)
@@ -32,6 +32,7 @@
 #include <WebCore/AuthenticationChallenge.h>
 #include <wtf/CompletionHandler.h>
 #include <wtf/Optional.h>
+#include <wtf/text/WTFString.h>
 
 #if ENABLE(NETWORK_CAPTURE)
 #include "NetworkCaptureRecorder.h"
@@ -72,6 +73,8 @@
     void continueCanAuthenticateAgainstProtectionSpace(bool);
 #endif
 
+    String description() const;
+
 private:
 #if ENABLE(NETWORK_CAPTURE)
     void initializeForRecord(NetworkSession&);

Modified: trunk/Source/WebKit/NetworkProcess/NetworkResourceLoader.cpp (231162 => 231163)


--- trunk/Source/WebKit/NetworkProcess/NetworkResourceLoader.cpp	2018-04-30 19:14:18 UTC (rev 231162)
+++ trunk/Source/WebKit/NetworkProcess/NetworkResourceLoader.cpp	2018-04-30 19:31:50 UTC (rev 231163)
@@ -276,6 +276,8 @@
     parameters.request = WTFMove(request);
     m_networkLoad = std::make_unique<NetworkLoad>(*this, WTFMove(parameters), *networkSession);
 
+    RELEASE_LOG_IF_ALLOWED("startNetworkLoad: (pageID = %" PRIu64 ", frameID = %" PRIu64 ", resourceID = %" PRIu64 ", description = %{public}s)", m_parameters.webPageID, m_parameters.webFrameID, m_parameters.identifier, m_networkLoad->description().utf8().data());
+
     if (m_defersLoading) {
         RELEASE_LOG_IF_ALLOWED("startNetworkLoad: Created, but deferred (pageID = %" PRIu64 ", frameID = %" PRIu64 ", resourceID = %" PRIu64 ")",
             m_parameters.webPageID, m_parameters.webFrameID, m_parameters.identifier);

Modified: trunk/Source/WebKit/NetworkProcess/cocoa/NetworkDataTaskCocoa.h (231162 => 231163)


--- trunk/Source/WebKit/NetworkProcess/cocoa/NetworkDataTaskCocoa.h	2018-04-30 19:14:18 UTC (rev 231162)
+++ trunk/Source/WebKit/NetworkProcess/cocoa/NetworkDataTaskCocoa.h	2018-04-30 19:31:50 UTC (rev 231163)
@@ -80,6 +80,8 @@
     }
 #endif
 
+    String description() const override;
+
 private:
     NetworkDataTaskCocoa(NetworkSession&, NetworkDataTaskClient&, const WebCore::ResourceRequest&, uint64_t frameID, uint64_t pageID, WebCore::StoredCredentialsPolicy, WebCore::ContentSniffingPolicy, WebCore::ContentEncodingSniffingPolicy, bool shouldClearReferrerOnHTTPSToHTTPRedirect, PreconnectOnly, bool dataTaskIsForMainFrameNavigation);
 

Modified: trunk/Source/WebKit/NetworkProcess/cocoa/NetworkDataTaskCocoa.mm (231162 => 231163)


--- trunk/Source/WebKit/NetworkProcess/cocoa/NetworkDataTaskCocoa.mm	2018-04-30 19:14:18 UTC (rev 231162)
+++ trunk/Source/WebKit/NetworkProcess/cocoa/NetworkDataTaskCocoa.mm	2018-04-30 19:31:50 UTC (rev 231163)
@@ -523,4 +523,9 @@
     return m_session->sessionID().isAlwaysOnLoggingAllowed();
 }
 
+String NetworkDataTaskCocoa::description() const
+{
+    return String([m_task description]);
 }
+
+}
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to