OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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_version.h" | 5 #include "content/browser/service_worker/service_worker_version.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 | 8 |
9 #include <map> | 9 #include <map> |
10 #include <string> | 10 #include <string> |
(...skipping 488 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
499 PendingRequest<StatusCallback>* request = custom_requests_.Lookup(request_id); | 499 PendingRequest<StatusCallback>* request = custom_requests_.Lookup(request_id); |
500 if (!request) | 500 if (!request) |
501 return false; | 501 return false; |
502 ServiceWorkerMetrics::RecordEventDuration( | 502 ServiceWorkerMetrics::RecordEventDuration( |
503 request->event_type, base::TimeTicks::Now() - request->start_time); | 503 request->event_type, base::TimeTicks::Now() - request->start_time); |
504 RemoveCallbackAndStopIfRedundant(&custom_requests_, request_id); | 504 RemoveCallbackAndStopIfRedundant(&custom_requests_, request_id); |
505 return true; | 505 return true; |
506 } | 506 } |
507 | 507 |
508 void ServiceWorkerVersion::RunAfterStartWorker( | 508 void ServiceWorkerVersion::RunAfterStartWorker( |
509 const StatusCallback& error_callback, | 509 const base::Closure& task, |
510 const base::Closure& task) { | 510 const StatusCallback& error_callback) { |
| 511 if (running_status() == RUNNING) { |
| 512 DCHECK(start_callbacks_.empty()); |
| 513 task.Run(); |
| 514 return; |
| 515 } |
511 StartWorker(base::Bind(&RunTaskAfterStartWorker, weak_factory_.GetWeakPtr(), | 516 StartWorker(base::Bind(&RunTaskAfterStartWorker, weak_factory_.GetWeakPtr(), |
512 error_callback, task)); | 517 error_callback, task)); |
513 } | 518 } |
514 | 519 |
515 void ServiceWorkerVersion::DispatchMessageEvent( | 520 void ServiceWorkerVersion::DispatchMessageEvent( |
516 const base::string16& message, | 521 const base::string16& message, |
517 const std::vector<TransferredMessagePort>& sent_message_ports, | 522 const std::vector<TransferredMessagePort>& sent_message_ports, |
518 const StatusCallback& callback) { | 523 const StatusCallback& callback) { |
519 for (const TransferredMessagePort& port : sent_message_ports) { | 524 for (const TransferredMessagePort& port : sent_message_ports) { |
520 MessagePortService::GetInstance()->HoldMessages(port.id); | 525 MessagePortService::GetInstance()->HoldMessages(port.id); |
(...skipping 1457 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1978 void ServiceWorkerVersion::OnBeginEvent() { | 1983 void ServiceWorkerVersion::OnBeginEvent() { |
1979 if (should_exclude_from_uma_ || running_status() != RUNNING || | 1984 if (should_exclude_from_uma_ || running_status() != RUNNING || |
1980 idle_time_.is_null()) { | 1985 idle_time_.is_null()) { |
1981 return; | 1986 return; |
1982 } | 1987 } |
1983 ServiceWorkerMetrics::RecordTimeBetweenEvents(base::TimeTicks::Now() - | 1988 ServiceWorkerMetrics::RecordTimeBetweenEvents(base::TimeTicks::Now() - |
1984 idle_time_); | 1989 idle_time_); |
1985 } | 1990 } |
1986 | 1991 |
1987 } // namespace content | 1992 } // namespace content |
OLD | NEW |