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