Chromium Code Reviews| Index: components/offline_pages/background/save_page_request.h |
| diff --git a/components/offline_pages/background/save_page_request.h b/components/offline_pages/background/save_page_request.h |
| index b83b9b5c4ec6b69d9eddfda6e4440d7ab90624f7..447084c5ffaf57540319eb1ec01ad8c772523556 100644 |
| --- a/components/offline_pages/background/save_page_request.h |
| +++ b/components/offline_pages/background/save_page_request.h |
| @@ -16,6 +16,12 @@ namespace offline_pages { |
| // Class representing a request to save page. |
| class SavePageRequest { |
| public: |
| + enum class RequestState { |
| + AVAILABLE = 0, // Request can be scheduled when preconditions are met. |
| + PAUSED = 1, // Request is not available until it is unpaused |
| + PRERENDERING = 2, // Request is active in the pre-renderer |
| + }; |
| + |
| SavePageRequest(int64_t request_id, |
| const GURL& url, |
| const ClientId& client_id, |
| @@ -40,19 +46,31 @@ class SavePageRequest { |
| // and decrements |attempt_count_|. |
| void MarkAttemptAborted(); |
| + // Mark the attempt as paused. It is not available for future prerendering |
| + // until it has been explicitly unpaused. |
| + void MarkAttemptPaused(); |
| + |
| int64_t request_id() const { return request_id_; } |
| const GURL& url() const { return url_; } |
| const ClientId& client_id() const { return client_id_; } |
| + RequestState request_state() const { return state_; } |
| + void set_request_state(RequestState new_state) { state_ = new_state; } |
| + |
| const base::Time& creation_time() const { return creation_time_; } |
| const base::Time& activation_time() const { return activation_time_; } |
| - int64_t attempt_count() const { return attempt_count_; } |
| - void set_attempt_count(int64_t attempt_count) { |
| - attempt_count_ = attempt_count; |
| + int64_t started_attempt_count() const { return started_attempt_count_; } |
| + void set_started_attempt_count(int64_t started_attempt_count) { |
| + started_attempt_count_ = started_attempt_count; |
| + } |
| + |
| + int64_t completed_attempt_count() const { return completed_attempt_count_; } |
| + void set_completed_attempt_count(int64_t completed_attempt_count) { |
| + completed_attempt_count_ = completed_attempt_count; |
| } |
| const base::Time& last_attempt_time() const { return last_attempt_time_; } |
| @@ -83,8 +101,12 @@ class SavePageRequest { |
| // Time when this request will become active. |
| base::Time activation_time_; |
| - // Number of attempts made to get the page. |
| - int attempt_count_; |
| + // Number of attempts started to get the page. This may be different than the |
| + // number of attempts finished because we could crash. |
|
fgorski
2016/08/08 17:48:05
s/finished/completed/
Pete Williamson
2016/08/08 18:44:29
Done.
|
| + int started_attempt_count_; |
| + |
| + // Number of attempts we actually finished to get the page. |
|
fgorski
2016/08/08 17:48:05
s/finished/completed/
Pete Williamson
2016/08/08 18:44:29
Done.
|
| + int completed_attempt_count_; |
| // Timestamp of the last request starting. |
| base::Time last_attempt_time_; |
| @@ -92,6 +114,9 @@ class SavePageRequest { |
| // Whether the user specifically requested this page (as opposed to a client |
| // like AGSA or Now.) |
| bool user_requested_; |
| + |
| + // The current state of this request |
| + RequestState state_; |
| }; |
| } // namespace offline_pages |