Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(77)

Unified Diff: third_party/WebKit/Source/web/ServiceWorkerGlobalScopeProxy.cpp

Issue 2620463002: Show service worker navigation preload requests in DevTools Network tab (Closed)
Patch Set: reuse existing instrumentation for network Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/web/ServiceWorkerGlobalScopeProxy.cpp
diff --git a/third_party/WebKit/Source/web/ServiceWorkerGlobalScopeProxy.cpp b/third_party/WebKit/Source/web/ServiceWorkerGlobalScopeProxy.cpp
index 0189baf843216e5c561f40f207c0cc740a7debcc..80537013114340e2ccdeec304733cbbf67994aa4 100644
--- a/third_party/WebKit/Source/web/ServiceWorkerGlobalScopeProxy.cpp
+++ b/third_party/WebKit/Source/web/ServiceWorkerGlobalScopeProxy.cpp
@@ -30,6 +30,7 @@
#include "web/ServiceWorkerGlobalScopeProxy.h"
+#include "base/time/time.h"
#include "bindings/core/v8/SourceLocation.h"
#include "bindings/core/v8/WorkerOrWorkletScriptController.h"
#include "core/dom/Document.h"
@@ -37,6 +38,7 @@
#include "core/dom/ExecutionContextTask.h"
#include "core/dom/MessagePort.h"
#include "core/inspector/ConsoleMessage.h"
+#include "core/inspector/InspectorInstrumentation.h"
#include "core/origin_trials/OriginTrials.h"
#include "core/workers/ParentFrameTaskRunners.h"
#include "core/workers/WorkerGlobalScope.h"
@@ -61,6 +63,7 @@
#include "modules/serviceworkers/ServiceWorkerWindowClient.h"
#include "modules/serviceworkers/WaitUntilObserver.h"
#include "platform/RuntimeEnabledFeatures.h"
+#include "platform/network/ResourceError.h"
#include "public/platform/modules/notifications/WebNotificationData.h"
#include "public/platform/modules/serviceworker/WebServiceWorkerEventResult.h"
#include "public/platform/modules/serviceworker/WebServiceWorkerRequest.h"
@@ -197,10 +200,27 @@ void ServiceWorkerGlobalScopeProxy::dispatchFetchEvent(
waitUntilObserver->didDispatchEvent(false /* errorOccurred */);
}
+void ServiceWorkerGlobalScopeProxy::onNavigationPreloadSent(
+ int fetchEventID,
+ const WebURL& url,
+ base::TimeTicks sentTimestamp,
+ base::Time sentWallTime) {
+ FetchInitiatorInfo info;
+ ResourceRequest request(url);
+ InspectorInstrumentation::willSendRequest(
+ workerGlobalScope(), fetchEventID, nullptr, request, ResourceResponse(),
+ info, sentTimestamp.ToInternalValue() /
+ static_cast<double>(base::Time::kMicrosecondsPerSecond),
+ sentWallTime.ToDoubleT());
+}
+
void ServiceWorkerGlobalScopeProxy::onNavigationPreloadResponse(
int fetchEventID,
std::unique_ptr<WebURLResponse> response,
std::unique_ptr<WebDataConsumerHandle> dataConsumeHandle) {
+ InspectorInstrumentation::didReceiveResourceResponse(
+ workerGlobalScope(), fetchEventID, nullptr,
+ response->toResourceResponse(), nullptr);
FetchEvent* fetchEvent = m_pendingPreloadFetchEvents.take(fetchEventID);
DCHECK(fetchEvent);
fetchEvent->onNavigationPreloadResponse(
@@ -211,6 +231,10 @@ void ServiceWorkerGlobalScopeProxy::onNavigationPreloadResponse(
void ServiceWorkerGlobalScopeProxy::onNavigationPreloadError(
int fetchEventID,
std::unique_ptr<WebServiceWorkerError> error) {
+ InspectorInstrumentation::didFailLoading(
+ workerGlobalScope(), fetchEventID,
+ ResourceError(errorDomainBlinkInternal, 0, "", error->message));
+
FetchEvent* fetchEvent = m_pendingPreloadFetchEvents.take(fetchEventID);
// This method may be called after onNavigationPreloadResponse() was called.
if (!fetchEvent)
@@ -220,6 +244,14 @@ void ServiceWorkerGlobalScopeProxy::onNavigationPreloadError(
std::move(error));
}
+void ServiceWorkerGlobalScopeProxy::onNavigationPreloadCompleted(
+ int fetchEventID,
+ int64_t encodedDataLength) {
+ InspectorInstrumentation::didFinishLoading(workerGlobalScope(), fetchEventID,
+ monotonicallyIncreasingTime(),
+ encodedDataLength);
+}
+
void ServiceWorkerGlobalScopeProxy::dispatchForeignFetchEvent(
int fetchEventID,
const WebServiceWorkerRequest& webRequest) {

Powered by Google App Engine
This is Rietveld 408576698