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

Side by Side Diff: content/browser/service_worker/service_worker_fetch_dispatcher.cc

Issue 2218943002: Introduce ServiceWorker.EventDispatchingDelay UMA (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: incorporated mpearson@'s comment Created 4 years, 3 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 unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "content/browser/service_worker/service_worker_fetch_dispatcher.h" 5 #include "content/browser/service_worker/service_worker_fetch_dispatcher.h"
6 6
7 #include <string> 7 #include <string>
8 #include <utility> 8 #include <utility>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
11 #include "base/time/time.h"
11 #include "base/trace_event/trace_event.h" 12 #include "base/trace_event/trace_event.h"
12 #include "content/browser/service_worker/embedded_worker_status.h" 13 #include "content/browser/service_worker/embedded_worker_status.h"
13 #include "content/browser/service_worker/service_worker_version.h" 14 #include "content/browser/service_worker/service_worker_version.h"
14 #include "content/common/service_worker/service_worker_messages.h" 15 #include "content/common/service_worker/service_worker_messages.h"
15 #include "content/common/service_worker/service_worker_utils.h" 16 #include "content/common/service_worker/service_worker_utils.h"
16 17
17 namespace content { 18 namespace content {
18 19
19 namespace { 20 namespace {
20 21
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
74 // Helper to receive the fetch event response even if 75 // Helper to receive the fetch event response even if
75 // ServiceWorkerFetchDispatcher has been destroyed. 76 // ServiceWorkerFetchDispatcher has been destroyed.
76 class ServiceWorkerFetchDispatcher::ResponseCallback { 77 class ServiceWorkerFetchDispatcher::ResponseCallback {
77 public: 78 public:
78 ResponseCallback(base::WeakPtr<ServiceWorkerFetchDispatcher> fetch_dispatcher, 79 ResponseCallback(base::WeakPtr<ServiceWorkerFetchDispatcher> fetch_dispatcher,
79 ServiceWorkerVersion* version) 80 ServiceWorkerVersion* version)
80 : fetch_dispatcher_(fetch_dispatcher), version_(version) {} 81 : fetch_dispatcher_(fetch_dispatcher), version_(version) {}
81 82
82 void Run(int request_id, 83 void Run(int request_id,
83 ServiceWorkerFetchEventResult fetch_result, 84 ServiceWorkerFetchEventResult fetch_result,
84 const ServiceWorkerResponse& response) { 85 const ServiceWorkerResponse& response,
86 base::Time dispatch_event_time) {
85 const bool handled = 87 const bool handled =
86 (fetch_result == SERVICE_WORKER_FETCH_EVENT_RESULT_RESPONSE); 88 (fetch_result == SERVICE_WORKER_FETCH_EVENT_RESULT_RESPONSE);
87 if (!version_->FinishRequest(request_id, handled)) 89 if (!version_->FinishRequest(request_id, handled, dispatch_event_time))
88 NOTREACHED() << "Should only receive one reply per event"; 90 NOTREACHED() << "Should only receive one reply per event";
89 91
90 // |fetch_dispatcher| is null if the URLRequest was killed. 92 // |fetch_dispatcher| is null if the URLRequest was killed.
91 if (fetch_dispatcher_) 93 if (fetch_dispatcher_)
92 fetch_dispatcher_->DidFinish(request_id, fetch_result, response); 94 fetch_dispatcher_->DidFinish(request_id, fetch_result, response);
93 } 95 }
94 96
95 private: 97 private:
96 base::WeakPtr<ServiceWorkerFetchDispatcher> fetch_dispatcher_; 98 base::WeakPtr<ServiceWorkerFetchDispatcher> fetch_dispatcher_;
97 // Owns |this|. 99 // Owns |this|.
(...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after
248 } 250 }
249 251
250 ServiceWorkerMetrics::EventType ServiceWorkerFetchDispatcher::GetEventType() 252 ServiceWorkerMetrics::EventType ServiceWorkerFetchDispatcher::GetEventType()
251 const { 253 const {
252 if (request_->fetch_type == ServiceWorkerFetchType::FOREIGN_FETCH) 254 if (request_->fetch_type == ServiceWorkerFetchType::FOREIGN_FETCH)
253 return ServiceWorkerMetrics::EventType::FOREIGN_FETCH; 255 return ServiceWorkerMetrics::EventType::FOREIGN_FETCH;
254 return ResourceTypeToEventType(resource_type_); 256 return ResourceTypeToEventType(resource_type_);
255 } 257 }
256 258
257 } // namespace content 259 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698