Chromium Code Reviews| Index: content/browser/service_worker/embedded_worker_instance.h |
| diff --git a/content/browser/service_worker/embedded_worker_instance.h b/content/browser/service_worker/embedded_worker_instance.h |
| index 9356bb531f0510aca376961a69e14e50e48f1f6a..a74d3766cec8a9cdb18cfdf4016c5da326815c1d 100644 |
| --- a/content/browser/service_worker/embedded_worker_instance.h |
| +++ b/content/browser/service_worker/embedded_worker_instance.h |
| @@ -20,6 +20,7 @@ |
| #include "base/observer_list.h" |
| #include "base/strings/string16.h" |
| #include "base/time/time.h" |
| +#include "content/browser/service_worker/embedded_worker_status.h" |
| #include "content/browser/service_worker/service_worker_metrics.h" |
| #include "content/common/content_export.h" |
| #include "content/common/service_worker/service_worker_status_code.h" |
| @@ -51,12 +52,7 @@ class ServiceWorkerContextCore; |
| class CONTENT_EXPORT EmbeddedWorkerInstance { |
| public: |
| typedef base::Callback<void(ServiceWorkerStatusCode)> StatusCallback; |
| - enum Status { |
| - STOPPED, |
| - STARTING, |
| - RUNNING, |
| - STOPPING, |
| - }; |
| + typedef EmbeddedWorkerStatus Status; |
|
falken
2016/06/07 03:46:12
I think it's now:
using EmbeddedWorkerStatus = Sta
horo
2016/06/07 05:58:12
Done.
|
| // This enum is used in UMA histograms. Append-only. |
| enum StartingPhase { |
| @@ -142,7 +138,7 @@ class CONTENT_EXPORT EmbeddedWorkerInstance { |
| int embedded_worker_id() const { return embedded_worker_id_; } |
| Status status() const { return status_; } |
| StartingPhase starting_phase() const { |
| - DCHECK_EQ(STARTING, status()); |
| + DCHECK_EQ(Status::STARTING, status()); |
| return starting_phase_; |
| } |
| int process_id() const; |
| @@ -163,6 +159,10 @@ class CONTENT_EXPORT EmbeddedWorkerInstance { |
| return network_accessed_for_script_; |
| } |
| + ServiceWorkerMetrics::StartSituation start_situation() const { |
|
falken
2016/06/07 03:46:12
Does it make sense to have DCHECK(STARTING || RUNN
horo
2016/06/07 05:58:12
Done.
|
| + return start_situation_; |
| + } |
| + |
| // Called when the main script load accessed the network. |
| void OnNetworkAccessedForScriptLoad(); |
| @@ -208,7 +208,8 @@ class CONTENT_EXPORT EmbeddedWorkerInstance { |
| int embedded_worker_id); |
| // Called back from StartTask after a process is allocated on the UI thread. |
| - void OnProcessAllocated(std::unique_ptr<WorkerProcessHandle> handle); |
| + void OnProcessAllocated(std::unique_ptr<WorkerProcessHandle> handle, |
| + ServiceWorkerMetrics::StartSituation start_situation); |
| // Called back from StartTask after the worker is registered to |
| // WorkerDevToolsManager. |
| @@ -309,6 +310,9 @@ class CONTENT_EXPORT EmbeddedWorkerInstance { |
| std::unique_ptr<StartTask> inflight_start_task_; |
| + ServiceWorkerMetrics::StartSituation start_situation_ = |
| + ServiceWorkerMetrics::StartSituation::UNKNOWN; |
|
falken
2016/06/07 03:46:12
It's a little unfortunate this state has to move o
horo
2016/06/07 05:58:12
Done.
|
| + |
| // Used for UMA. The start time of the current start sequence step. |
| base::TimeTicks step_time_; |