| Index: content/browser/background_fetch/background_fetch_request_info.h
|
| diff --git a/content/browser/background_fetch/background_fetch_request_info.h b/content/browser/background_fetch/background_fetch_request_info.h
|
| index e3c49f8934290a65cdd8a103aaca4313898ed510..f0b95fe289c33304dfdd15f0bfc253ad00fcfde4 100644
|
| --- a/content/browser/background_fetch/background_fetch_request_info.h
|
| +++ b/content/browser/background_fetch/background_fetch_request_info.h
|
| @@ -10,7 +10,8 @@
|
|
|
| #include "base/files/file_path.h"
|
| #include "base/macros.h"
|
| -#include "base/memory/ref_counted.h"
|
| +#include "base/memory/ref_counted_delete_on_sequence.h"
|
| +#include "base/sequence_checker.h"
|
| #include "base/time/time.h"
|
| #include "content/browser/background_fetch/background_fetch_constants.h"
|
| #include "content/common/content_export.h"
|
| @@ -27,18 +28,23 @@ class DownloadItem;
|
| // TODO(peter): This can likely change to have a single owner, and thus become
|
| // an std::unique_ptr<>, when persistent storage has been implemented.
|
| class CONTENT_EXPORT BackgroundFetchRequestInfo
|
| - : public base::RefCountedThreadSafe<BackgroundFetchRequestInfo> {
|
| + : public base::RefCountedDeleteOnSequence<BackgroundFetchRequestInfo> {
|
| public:
|
| BackgroundFetchRequestInfo(int request_index,
|
| const ServiceWorkerFetchRequest& fetch_request);
|
|
|
| // Populates the cached state for the in-progress |download_item|.
|
| - void PopulateDownloadState(DownloadItem* download_item,
|
| - DownloadInterruptReason download_interrupt_reason);
|
| + void PopulateDownloadStateOnUI(
|
| + DownloadItem* download_item,
|
| + DownloadInterruptReason download_interrupt_reason);
|
| +
|
| + void SetDownloadStatePopulated();
|
|
|
| // Populates the response portion of this object from the information made
|
| // available in the |download_item|.
|
| - void PopulateResponseFromDownloadItem(DownloadItem* download_item);
|
| + void PopulateResponseFromDownloadItemOnUI(DownloadItem* download_item);
|
| +
|
| + void SetResponseDataPopulated();
|
|
|
| // Returns the index of this request within a Background Fetch registration.
|
| int request_index() const { return request_index_; }
|
| @@ -73,7 +79,8 @@ class CONTENT_EXPORT BackgroundFetchRequestInfo
|
| const base::Time& GetResponseTime() const;
|
|
|
| private:
|
| - friend class base::RefCountedThreadSafe<BackgroundFetchRequestInfo>;
|
| + friend class base::RefCountedDeleteOnSequence<BackgroundFetchRequestInfo>;
|
| + friend class base::DeleteHelper<BackgroundFetchRequestInfo>;
|
| friend class BackgroundFetchCrossOriginFilterTest;
|
|
|
| ~BackgroundFetchRequestInfo();
|
| @@ -105,6 +112,8 @@ class CONTENT_EXPORT BackgroundFetchRequestInfo
|
| int64_t file_size_ = 0;
|
| base::Time response_time_;
|
|
|
| + SEQUENCE_CHECKER(sequence_checker_);
|
| +
|
| DISALLOW_COPY_AND_ASSIGN(BackgroundFetchRequestInfo);
|
| };
|
|
|
|
|