| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 "chrome/browser/history/android/android_provider_backend.h" | 5 #include "chrome/browser/history/android/android_provider_backend.h" |
| 6 | 6 |
| 7 #include <vector> | 7 #include <vector> |
| 8 | 8 |
| 9 #include "base/files/file_path.h" | 9 #include "base/files/file_path.h" |
| 10 #include "base/files/file_util.h" | 10 #include "base/files/file_util.h" |
| (...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 62 bitmap.eraseColor(SK_ColorBLUE); | 62 bitmap.eraseColor(SK_ColorBLUE); |
| 63 return bitmap; | 63 return bitmap; |
| 64 } | 64 } |
| 65 | 65 |
| 66 } // namespace | 66 } // namespace |
| 67 | 67 |
| 68 class AndroidProviderBackendDelegate : public HistoryBackend::Delegate { | 68 class AndroidProviderBackendDelegate : public HistoryBackend::Delegate { |
| 69 public: | 69 public: |
| 70 AndroidProviderBackendDelegate() {} | 70 AndroidProviderBackendDelegate() {} |
| 71 | 71 |
| 72 virtual void NotifyProfileError(sql::InitStatus init_status) override {} | 72 void NotifyProfileError(sql::InitStatus init_status) override {} |
| 73 virtual void SetInMemoryBackend( | 73 void SetInMemoryBackend( |
| 74 scoped_ptr<InMemoryHistoryBackend> backend) override {} | 74 scoped_ptr<InMemoryHistoryBackend> backend) override {} |
| 75 virtual void NotifyAddVisit(const history::BriefVisitInfo& info) override {} | 75 void NotifyAddVisit(const history::BriefVisitInfo& info) override {} |
| 76 virtual void NotifyFaviconChanged(const std::set<GURL>& url) override { | 76 void NotifyFaviconChanged(const std::set<GURL>& url) override { |
| 77 favicon_changed_.reset(new std::set<GURL>(url.begin(), url.end())); | 77 favicon_changed_.reset(new std::set<GURL>(url.begin(), url.end())); |
| 78 } | 78 } |
| 79 virtual void NotifyURLVisited(ui::PageTransition, | 79 void NotifyURLVisited(ui::PageTransition, |
| 80 const history::URLRow& row, | 80 const history::URLRow& row, |
| 81 const history::RedirectList& redirects, | 81 const history::RedirectList& redirects, |
| 82 base::Time visit_time) override {} | 82 base::Time visit_time) override {} |
| 83 virtual void BroadcastNotifications( | 83 void NotifyURLsModified(const history::URLRows& rows) override { |
| 84 modified_details_.reset(new history::URLRows(rows)); |
| 85 } |
| 86 void BroadcastNotifications( |
| 84 int type, | 87 int type, |
| 85 scoped_ptr<HistoryDetails> details) override { | 88 scoped_ptr<HistoryDetails> details) override { |
| 86 switch (type) { | 89 DCHECK_EQ(type, chrome::NOTIFICATION_HISTORY_URLS_DELETED); |
| 87 case chrome::NOTIFICATION_HISTORY_URLS_DELETED: { | 90 scoped_ptr<URLsDeletedDetails> urls_deleted_details( |
| 88 scoped_ptr<URLsDeletedDetails> urls_deleted_details( | 91 static_cast<URLsDeletedDetails*>(details.release())); |
| 89 static_cast<URLsDeletedDetails*>(details.release())); | 92 deleted_details_.reset(new history::URLRows(urls_deleted_details->rows)); |
| 90 deleted_details_.reset(new history::URLRows( | |
| 91 urls_deleted_details->rows)); | |
| 92 break; | |
| 93 } | |
| 94 case chrome::NOTIFICATION_HISTORY_URLS_MODIFIED: { | |
| 95 scoped_ptr<URLsModifiedDetails> urls_modified_details( | |
| 96 static_cast<URLsModifiedDetails*>(details.release())); | |
| 97 modified_details_.reset(new history::URLRows( | |
| 98 urls_modified_details->changed_urls)); | |
| 99 break; | |
| 100 } | |
| 101 } | |
| 102 } | 93 } |
| 103 virtual void DBLoaded() override {} | 94 void DBLoaded() override {} |
| 104 | 95 |
| 105 history::URLRows* deleted_details() const { return deleted_details_.get(); } | 96 history::URLRows* deleted_details() const { return deleted_details_.get(); } |
| 106 | 97 |
| 107 history::URLRows* modified_details() const { return modified_details_.get(); } | 98 history::URLRows* modified_details() const { return modified_details_.get(); } |
| 108 | 99 |
| 109 std::set<GURL>* favicon_changed() const { return favicon_changed_.get(); } | 100 std::set<GURL>* favicon_changed() const { return favicon_changed_.get(); } |
| 110 | 101 |
| 111 void ResetDetails() { | 102 void ResetDetails() { |
| 112 deleted_details_.reset(); | 103 deleted_details_.reset(); |
| 113 modified_details_.reset(); | 104 modified_details_.reset(); |
| (...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 167 class AndroidProviderBackendTest : public testing::Test { | 158 class AndroidProviderBackendTest : public testing::Test { |
| 168 public: | 159 public: |
| 169 AndroidProviderBackendTest() | 160 AndroidProviderBackendTest() |
| 170 : thumbnail_db_(NULL), | 161 : thumbnail_db_(NULL), |
| 171 profile_manager_( | 162 profile_manager_( |
| 172 TestingBrowserProcess::GetGlobal()), | 163 TestingBrowserProcess::GetGlobal()), |
| 173 bookmark_model_(NULL), | 164 bookmark_model_(NULL), |
| 174 ui_thread_(BrowserThread::UI, &message_loop_), | 165 ui_thread_(BrowserThread::UI, &message_loop_), |
| 175 file_thread_(BrowserThread::FILE, &message_loop_) { | 166 file_thread_(BrowserThread::FILE, &message_loop_) { |
| 176 } | 167 } |
| 177 virtual ~AndroidProviderBackendTest() {} | 168 ~AndroidProviderBackendTest() override {} |
| 178 | 169 |
| 179 protected: | 170 protected: |
| 180 virtual void SetUp() override { | 171 void SetUp() override { |
| 181 // Setup the testing profile, so the bookmark_model_sql_handler could | 172 // Setup the testing profile, so the bookmark_model_sql_handler could |
| 182 // get the bookmark model from it. | 173 // get the bookmark model from it. |
| 183 ASSERT_TRUE(profile_manager_.SetUp()); | 174 ASSERT_TRUE(profile_manager_.SetUp()); |
| 184 // It seems that the name has to be chrome::kInitialProfile, so it | 175 // It seems that the name has to be chrome::kInitialProfile, so it |
| 185 // could be found by ProfileManager::GetLastUsedProfile(). | 176 // could be found by ProfileManager::GetLastUsedProfile(). |
| 186 TestingProfile* testing_profile = profile_manager_.CreateTestingProfile( | 177 TestingProfile* testing_profile = profile_manager_.CreateTestingProfile( |
| 187 chrome::kInitialProfile); | 178 chrome::kInitialProfile); |
| 188 testing_profile->CreateBookmarkModel(true); | 179 testing_profile->CreateBookmarkModel(true); |
| 189 bookmark_model_ = BookmarkModelFactory::GetForProfile(testing_profile); | 180 bookmark_model_ = BookmarkModelFactory::GetForProfile(testing_profile); |
| 190 history_client_ = | 181 history_client_ = |
| (...skipping 1960 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2151 update_args, &update_count)); | 2142 update_args, &update_count)); |
| 2152 // Verify notifications. | 2143 // Verify notifications. |
| 2153 EXPECT_FALSE(notifier_.deleted_details()); | 2144 EXPECT_FALSE(notifier_.deleted_details()); |
| 2154 ASSERT_TRUE(notifier_.modified_details()); | 2145 ASSERT_TRUE(notifier_.modified_details()); |
| 2155 ASSERT_EQ(1u, notifier_.modified_details()->size()); | 2146 ASSERT_EQ(1u, notifier_.modified_details()->size()); |
| 2156 // No favicon will be updated as thumbnail database is missing. | 2147 // No favicon will be updated as thumbnail database is missing. |
| 2157 EXPECT_FALSE(notifier_.favicon_changed()); | 2148 EXPECT_FALSE(notifier_.favicon_changed()); |
| 2158 } | 2149 } |
| 2159 | 2150 |
| 2160 } // namespace history | 2151 } // namespace history |
| OLD | NEW |