Chromium Code Reviews| Index: components/offline_pages/offline_page_model.h |
| diff --git a/components/offline_pages/offline_page_model.h b/components/offline_pages/offline_page_model.h |
| index d32ace14f36ed5216c48131660a1f257f994c2f6..a076e928b0f28c9b97336e67e358b98bb8e2ff1d 100644 |
| --- a/components/offline_pages/offline_page_model.h |
| +++ b/components/offline_pages/offline_page_model.h |
| @@ -10,6 +10,7 @@ |
| #include "base/macros.h" |
| #include "base/memory/scoped_ptr.h" |
| #include "components/keyed_service/core/keyed_service.h" |
| +#include "components/offline_pages/offline_page_archiver.h" |
| class GURL; |
| @@ -20,14 +21,22 @@ class OfflinePageMetadataStore; |
| // Serivce for saving pages offline, storing the offline copy and metadata, and |
| // retrieving them upon request. |
| -class OfflinePageModel : public KeyedService { |
| +class OfflinePageModel : public KeyedService, |
| + public OfflinePageArchiver::Client { |
| public: |
| - explicit OfflinePageModel(scoped_ptr<OfflinePageMetadataStore> store); |
| + OfflinePageModel(scoped_ptr<OfflinePageMetadataStore> store, |
| + OfflinePageArchiver* archiver); |
| ~OfflinePageModel() override; |
| - // KeyedService: |
| + // KeyedService implementation. |
| void Shutdown() override; |
| + // OfflinePageArchiver::Client implementation. |
| + void OnCreateArchiveSuccess(OfflinePageArchiver::Request* request, |
| + const base::FilePath& file_path) override; |
| + void OnCreateArchiveFailure(OfflinePageArchiver::Request* request, |
| + OfflinePageArchiver::ArchiveError error) override; |
| + |
| // Saves the page loaded in the web contents offline. |
| void SavePageOffline(const GURL& url); |
| @@ -41,6 +50,9 @@ class OfflinePageModel : public KeyedService { |
| // Persistent store for offline page metadata. |
| scoped_ptr<OfflinePageMetadataStore> store_; |
| + // Offline page archiver. Outlives the model. Owned by the embedder. |
|
Dmitry Titov
2015/06/12 18:09:11
I don't have a proposal here, but I'm curious why
fgorski
2015/06/12 20:37:35
Embedder will still talk to the archiver, and for
|
| + OfflinePageArchiver* archiver_; |
| + |
| DISALLOW_COPY_AND_ASSIGN(OfflinePageModel); |
| }; |