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 #include "components/offline_pages/offline_page_model_impl.h" | 5 #include "components/offline_pages/offline_page_model_impl.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <limits> | 8 #include <limits> |
9 | 9 |
10 #include "base/bind.h" | 10 #include "base/bind.h" |
(...skipping 772 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
783 } | 783 } |
784 InformSavePageDone(callback, result, offline_page.client_id, | 784 InformSavePageDone(callback, result, offline_page.client_id, |
785 offline_page.offline_id); | 785 offline_page.offline_id); |
786 if (result == SavePageResult::SUCCESS) { | 786 if (result == SavePageResult::SUCCESS) { |
787 DeleteExistingPagesWithSameURL(offline_page); | 787 DeleteExistingPagesWithSameURL(offline_page); |
788 } else { | 788 } else { |
789 PostClearStorageIfNeededTask(); | 789 PostClearStorageIfNeededTask(); |
790 } | 790 } |
791 | 791 |
792 DeletePendingArchiver(archiver); | 792 DeletePendingArchiver(archiver); |
793 FOR_EACH_OBSERVER(Observer, observers_, OfflinePageModelChanged(this)); | 793 for (Observer& observer : observers_) |
| 794 observer.OfflinePageModelChanged(this); |
794 } | 795 } |
795 | 796 |
796 void OfflinePageModelImpl::OnMarkPageAccesseDone( | 797 void OfflinePageModelImpl::OnMarkPageAccesseDone( |
797 const OfflinePageItem& offline_page_item, | 798 const OfflinePageItem& offline_page_item, |
798 std::unique_ptr<OfflinePagesUpdateResult> result) { | 799 std::unique_ptr<OfflinePagesUpdateResult> result) { |
799 // Update the item in the cache only upon success. | 800 // Update the item in the cache only upon success. |
800 if (result->updated_items.size() > 0) | 801 if (result->updated_items.size() > 0) |
801 offline_pages_[offline_page_item.offline_id] = offline_page_item; | 802 offline_pages_[offline_page_item.offline_id] = offline_page_item; |
802 | 803 |
803 // No need to fire OfflinePageModelChanged event since updating access info | 804 // No need to fire OfflinePageModelChanged event since updating access info |
(...skipping 27 matching lines...) Expand all Loading... |
831 | 832 |
832 // Create Storage Manager. | 833 // Create Storage Manager. |
833 storage_manager_.reset(new OfflinePageStorageManager( | 834 storage_manager_.reset(new OfflinePageStorageManager( |
834 this, GetPolicyController(), archive_manager_.get())); | 835 this, GetPolicyController(), archive_manager_.get())); |
835 | 836 |
836 // Run all the delayed tasks. | 837 // Run all the delayed tasks. |
837 for (const auto& delayed_task : delayed_tasks_) | 838 for (const auto& delayed_task : delayed_tasks_) |
838 delayed_task.Run(); | 839 delayed_task.Run(); |
839 delayed_tasks_.clear(); | 840 delayed_tasks_.clear(); |
840 | 841 |
841 FOR_EACH_OBSERVER(Observer, observers_, OfflinePageModelLoaded(this)); | 842 for (Observer& observer : observers_) |
| 843 observer.OfflinePageModelLoaded(this); |
842 | 844 |
843 CheckMetadataConsistency(); | 845 CheckMetadataConsistency(); |
844 | 846 |
845 base::ThreadTaskRunnerHandle::Get()->PostDelayedTask( | 847 base::ThreadTaskRunnerHandle::Get()->PostDelayedTask( |
846 FROM_HERE, base::Bind(&OfflinePageModelImpl::ClearStorageIfNeeded, | 848 FROM_HERE, base::Bind(&OfflinePageModelImpl::ClearStorageIfNeeded, |
847 weak_ptr_factory_.GetWeakPtr(), | 849 weak_ptr_factory_.GetWeakPtr(), |
848 base::Bind(&OfflinePageModelImpl::OnStorageCleared, | 850 base::Bind(&OfflinePageModelImpl::OnStorageCleared, |
849 weak_ptr_factory_.GetWeakPtr())), | 851 weak_ptr_factory_.GetWeakPtr())), |
850 kStorageManagerStartingDelay); | 852 kStorageManagerStartingDelay); |
851 } | 853 } |
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
940 for (const auto& page : result->updated_items) { | 942 for (const auto& page : result->updated_items) { |
941 int64_t offline_id = page.offline_id; | 943 int64_t offline_id = page.offline_id; |
942 offline_event_logger_.RecordPageDeleted(std::to_string(offline_id)); | 944 offline_event_logger_.RecordPageDeleted(std::to_string(offline_id)); |
943 auto iter = offline_pages_.find(offline_id); | 945 auto iter = offline_pages_.find(offline_id); |
944 if (iter == offline_pages_.end()) | 946 if (iter == offline_pages_.end()) |
945 continue; | 947 continue; |
946 offline_pages_.erase(iter); | 948 offline_pages_.erase(iter); |
947 } | 949 } |
948 | 950 |
949 for (const auto& page : result->updated_items) { | 951 for (const auto& page : result->updated_items) { |
950 FOR_EACH_OBSERVER(Observer, observers_, | 952 for (Observer& observer : observers_) |
951 OfflinePageDeleted(page.offline_id, page.client_id)); | 953 observer.OfflinePageDeleted(page.offline_id, page.client_id); |
952 } | 954 } |
953 | 955 |
954 // TODO(fgorski): React the FAILED_INITIALIZATION, FAILED_RESET here. | 956 // TODO(fgorski): React the FAILED_INITIALIZATION, FAILED_RESET here. |
955 // TODO(fgorski): We need a better callback interface for the Remove action on | 957 // TODO(fgorski): We need a better callback interface for the Remove action on |
956 // the this class. Currently removing an item that does not exist is | 958 // the this class. Currently removing an item that does not exist is |
957 // considered a success, but not called out as such to the caller. | 959 // considered a success, but not called out as such to the caller. |
958 DeletePageResult delete_result; | 960 DeletePageResult delete_result; |
959 if (result->store_state == StoreState::LOADED) | 961 if (result->store_state == StoreState::LOADED) |
960 delete_result = DeletePageResult::SUCCESS; | 962 delete_result = DeletePageResult::SUCCESS; |
961 else | 963 else |
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1080 } | 1082 } |
1081 | 1083 |
1082 base::ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE, task); | 1084 base::ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE, task); |
1083 } | 1085 } |
1084 | 1086 |
1085 base::Time OfflinePageModelImpl::GetCurrentTime() const { | 1087 base::Time OfflinePageModelImpl::GetCurrentTime() const { |
1086 return testing_clock_ ? testing_clock_->Now() : base::Time::Now(); | 1088 return testing_clock_ ? testing_clock_->Now() : base::Time::Now(); |
1087 } | 1089 } |
1088 | 1090 |
1089 } // namespace offline_pages | 1091 } // namespace offline_pages |
OLD | NEW |