- 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]);
}
+
+}