Chromium Code Reviews| Index: content/browser/service_worker/service_worker_version.h |
| diff --git a/content/browser/service_worker/service_worker_version.h b/content/browser/service_worker/service_worker_version.h |
| index 2aeaabb759e75e8ae36c45eca125d0a6fc2fa942..cdcefdca9a54c43e23958b43bbf85edc172ce550 100644 |
| --- a/content/browser/service_worker/service_worker_version.h |
| +++ b/content/browser/service_worker/service_worker_version.h |
| @@ -66,8 +66,6 @@ class CONTENT_EXPORT ServiceWorkerVersion |
| public: |
| typedef base::Callback<void(ServiceWorkerStatusCode)> StatusCallback; |
| typedef base::Callback<void(ServiceWorkerStatusCode, |
| - const IPC::Message& message)> MessageCallback; |
| - typedef base::Callback<void(ServiceWorkerStatusCode, |
| ServiceWorkerFetchEventResult, |
| const ServiceWorkerResponse&)> FetchCallback; |
| typedef base::Callback<void(ServiceWorkerStatusCode, bool)> |
| @@ -319,6 +317,7 @@ class CONTENT_EXPORT ServiceWorkerVersion |
| FRIEND_TEST_ALL_PREFIXES(ServiceWorkerVersionTest, ScheduleStopWorker); |
| FRIEND_TEST_ALL_PREFIXES(ServiceWorkerVersionTest, KeepAlive); |
| FRIEND_TEST_ALL_PREFIXES(ServiceWorkerVersionTest, ListenerAvailability); |
| + FRIEND_TEST_ALL_PREFIXES(ServiceWorkerFailToStartTest, Timeout); |
| FRIEND_TEST_ALL_PREFIXES(ServiceWorkerVersionBrowserTest, |
| TimeoutStartingWorker); |
| FRIEND_TEST_ALL_PREFIXES(ServiceWorkerVersionBrowserTest, |
| @@ -346,7 +345,7 @@ class CONTENT_EXPORT ServiceWorkerVersion |
| const GURL& source_url) override; |
| bool OnMessageReceived(const IPC::Message& message) override; |
| - void OnStartMessageSent(ServiceWorkerStatusCode status); |
| + void OnStartSentAndScriptEvaluated(ServiceWorkerStatusCode status); |
| void DispatchInstallEventAfterStartWorker(int active_version_id, |
| const StatusCallback& callback); |
| @@ -421,6 +420,15 @@ class CONTENT_EXPORT ServiceWorkerVersion |
| void StopWorkerIfIdle(); |
| bool HasInflightRequests() const; |
| + // ScheduleStartWorkerTimeout is called when attempting to the start the |
|
rkaplow
2015/03/03 15:58:41
to* start
|
| + // embedded worker. It sets a timer for calling OnStartWorkerTimeout, which |
| + // invokes start callbacks with ERROR_TIMEOUT. It also adds its own start |
| + // callback RecordStartWorkerResult which cancels the timer and records |
| + // metrics about startup. |
| + void ScheduleStartWorkerTimeout(); |
| + void RecordStartWorkerResult(ServiceWorkerStatusCode status); |
| + void OnStartWorkerTimeout(); |
| + |
| void DoomInternal(); |
| template <typename IDMAP> |
| @@ -460,6 +468,8 @@ class CONTENT_EXPORT ServiceWorkerVersion |
| base::OneShotTimer<ServiceWorkerVersion> stop_worker_timer_; |
| base::OneShotTimer<ServiceWorkerVersion> update_timer_; |
| base::OneShotTimer<ServiceWorkerVersion> ping_worker_timer_; |
| + base::OneShotTimer<ServiceWorkerVersion> start_worker_timeout_timer_; |
| + base::TimeTicks start_timing_; |
| bool ping_timed_out_; |
| bool is_doomed_; |
| std::vector<int> pending_skip_waiting_requests_; |