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

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

Issue 2416863002: Use fetch_event_id (fetchEventID in blink) for FetchEvent (Closed)
Patch Set: Created 4 years, 2 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"
(...skipping 189 matching lines...) Expand 10 before | Expand all | Expand 10 after
200 200
201 void ServiceWorkerFetchDispatcher::DispatchFetchEvent() { 201 void ServiceWorkerFetchDispatcher::DispatchFetchEvent() {
202 DCHECK_EQ(EmbeddedWorkerStatus::RUNNING, version_->running_status()) 202 DCHECK_EQ(EmbeddedWorkerStatus::RUNNING, version_->running_status())
203 << "Worker stopped too soon after it was started."; 203 << "Worker stopped too soon after it was started.";
204 204
205 DCHECK(!prepare_callback_.is_null()); 205 DCHECK(!prepare_callback_.is_null());
206 base::Closure prepare_callback = prepare_callback_; 206 base::Closure prepare_callback = prepare_callback_;
207 prepare_callback.Run(); 207 prepare_callback.Run();
208 208
209 net_log_.BeginEvent(net::NetLogEventType::SERVICE_WORKER_FETCH_EVENT); 209 net_log_.BeginEvent(net::NetLogEventType::SERVICE_WORKER_FETCH_EVENT);
210 int response_id = version_->StartRequest( 210 int fetch_event_id = version_->StartRequest(
211 GetEventType(), 211 GetEventType(),
212 base::Bind(&ServiceWorkerFetchDispatcher::DidFailToDispatch, 212 base::Bind(&ServiceWorkerFetchDispatcher::DidFailToDispatch,
213 weak_factory_.GetWeakPtr())); 213 weak_factory_.GetWeakPtr()));
214 int event_finish_id = version_->StartRequest( 214 int event_finish_id = version_->StartRequest(
215 FetchTypeToWaitUntilEventType(request_->fetch_type), 215 FetchTypeToWaitUntilEventType(request_->fetch_type),
216 base::Bind(&ServiceWorkerUtils::NoOpStatusCallback)); 216 base::Bind(&ServiceWorkerUtils::NoOpStatusCallback));
217 217
218 ResponseCallback* response_callback = 218 ResponseCallback* response_callback =
219 new ResponseCallback(weak_factory_.GetWeakPtr(), version_.get()); 219 new ResponseCallback(weak_factory_.GetWeakPtr(), version_.get());
220 version_->RegisterRequestCallback<ServiceWorkerHostMsg_FetchEventResponse>( 220 version_->RegisterRequestCallback<ServiceWorkerHostMsg_FetchEventResponse>(
221 response_id, 221 fetch_event_id,
222 base::Bind(&ServiceWorkerFetchDispatcher::ResponseCallback::Run, 222 base::Bind(&ServiceWorkerFetchDispatcher::ResponseCallback::Run,
223 base::Owned(response_callback))); 223 base::Owned(response_callback)));
224 224
225 base::WeakPtr<mojom::FetchEventDispatcher> dispatcher = 225 base::WeakPtr<mojom::FetchEventDispatcher> dispatcher =
226 version_->GetMojoServiceForRequest<mojom::FetchEventDispatcher>( 226 version_->GetMojoServiceForRequest<mojom::FetchEventDispatcher>(
227 event_finish_id); 227 event_finish_id);
228 // |dispatcher| is owned by |version_|. So it is safe to pass the unretained 228 // |dispatcher| is owned by |version_|. So it is safe to pass the unretained
229 // raw pointer of |version_| to OnFetchEventFinished callback. 229 // raw pointer of |version_| to OnFetchEventFinished callback.
230 dispatcher->DispatchFetchEvent( 230 dispatcher->DispatchFetchEvent(
231 response_id, *request_, 231 fetch_event_id, *request_,
232 base::Bind(&OnFetchEventFinished, base::Unretained(version_.get()), 232 base::Bind(&OnFetchEventFinished, base::Unretained(version_.get()),
233 event_finish_id)); 233 event_finish_id));
234 } 234 }
235 235
236 void ServiceWorkerFetchDispatcher::DidFailToDispatch( 236 void ServiceWorkerFetchDispatcher::DidFailToDispatch(
237 ServiceWorkerStatusCode status) { 237 ServiceWorkerStatusCode status) {
238 EndNetLogEventWithServiceWorkerStatus( 238 EndNetLogEventWithServiceWorkerStatus(
239 net_log_, net::NetLogEventType::SERVICE_WORKER_FETCH_EVENT, status); 239 net_log_, net::NetLogEventType::SERVICE_WORKER_FETCH_EVENT, status);
240 DidFail(status); 240 DidFail(status);
241 } 241 }
(...skipping 29 matching lines...) Expand all
271 } 271 }
272 272
273 ServiceWorkerMetrics::EventType ServiceWorkerFetchDispatcher::GetEventType() 273 ServiceWorkerMetrics::EventType ServiceWorkerFetchDispatcher::GetEventType()
274 const { 274 const {
275 if (request_->fetch_type == ServiceWorkerFetchType::FOREIGN_FETCH) 275 if (request_->fetch_type == ServiceWorkerFetchType::FOREIGN_FETCH)
276 return ServiceWorkerMetrics::EventType::FOREIGN_FETCH; 276 return ServiceWorkerMetrics::EventType::FOREIGN_FETCH;
277 return ResourceTypeToEventType(resource_type_); 277 return ResourceTypeToEventType(resource_type_);
278 } 278 }
279 279
280 } // namespace content 280 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698