Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(61)

Unified Diff: components/offline_pages/offline_page_model.h

Issue 1947323002: [Offline Pages] Implement OfflinePageStorageManager. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixing gyp builds. Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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 99d306cbf648f1bd121f6847da232d842efe1372..6a35ec7fc80feb5cf848155682f1cc7eb259c864 100644
--- a/components/offline_pages/offline_page_model.h
+++ b/components/offline_pages/offline_page_model.h
@@ -40,8 +40,10 @@ static const int64_t kInvalidOfflineId = 0;
struct ClientId;
+class ClientPolicyController;
struct OfflinePageItem;
class OfflinePageMetadataStore;
+class OfflinePageStorageManager;
// Service for saving pages offline, storing the offline copy and metadata, and
// retrieving them upon request.
@@ -175,8 +177,9 @@ class OfflinePageModel : public KeyedService, public base::SupportsUserData {
const DeletePageCallback& callback);
// Deletes offline pages related to the passed |offline_ids|.
- void DeletePagesByOfflineId(const std::vector<int64_t>& offline_ids,
- const DeletePageCallback& callback);
+ // Making virtual for test purposes.
+ virtual void DeletePagesByOfflineId(const std::vector<int64_t>& offline_ids,
+ const DeletePageCallback& callback);
// Wipes out all the data by deleting all saved files and clearing the store.
void ClearAll(const base::Closure& callback);
@@ -197,7 +200,8 @@ class OfflinePageModel : public KeyedService, public base::SupportsUserData {
const CheckPagesExistOfflineCallback& callback);
// Gets all available offline pages.
- void GetAllPages(const MultipleOfflinePageItemCallback& callback);
+ // Making virtual for test purposes.
+ virtual void GetAllPages(const MultipleOfflinePageItemCallback& callback);
// Gets all offline ids where the offline page has the matching client id.
void GetOfflineIdsForClientId(const ClientId& client_id,
@@ -257,10 +261,22 @@ class OfflinePageModel : public KeyedService, public base::SupportsUserData {
int64_t free_space_bytes,
bool reporting_after_delete);
+ // Returns the policy controller.
+ // Making virtual for test purposes.
+ virtual ClientPolicyController* GetPolicyController();
+
// Methods for testing only:
OfflinePageMetadataStore* GetStoreForTesting();
- bool is_loaded() const { return is_loaded_; }
+ OfflinePageStorageManager* GetStorageManager();
+
+ // Making virtual for test purposes.
+ virtual bool is_loaded() const;
+
+ protected:
+ // Adding a protected constructor for testing-only purposes in
+ // offline_page_storage_manager_unittest.cc
+ OfflinePageModel();
private:
FRIEND_TEST_ALL_PREFIXES(OfflinePageModelTest, MarkPageForDeletion);
@@ -381,6 +397,13 @@ class OfflinePageModel : public KeyedService, public base::SupportsUserData {
// Delayed tasks that should be invoked after the loading is done.
std::vector<base::Closure> delayed_tasks_;
+ // Controller of the client policies.
+ std::unique_ptr<ClientPolicyController> policy_controller_;
+
+ // Manager for the storage consumed by archives and responsible for
+ // automatic page clearing.
+ std::unique_ptr<OfflinePageStorageManager> storage_manager_;
+
base::WeakPtrFactory<OfflinePageModel> weak_ptr_factory_;
DISALLOW_COPY_AND_ASSIGN(OfflinePageModel);

Powered by Google App Engine
This is Rietveld 408576698