OLD | NEW |
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_url_request_job.h" | 5 #include "content/browser/service_worker/service_worker_url_request_job.h" |
6 | 6 |
7 #include <map> | 7 #include <map> |
8 #include <string> | 8 #include <string> |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
(...skipping 211 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
222 return; | 222 return; |
223 | 223 |
224 case FORWARD_TO_SERVICE_WORKER: | 224 case FORWARD_TO_SERVICE_WORKER: |
225 DCHECK(provider_host_ && provider_host_->active_version()); | 225 DCHECK(provider_host_ && provider_host_->active_version()); |
226 DCHECK(!fetch_dispatcher_); | 226 DCHECK(!fetch_dispatcher_); |
227 // Send a fetch event to the ServiceWorker associated to the | 227 // Send a fetch event to the ServiceWorker associated to the |
228 // provider_host. | 228 // provider_host. |
229 fetch_dispatcher_.reset(new ServiceWorkerFetchDispatcher( | 229 fetch_dispatcher_.reset(new ServiceWorkerFetchDispatcher( |
230 CreateFetchRequest(), | 230 CreateFetchRequest(), |
231 provider_host_->active_version(), | 231 provider_host_->active_version(), |
| 232 base::Bind(&ServiceWorkerURLRequestJob::DidPrepareFetchEvent, |
| 233 weak_factory_.GetWeakPtr()), |
232 base::Bind(&ServiceWorkerURLRequestJob::DidDispatchFetchEvent, | 234 base::Bind(&ServiceWorkerURLRequestJob::DidDispatchFetchEvent, |
233 weak_factory_.GetWeakPtr()))); | 235 weak_factory_.GetWeakPtr()))); |
234 fetch_dispatcher_->Run(); | 236 fetch_dispatcher_->Run(); |
235 return; | 237 return; |
236 } | 238 } |
237 | 239 |
238 NOTREACHED(); | 240 NOTREACHED(); |
239 } | 241 } |
240 | 242 |
241 scoped_ptr<ServiceWorkerFetchRequest> | 243 scoped_ptr<ServiceWorkerFetchRequest> |
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
314 } | 316 } |
315 } | 317 } |
316 | 318 |
317 request_body_blob_data_handle_ = | 319 request_body_blob_data_handle_ = |
318 blob_storage_context_->AddFinishedBlob(blob_data.get()); | 320 blob_storage_context_->AddFinishedBlob(blob_data.get()); |
319 *blob_uuid = uuid; | 321 *blob_uuid = uuid; |
320 *blob_size = size; | 322 *blob_size = size; |
321 return true; | 323 return true; |
322 } | 324 } |
323 | 325 |
| 326 void ServiceWorkerURLRequestJob::DidPrepareFetchEvent() { |
| 327 // TODO(shimazu): Set the timestamp to measure the time to launch SW |
| 328 // This is related to this (http://crbug.com/401389) |
| 329 } |
| 330 |
324 void ServiceWorkerURLRequestJob::DidDispatchFetchEvent( | 331 void ServiceWorkerURLRequestJob::DidDispatchFetchEvent( |
325 ServiceWorkerStatusCode status, | 332 ServiceWorkerStatusCode status, |
326 ServiceWorkerFetchEventResult fetch_result, | 333 ServiceWorkerFetchEventResult fetch_result, |
327 const ServiceWorkerResponse& response) { | 334 const ServiceWorkerResponse& response) { |
328 fetch_dispatcher_.reset(); | 335 fetch_dispatcher_.reset(); |
329 | 336 |
330 // Check if we're not orphaned. | 337 // Check if we're not orphaned. |
331 if (!request()) | 338 if (!request()) |
332 return; | 339 return; |
333 | 340 |
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
405 void ServiceWorkerURLRequestJob::DeliverErrorResponse() { | 412 void ServiceWorkerURLRequestJob::DeliverErrorResponse() { |
406 // TODO(falken): Print an error to the console of the ServiceWorker and of | 413 // TODO(falken): Print an error to the console of the ServiceWorker and of |
407 // the requesting page. | 414 // the requesting page. |
408 CreateResponseHeader(500, | 415 CreateResponseHeader(500, |
409 "Service Worker Response Error", | 416 "Service Worker Response Error", |
410 std::map<std::string, std::string>()); | 417 std::map<std::string, std::string>()); |
411 CommitResponseHeader(); | 418 CommitResponseHeader(); |
412 } | 419 } |
413 | 420 |
414 } // namespace content | 421 } // namespace content |
OLD | NEW |