Chromium Code Reviews| 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 <limits> | 9 #include <limits> |
| 10 #include <map> | 10 #include <map> |
| (...skipping 529 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 540 // TODO(kinuko): Record other event statuses too. | 540 // TODO(kinuko): Record other event statuses too. |
| 541 metrics_->RecordEventHandledStatus(request->event_type, was_handled); | 541 metrics_->RecordEventHandledStatus(request->event_type, was_handled); |
| 542 ServiceWorkerMetrics::RecordEventDuration( | 542 ServiceWorkerMetrics::RecordEventDuration( |
| 543 request->event_type, base::TimeTicks::Now() - request->start_time, | 543 request->event_type, base::TimeTicks::Now() - request->start_time, |
| 544 was_handled); | 544 was_handled); |
| 545 | 545 |
| 546 RestartTick(&idle_time_); | 546 RestartTick(&idle_time_); |
| 547 TRACE_EVENT_ASYNC_END1("ServiceWorker", "ServiceWorkerVersion::Request", | 547 TRACE_EVENT_ASYNC_END1("ServiceWorker", "ServiceWorkerVersion::Request", |
| 548 request, "Handled", was_handled); | 548 request, "Handled", was_handled); |
| 549 custom_requests_.Remove(request_id); | 549 custom_requests_.Remove(request_id); |
| 550 if (is_redundant()) { | |
| 551 // The stop should be already scheduled, but try to stop immediately, in | |
| 552 // order to release worker resources soon. | |
| 553 StopWorkerIfIdle(); | |
| 554 } | |
| 555 return true; | 550 return true; |
| 556 } | 551 } |
| 557 | 552 |
| 558 void ServiceWorkerVersion::RunAfterStartWorker( | 553 void ServiceWorkerVersion::RunAfterStartWorker( |
| 559 ServiceWorkerMetrics::EventType purpose, | 554 ServiceWorkerMetrics::EventType purpose, |
| 560 const base::Closure& task, | 555 const base::Closure& task, |
| 561 const StatusCallback& error_callback) { | 556 const StatusCallback& error_callback) { |
| 562 if (running_status() == EmbeddedWorkerStatus::RUNNING) { | 557 if (running_status() == EmbeddedWorkerStatus::RUNNING) { |
| 563 DCHECK(start_callbacks_.empty()); | 558 DCHECK(start_callbacks_.empty()); |
| 564 task.Run(); | 559 task.Run(); |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 597 const ServiceWorkerURLRequestJob* request_job) { | 592 const ServiceWorkerURLRequestJob* request_job) { |
| 598 DCHECK(streaming_url_request_jobs_.find(request_job) == | 593 DCHECK(streaming_url_request_jobs_.find(request_job) == |
| 599 streaming_url_request_jobs_.end()); | 594 streaming_url_request_jobs_.end()); |
| 600 streaming_url_request_jobs_.insert(request_job); | 595 streaming_url_request_jobs_.insert(request_job); |
| 601 } | 596 } |
| 602 | 597 |
| 603 void ServiceWorkerVersion::RemoveStreamingURLRequestJob( | 598 void ServiceWorkerVersion::RemoveStreamingURLRequestJob( |
| 604 const ServiceWorkerURLRequestJob* request_job) { | 599 const ServiceWorkerURLRequestJob* request_job) { |
| 605 streaming_url_request_jobs_.erase(request_job); | 600 streaming_url_request_jobs_.erase(request_job); |
| 606 if (is_redundant()) | 601 if (is_redundant()) |
| 607 StopWorkerIfIdle(); | 602 StopWorkerIfIdle(); |
|
nhiroki
2016/06/17 21:28:22
Should we remove this, too?
| |
| 608 } | 603 } |
| 609 | 604 |
| 610 void ServiceWorkerVersion::AddListener(Listener* listener) { | 605 void ServiceWorkerVersion::AddListener(Listener* listener) { |
| 611 listeners_.AddObserver(listener); | 606 listeners_.AddObserver(listener); |
| 612 } | 607 } |
| 613 | 608 |
| 614 void ServiceWorkerVersion::RemoveListener(Listener* listener) { | 609 void ServiceWorkerVersion::RemoveListener(Listener* listener) { |
| 615 listeners_.RemoveObserver(listener); | 610 listeners_.RemoveObserver(listener); |
| 616 } | 611 } |
| 617 | 612 |
| (...skipping 1102 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1720 if (should_exclude_from_uma_ || | 1715 if (should_exclude_from_uma_ || |
| 1721 running_status() != EmbeddedWorkerStatus::RUNNING || | 1716 running_status() != EmbeddedWorkerStatus::RUNNING || |
| 1722 idle_time_.is_null()) { | 1717 idle_time_.is_null()) { |
| 1723 return; | 1718 return; |
| 1724 } | 1719 } |
| 1725 ServiceWorkerMetrics::RecordTimeBetweenEvents(base::TimeTicks::Now() - | 1720 ServiceWorkerMetrics::RecordTimeBetweenEvents(base::TimeTicks::Now() - |
| 1726 idle_time_); | 1721 idle_time_); |
| 1727 } | 1722 } |
| 1728 | 1723 |
| 1729 } // namespace content | 1724 } // namespace content |
| OLD | NEW |