OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 COMPONENTS_OFFLINE_PAGES_OFFLINE_PAGE_MODEL_IMPL_H_ | 5 #ifndef COMPONENTS_OFFLINE_PAGES_OFFLINE_PAGE_MODEL_IMPL_H_ |
6 #define COMPONENTS_OFFLINE_PAGES_OFFLINE_PAGE_MODEL_IMPL_H_ | 6 #define COMPONENTS_OFFLINE_PAGES_OFFLINE_PAGE_MODEL_IMPL_H_ |
7 | 7 |
8 #include <stdint.h> | 8 #include <stdint.h> |
9 | 9 |
10 #include <map> | 10 #include <map> |
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
68 void RemoveObserver(Observer* observer) override; | 68 void RemoveObserver(Observer* observer) override; |
69 void SavePage(const GURL& url, | 69 void SavePage(const GURL& url, |
70 const ClientId& client_id, | 70 const ClientId& client_id, |
71 int64_t proposed_offline_id, | 71 int64_t proposed_offline_id, |
72 std::unique_ptr<OfflinePageArchiver> archiver, | 72 std::unique_ptr<OfflinePageArchiver> archiver, |
73 const SavePageCallback& callback) override; | 73 const SavePageCallback& callback) override; |
74 void MarkPageAccessed(int64_t offline_id) override; | 74 void MarkPageAccessed(int64_t offline_id) override; |
75 void ClearAll(const base::Closure& callback) override; | 75 void ClearAll(const base::Closure& callback) override; |
76 void DeletePagesByOfflineId(const std::vector<int64_t>& offline_ids, | 76 void DeletePagesByOfflineId(const std::vector<int64_t>& offline_ids, |
77 const DeletePageCallback& callback) override; | 77 const DeletePageCallback& callback) override; |
78 void DeletePagesByURLPredicate(const UrlPredicate& predicate, | 78 void DeleteCachedPagesByURLPredicate( |
79 const DeletePageCallback& callback) override; | 79 const UrlPredicate& predicate, |
| 80 const DeletePageCallback& callback) override; |
80 void HasPages(const std::string& name_space, | 81 void HasPages(const std::string& name_space, |
81 const HasPagesCallback& callback) override; | 82 const HasPagesCallback& callback) override; |
82 void CheckPagesExistOffline( | 83 void CheckPagesExistOffline( |
83 const std::set<GURL>& urls, | 84 const std::set<GURL>& urls, |
84 const CheckPagesExistOfflineCallback& callback) override; | 85 const CheckPagesExistOfflineCallback& callback) override; |
85 void GetAllPages(const MultipleOfflinePageItemCallback& callback) override; | 86 void GetAllPages(const MultipleOfflinePageItemCallback& callback) override; |
86 void GetAllPagesWithExpired( | 87 void GetAllPagesWithExpired( |
87 const MultipleOfflinePageItemCallback& callback) override; | 88 const MultipleOfflinePageItemCallback& callback) override; |
88 void GetOfflineIdsForClientId( | 89 void GetOfflineIdsForClientId( |
89 const ClientId& client_id, | 90 const ClientId& client_id, |
(...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
235 const std::vector<OfflinePageItem>& offline_pages); | 236 const std::vector<OfflinePageItem>& offline_pages); |
236 | 237 |
237 void CacheLoadedData(const std::vector<OfflinePageItem>& offline_pages); | 238 void CacheLoadedData(const std::vector<OfflinePageItem>& offline_pages); |
238 | 239 |
239 // Actually does the work of deleting, requires the model is loaded. | 240 // Actually does the work of deleting, requires the model is loaded. |
240 void DoDeletePagesByOfflineId(const std::vector<int64_t>& offline_ids, | 241 void DoDeletePagesByOfflineId(const std::vector<int64_t>& offline_ids, |
241 const DeletePageCallback& callback); | 242 const DeletePageCallback& callback); |
242 | 243 |
243 // Similar to DoDeletePagesByOfflineId, does actual work of deleting, and | 244 // Similar to DoDeletePagesByOfflineId, does actual work of deleting, and |
244 // requires that the model is loaded. | 245 // requires that the model is loaded. |
245 void DoDeletePagesByURLPredicate(const UrlPredicate& predicate, | 246 void DoDeleteCachedPagesByURLPredicate(const UrlPredicate& predicate, |
246 const DeletePageCallback& callback); | 247 const DeletePageCallback& callback); |
247 | 248 |
248 // Callback completing page expiration. | 249 // Callback completing page expiration. |
249 void OnExpirePageDone(int64_t offline_id, | 250 void OnExpirePageDone(int64_t offline_id, |
250 const base::Time& expiration_time, | 251 const base::Time& expiration_time, |
251 bool success); | 252 bool success); |
252 | 253 |
253 // Clears expired pages if there are any. | 254 // Clears expired pages if there are any. |
254 void ClearStorageIfNeeded( | 255 void ClearStorageIfNeeded( |
255 const OfflinePageStorageManager::ClearStorageCallback& callback); | 256 const OfflinePageStorageManager::ClearStorageCallback& callback); |
256 | 257 |
257 // Callback completing storage clearing. | 258 // Callback completing storage clearing. |
258 void OnStorageCleared(size_t expired_page_count, | 259 void OnStorageCleared(size_t expired_page_count, |
259 OfflinePageStorageManager::ClearStorageResult result); | 260 OfflinePageStorageManager::ClearStorageResult result); |
260 | 261 |
261 // Post task to clear storage. | 262 // Post task to clear storage. |
262 void PostClearStorageIfNeededTask(); | 263 void PostClearStorageIfNeededTask(); |
263 | 264 |
| 265 // Check if |offline_page| is user-requested. |
| 266 bool IsUserRequestedPage(const OfflinePageItem& offline_page) const; |
| 267 |
264 void RunWhenLoaded(const base::Closure& job); | 268 void RunWhenLoaded(const base::Closure& job); |
265 | 269 |
266 // Persistent store for offline page metadata. | 270 // Persistent store for offline page metadata. |
267 std::unique_ptr<OfflinePageMetadataStore> store_; | 271 std::unique_ptr<OfflinePageMetadataStore> store_; |
268 | 272 |
269 // Location where all of the archive files will be stored. | 273 // Location where all of the archive files will be stored. |
270 base::FilePath archives_dir_; | 274 base::FilePath archives_dir_; |
271 | 275 |
272 // The observers. | 276 // The observers. |
273 base::ObserverList<Observer> observers_; | 277 base::ObserverList<Observer> observers_; |
(...skipping 23 matching lines...) Expand all Loading... |
297 OfflinePageModelEventLogger offline_event_logger_; | 301 OfflinePageModelEventLogger offline_event_logger_; |
298 | 302 |
299 base::WeakPtrFactory<OfflinePageModelImpl> weak_ptr_factory_; | 303 base::WeakPtrFactory<OfflinePageModelImpl> weak_ptr_factory_; |
300 | 304 |
301 DISALLOW_COPY_AND_ASSIGN(OfflinePageModelImpl); | 305 DISALLOW_COPY_AND_ASSIGN(OfflinePageModelImpl); |
302 }; | 306 }; |
303 | 307 |
304 } // namespace offline_pages | 308 } // namespace offline_pages |
305 | 309 |
306 #endif // COMPONENTS_OFFLINE_PAGES_OFFLINE_PAGE_MODEL_IMPL_H_ | 310 #endif // COMPONENTS_OFFLINE_PAGES_OFFLINE_PAGE_MODEL_IMPL_H_ |
OLD | NEW |