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_; |