| 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 // The history system runs on a background thread so that potentially slow | 5 // The history system runs on a background thread so that potentially slow |
| 6 // database operations don't delay the browser. This backend processing is | 6 // database operations don't delay the browser. This backend processing is |
| 7 // represented by HistoryBackend. The HistoryService's job is to dispatch to | 7 // represented by HistoryBackend. The HistoryService's job is to dispatch to |
| 8 // that thread. | 8 // that thread. |
| 9 // | 9 // |
| 10 // Main thread History thread | 10 // Main thread History thread |
| (...skipping 28 matching lines...) Expand all Loading... |
| 39 #include "chrome/browser/history/history_types.h" | 39 #include "chrome/browser/history/history_types.h" |
| 40 #include "chrome/browser/history/in_memory_database.h" | 40 #include "chrome/browser/history/in_memory_database.h" |
| 41 #include "chrome/browser/history/in_memory_history_backend.h" | 41 #include "chrome/browser/history/in_memory_history_backend.h" |
| 42 #include "chrome/browser/history/in_memory_url_index.h" | 42 #include "chrome/browser/history/in_memory_url_index.h" |
| 43 #include "chrome/browser/history/top_sites.h" | 43 #include "chrome/browser/history/top_sites.h" |
| 44 #include "chrome/browser/history/visit_database.h" | 44 #include "chrome/browser/history/visit_database.h" |
| 45 #include "chrome/browser/history/visit_filter.h" | 45 #include "chrome/browser/history/visit_filter.h" |
| 46 #include "chrome/browser/history/web_history_service.h" | 46 #include "chrome/browser/history/web_history_service.h" |
| 47 #include "chrome/browser/history/web_history_service_factory.h" | 47 #include "chrome/browser/history/web_history_service_factory.h" |
| 48 #include "chrome/browser/profiles/profile.h" | 48 #include "chrome/browser/profiles/profile.h" |
| 49 #include "chrome/browser/ui/profile_error_dialog.h" | |
| 50 #include "chrome/common/chrome_constants.h" | 49 #include "chrome/common/chrome_constants.h" |
| 51 #include "chrome/common/chrome_switches.h" | 50 #include "chrome/common/chrome_switches.h" |
| 52 #include "chrome/common/importer/imported_favicon_usage.h" | 51 #include "chrome/common/importer/imported_favicon_usage.h" |
| 53 #include "chrome/common/pref_names.h" | 52 #include "chrome/common/pref_names.h" |
| 54 #include "chrome/common/thumbnail_score.h" | 53 #include "chrome/common/thumbnail_score.h" |
| 55 #include "chrome/common/url_constants.h" | 54 #include "chrome/common/url_constants.h" |
| 56 #include "components/history/core/browser/history_client.h" | 55 #include "components/history/core/browser/history_client.h" |
| 57 #include "components/visitedlink/browser/visitedlink_master.h" | 56 #include "components/visitedlink/browser/visitedlink_master.h" |
| 58 #include "content/public/browser/browser_thread.h" | 57 #include "content/public/browser/browser_thread.h" |
| 59 #include "content/public/browser/download_item.h" | 58 #include "content/public/browser/download_item.h" |
| (...skipping 967 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1027 DCHECK(thread_checker_.CalledOnValidThread()); | 1026 DCHECK(thread_checker_.CalledOnValidThread()); |
| 1028 DCHECK(!in_memory_backend_) << "Setting mem DB twice"; | 1027 DCHECK(!in_memory_backend_) << "Setting mem DB twice"; |
| 1029 in_memory_backend_.reset(mem_backend.release()); | 1028 in_memory_backend_.reset(mem_backend.release()); |
| 1030 | 1029 |
| 1031 // The database requires additional initialization once we own it. | 1030 // The database requires additional initialization once we own it. |
| 1032 in_memory_backend_->AttachToHistoryService(profile_); | 1031 in_memory_backend_->AttachToHistoryService(profile_); |
| 1033 } | 1032 } |
| 1034 | 1033 |
| 1035 void HistoryService::NotifyProfileError(sql::InitStatus init_status) { | 1034 void HistoryService::NotifyProfileError(sql::InitStatus init_status) { |
| 1036 DCHECK(thread_checker_.CalledOnValidThread()); | 1035 DCHECK(thread_checker_.CalledOnValidThread()); |
| 1037 ShowProfileErrorDialog( | 1036 if (history_client_) |
| 1038 PROFILE_ERROR_HISTORY, | 1037 history_client_->NotifyProfileError(init_status); |
| 1039 (init_status == sql::INIT_FAILURE) ? | |
| 1040 IDS_COULDNT_OPEN_PROFILE_ERROR : IDS_PROFILE_TOO_NEW_ERROR); | |
| 1041 } | 1038 } |
| 1042 | 1039 |
| 1043 void HistoryService::DeleteURL(const GURL& url) { | 1040 void HistoryService::DeleteURL(const GURL& url) { |
| 1044 DCHECK(thread_checker_.CalledOnValidThread()); | 1041 DCHECK(thread_checker_.CalledOnValidThread()); |
| 1045 // We will update the visited links when we observe the delete notifications. | 1042 // We will update the visited links when we observe the delete notifications. |
| 1046 ScheduleAndForget(PRIORITY_NORMAL, &HistoryBackend::DeleteURL, url); | 1043 ScheduleAndForget(PRIORITY_NORMAL, &HistoryBackend::DeleteURL, url); |
| 1047 } | 1044 } |
| 1048 | 1045 |
| 1049 void HistoryService::DeleteURLsForTest(const std::vector<GURL>& urls) { | 1046 void HistoryService::DeleteURLsForTest(const std::vector<GURL>& urls) { |
| 1050 DCHECK(thread_checker_.CalledOnValidThread()); | 1047 DCHECK(thread_checker_.CalledOnValidThread()); |
| (...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1167 DCHECK(thread_checker_.CalledOnValidThread()); | 1164 DCHECK(thread_checker_.CalledOnValidThread()); |
| 1168 visit_database_observers_.RemoveObserver(observer); | 1165 visit_database_observers_.RemoveObserver(observer); |
| 1169 } | 1166 } |
| 1170 | 1167 |
| 1171 void HistoryService::NotifyVisitDBObserversOnAddVisit( | 1168 void HistoryService::NotifyVisitDBObserversOnAddVisit( |
| 1172 const history::BriefVisitInfo& info) { | 1169 const history::BriefVisitInfo& info) { |
| 1173 DCHECK(thread_checker_.CalledOnValidThread()); | 1170 DCHECK(thread_checker_.CalledOnValidThread()); |
| 1174 FOR_EACH_OBSERVER(history::VisitDatabaseObserver, visit_database_observers_, | 1171 FOR_EACH_OBSERVER(history::VisitDatabaseObserver, visit_database_observers_, |
| 1175 OnAddVisit(info)); | 1172 OnAddVisit(info)); |
| 1176 } | 1173 } |
| OLD | NEW |