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

Side by Side Diff: chrome/browser/autocomplete/in_memory_url_index.cc

Issue 959343004: Move InMemoryURLIndex outside of history namespace (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@in-memory-url-index
Patch Set: Created 5 years, 9 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 unified diff | Download patch
OLDNEW
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/autocomplete/in_memory_url_index.h" 5 #include "chrome/browser/autocomplete/in_memory_url_index.h"
6 6
7 #include "base/files/file_util.h" 7 #include "base/files/file_util.h"
8 #include "base/strings/utf_string_conversions.h" 8 #include "base/strings/utf_string_conversions.h"
9 #include "base/trace_event/trace_event.h" 9 #include "base/trace_event/trace_event.h"
10 #include "chrome/browser/autocomplete/url_index_private_data.h" 10 #include "chrome/browser/autocomplete/url_index_private_data.h"
11 #include "chrome/browser/history/history_service.h" 11 #include "chrome/browser/history/history_service.h"
12 #include "chrome/common/url_constants.h" 12 #include "chrome/common/url_constants.h"
13 #include "components/history/core/browser/url_database.h" 13 #include "components/history/core/browser/url_database.h"
14 #include "content/public/browser/browser_thread.h" 14 #include "content/public/browser/browser_thread.h"
15 15
16 using in_memory_url_index::InMemoryURLIndexCacheItem; 16 using in_memory_url_index::InMemoryURLIndexCacheItem;
17 17
18 namespace history {
19
20 // Called by DoSaveToCacheFile to delete any old cache file at |path| when 18 // Called by DoSaveToCacheFile to delete any old cache file at |path| when
21 // there is no private data to save. Runs on the FILE thread. 19 // there is no private data to save. Runs on the FILE thread.
22 void DeleteCacheFile(const base::FilePath& path) { 20 void DeleteCacheFile(const base::FilePath& path) {
23 DCHECK(!content::BrowserThread::CurrentlyOn(content::BrowserThread::UI)); 21 DCHECK(!content::BrowserThread::CurrentlyOn(content::BrowserThread::UI));
24 base::DeleteFile(path, false); 22 base::DeleteFile(path, false);
25 } 23 }
26 24
27 // Initializes a whitelist of URL schemes. 25 // Initializes a whitelist of URL schemes.
28 void InitializeSchemeWhitelist(std::set<std::string>* whitelist) { 26 void InitializeSchemeWhitelist(std::set<std::string>* whitelist) {
29 DCHECK(whitelist); 27 DCHECK(whitelist);
(...skipping 21 matching lines...) Expand all
51 InMemoryURLIndex* index, 49 InMemoryURLIndex* index,
52 const std::string& languages, 50 const std::string& languages,
53 const std::set<std::string>& scheme_whitelist) 51 const std::set<std::string>& scheme_whitelist)
54 : index_(index), 52 : index_(index),
55 languages_(languages), 53 languages_(languages),
56 scheme_whitelist_(scheme_whitelist), 54 scheme_whitelist_(scheme_whitelist),
57 succeeded_(false) { 55 succeeded_(false) {
58 } 56 }
59 57
60 bool InMemoryURLIndex::RebuildPrivateDataFromHistoryDBTask::RunOnDBThread( 58 bool InMemoryURLIndex::RebuildPrivateDataFromHistoryDBTask::RunOnDBThread(
61 HistoryBackend* backend, 59 history::HistoryBackend* backend,
62 HistoryDatabase* db) { 60 history::HistoryDatabase* db) {
63 data_ = URLIndexPrivateData::RebuildFromHistory(db, languages_, 61 data_ = URLIndexPrivateData::RebuildFromHistory(db, languages_,
64 scheme_whitelist_); 62 scheme_whitelist_);
65 succeeded_ = data_.get() && !data_->Empty(); 63 succeeded_ = data_.get() && !data_->Empty();
66 if (!succeeded_ && data_.get()) 64 if (!succeeded_ && data_.get())
67 data_->Clear(); 65 data_->Clear();
68 return true; 66 return true;
69 } 67 }
70 68
71 void InMemoryURLIndex::RebuildPrivateDataFromHistoryDBTask:: 69 void InMemoryURLIndex::RebuildPrivateDataFromHistoryDBTask::
72 DoneRunOnMainThread() { 70 DoneRunOnMainThread() {
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
148 } 146 }
149 147
150 // Updating -------------------------------------------------------------------- 148 // Updating --------------------------------------------------------------------
151 149
152 void InMemoryURLIndex::DeleteURL(const GURL& url) { 150 void InMemoryURLIndex::DeleteURL(const GURL& url) {
153 private_data_->DeleteURL(url); 151 private_data_->DeleteURL(url);
154 } 152 }
155 153
156 void InMemoryURLIndex::OnURLVisited(HistoryService* history_service, 154 void InMemoryURLIndex::OnURLVisited(HistoryService* history_service,
157 ui::PageTransition transition, 155 ui::PageTransition transition,
158 const URLRow& row, 156 const history::URLRow& row,
159 const RedirectList& redirects, 157 const history::RedirectList& redirects,
160 base::Time visit_time) { 158 base::Time visit_time) {
161 DCHECK_EQ(history_service_, history_service); 159 DCHECK_EQ(history_service_, history_service);
162 needs_to_be_cached_ |= private_data_->UpdateURL(history_service_, 160 needs_to_be_cached_ |= private_data_->UpdateURL(history_service_,
163 row, 161 row,
164 languages_, 162 languages_,
165 scheme_whitelist_, 163 scheme_whitelist_,
166 &private_data_tracker_); 164 &private_data_tracker_);
167 } 165 }
168 166
169 void InMemoryURLIndex::OnURLsModified(HistoryService* history_service, 167 void InMemoryURLIndex::OnURLsModified(HistoryService* history_service,
170 const URLRows& changed_urls) { 168 const history::URLRows& changed_urls) {
171 DCHECK_EQ(history_service_, history_service); 169 DCHECK_EQ(history_service_, history_service);
172 for (const auto& row : changed_urls) { 170 for (const auto& row : changed_urls) {
173 needs_to_be_cached_ |= private_data_->UpdateURL(history_service_, 171 needs_to_be_cached_ |= private_data_->UpdateURL(history_service_,
174 row, 172 row,
175 languages_, 173 languages_,
176 scheme_whitelist_, 174 scheme_whitelist_,
177 &private_data_tracker_); 175 &private_data_tracker_);
178 } 176 }
179 } 177 }
180 178
181 void InMemoryURLIndex::OnURLsDeleted(HistoryService* history_service, 179 void InMemoryURLIndex::OnURLsDeleted(HistoryService* history_service,
182 bool all_history, 180 bool all_history,
183 bool expired, 181 bool expired,
184 const URLRows& deleted_rows, 182 const history::URLRows& deleted_rows,
185 const std::set<GURL>& favicon_urls) { 183 const std::set<GURL>& favicon_urls) {
186 if (all_history) { 184 if (all_history) {
187 ClearPrivateData(); 185 ClearPrivateData();
188 needs_to_be_cached_ = true; 186 needs_to_be_cached_ = true;
189 } else { 187 } else {
190 for (const auto& row : deleted_rows) 188 for (const auto& row : deleted_rows)
191 needs_to_be_cached_ |= private_data_->DeleteURL(row.url()); 189 needs_to_be_cached_ |= private_data_->DeleteURL(row.url());
192 } 190 }
193 // If we made changes, destroy the previous cache. Otherwise, if we go 191 // If we made changes, destroy the previous cache. Otherwise, if we go
194 // through an unclean shutdown (and therefore fail to write a new cache file), 192 // through an unclean shutdown (and therefore fail to write a new cache file),
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after
285 } else { 283 } else {
286 private_data_->Clear(); // Dump the old private data. 284 private_data_->Clear(); // Dump the old private data.
287 // There is no need to do anything with the cache file as it was deleted 285 // There is no need to do anything with the cache file as it was deleted
288 // when the rebuild from the history operation was kicked off. 286 // when the rebuild from the history operation was kicked off.
289 } 287 }
290 restored_ = true; 288 restored_ = true;
291 if (restore_cache_observer_) 289 if (restore_cache_observer_)
292 restore_cache_observer_->OnCacheRestoreFinished(succeeded); 290 restore_cache_observer_->OnCacheRestoreFinished(succeeded);
293 } 291 }
294 292
295 void InMemoryURLIndex::RebuildFromHistory(HistoryDatabase* history_db) { 293 void InMemoryURLIndex::RebuildFromHistory(
294 history::HistoryDatabase* history_db) {
296 private_data_tracker_.TryCancelAll(); 295 private_data_tracker_.TryCancelAll();
297 private_data_ = URLIndexPrivateData::RebuildFromHistory(history_db, 296 private_data_ = URLIndexPrivateData::RebuildFromHistory(history_db,
298 languages_, 297 languages_,
299 scheme_whitelist_); 298 scheme_whitelist_);
300 } 299 }
301 300
302 // Saving to Cache ------------------------------------------------------------- 301 // Saving to Cache -------------------------------------------------------------
303 302
304 void InMemoryURLIndex::PostSaveToCacheFileTask() { 303 void InMemoryURLIndex::PostSaveToCacheFileTask() {
305 base::FilePath path; 304 base::FilePath path;
(...skipping 16 matching lines...) Expand all
322 content::BrowserThread::PostBlockingPoolTask( 321 content::BrowserThread::PostBlockingPoolTask(
323 FROM_HERE, 322 FROM_HERE,
324 base::Bind(DeleteCacheFile, path)); 323 base::Bind(DeleteCacheFile, path));
325 } 324 }
326 } 325 }
327 326
328 void InMemoryURLIndex::OnCacheSaveDone(bool succeeded) { 327 void InMemoryURLIndex::OnCacheSaveDone(bool succeeded) {
329 if (save_cache_observer_) 328 if (save_cache_observer_)
330 save_cache_observer_->OnCacheSaveFinished(succeeded); 329 save_cache_observer_->OnCacheSaveFinished(succeeded);
331 } 330 }
332
333 } // namespace history
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698