| 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 0e368ab3c619bd97a8834f44dbbe84ff16382f78..530900c0a184d5d8452ca29f1e3d82bf8980ae2e 100644
|
| --- a/content/browser/service_worker/service_worker_version.h
|
| +++ b/content/browser/service_worker/service_worker_version.h
|
| @@ -90,6 +90,13 @@ class CONTENT_EXPORT ServiceWorkerVersion
|
| // timed out.
|
| };
|
|
|
| + // Whether the version has fetch handlers or not.
|
| + enum class FetchHandlerExistence {
|
| + UNKNOWN, // This version is a new version and not installed yet.
|
| + EXISTS,
|
| + DOES_NOT_EXIST,
|
| + };
|
| +
|
| class Listener {
|
| public:
|
| virtual void OnRunningStateChanged(ServiceWorkerVersion* version) {}
|
| @@ -134,9 +141,17 @@ class CONTENT_EXPORT ServiceWorkerVersion
|
| }
|
| ServiceWorkerVersionInfo GetInfo();
|
| Status status() const { return status_; }
|
| - bool has_fetch_handler() const { return has_fetch_handler_; }
|
| - void set_has_fetch_handler(bool has_fetch_handler) {
|
| - has_fetch_handler_ = has_fetch_handler;
|
| +
|
| + // This status is set to EXISTS or DOES_NOT_EXIST when the install event has
|
| + // been executed in a new version or when an installed version is loaded from
|
| + // the storage. When a new version is not installed yet, it is UNKNOW.
|
| + FetchHandlerExistence fetch_handler_existence() const {
|
| + return fetch_handler_existence_;
|
| + }
|
| + void set_fetch_handler_existence(FetchHandlerExistence existence) {
|
| + DCHECK_EQ(fetch_handler_existence_, FetchHandlerExistence::UNKNOWN);
|
| + DCHECK_NE(existence, FetchHandlerExistence::UNKNOWN);
|
| + fetch_handler_existence_ = existence;
|
| }
|
|
|
| const std::vector<GURL>& foreign_fetch_scopes() const {
|
| @@ -663,7 +678,7 @@ class CONTENT_EXPORT ServiceWorkerVersion
|
| const GURL scope_;
|
| std::vector<GURL> foreign_fetch_scopes_;
|
| std::vector<url::Origin> foreign_fetch_origins_;
|
| - bool has_fetch_handler_ = true;
|
| + FetchHandlerExistence fetch_handler_existence_;
|
|
|
| Status status_ = NEW;
|
| std::unique_ptr<EmbeddedWorkerInstance> embedded_worker_;
|
|
|