OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef CONTENT_BROWSER_SERVICE_WORKER_SERVICE_WORKER_REGISTER_JOB_BASE_H_ | 5 #ifndef CONTENT_BROWSER_SERVICE_WORKER_SERVICE_WORKER_REGISTER_JOB_BASE_H_ |
6 #define CONTENT_BROWSER_SERVICE_WORKER_SERVICE_WORKER_REGISTER_JOB_BASE_H_ | 6 #define CONTENT_BROWSER_SERVICE_WORKER_SERVICE_WORKER_REGISTER_JOB_BASE_H_ |
7 | 7 |
8 namespace content { | 8 namespace content { |
9 | 9 |
10 // A base class for ServiceWorkerRegisterJob and ServiceWorkerUnregisterJob. A | |
11 // job lives only for the lifetime of a single registration or unregistration. | |
12 class ServiceWorkerRegisterJobBase { | 10 class ServiceWorkerRegisterJobBase { |
13 public: | 11 public: |
14 enum RegistrationJobType { REGISTRATION, UNREGISTRATION, }; | 12 enum RegistrationJobType { |
| 13 REGISTRATION_JOB, |
| 14 UNREGISTRATION_JOB, |
| 15 UPDATE_JOB |
| 16 }; |
15 | 17 |
16 virtual ~ServiceWorkerRegisterJobBase() {} | 18 virtual ~ServiceWorkerRegisterJobBase() {} |
17 | 19 |
18 // Starts the job. This method should be called once and only once per job. | 20 // Starts the job. This method should be called once and only once per job. |
19 virtual void Start() = 0; | 21 virtual void Start() = 0; |
20 | 22 |
21 // Aborts the job. This method should be called once and only once per job. | 23 // Aborts the job. This method should be called once and only once per job. |
22 // It can be called regardless of whether Start() was called. | 24 // It can be called regardless of whether Start() was called. |
23 virtual void Abort() = 0; | 25 virtual void Abort() = 0; |
24 | 26 |
25 // Returns true if this job is identical to |job| for the purpose of | 27 // Returns true if this job is identical to |job| for the purpose of |
26 // collapsing them together in a ServiceWorkerJobCoordinator queue. | 28 // collapsing them together in a ServiceWorkerJobCoordinator queue. |
27 // Registration jobs are equal if they are for the same pattern and script | 29 // Registration jobs are equal if they are for the same pattern and script |
28 // URL; unregistration jobs are equal if they are for the same pattern. | 30 // URL; unregistration jobs are equal if they are for the same pattern. |
29 virtual bool Equals(ServiceWorkerRegisterJobBase* job) = 0; | 31 virtual bool Equals(ServiceWorkerRegisterJobBase* job) = 0; |
30 | 32 |
31 // Returns the type of this job. | 33 // Returns the type of this job. |
32 virtual RegistrationJobType GetType() = 0; | 34 virtual RegistrationJobType GetType() = 0; |
33 }; | 35 }; |
34 | 36 |
35 } // namespace content | 37 } // namespace content |
36 | 38 |
37 #endif // CONTENT_BROWSER_SERVICE_WORKER_SERVICE_WORKER_REGISTER_JOB_BASE_H_ | 39 #endif // CONTENT_BROWSER_SERVICE_WORKER_SERVICE_WORKER_REGISTER_JOB_BASE_H_ |
OLD | NEW |