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 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
50 #include "chrome/browser/history/web_history_service_factory.h" | 50 #include "chrome/browser/history/web_history_service_factory.h" |
51 #include "chrome/browser/profiles/profile.h" | 51 #include "chrome/browser/profiles/profile.h" |
52 #include "chrome/browser/ui/profile_error_dialog.h" | 52 #include "chrome/browser/ui/profile_error_dialog.h" |
53 #include "chrome/common/chrome_constants.h" | 53 #include "chrome/common/chrome_constants.h" |
54 #include "chrome/common/chrome_switches.h" | 54 #include "chrome/common/chrome_switches.h" |
55 #include "chrome/common/importer/imported_favicon_usage.h" | 55 #include "chrome/common/importer/imported_favicon_usage.h" |
56 #include "chrome/common/pref_names.h" | 56 #include "chrome/common/pref_names.h" |
57 #include "chrome/common/thumbnail_score.h" | 57 #include "chrome/common/thumbnail_score.h" |
58 #include "chrome/common/url_constants.h" | 58 #include "chrome/common/url_constants.h" |
59 #include "components/bookmarks/browser/bookmark_model.h" | 59 #include "components/bookmarks/browser/bookmark_model.h" |
| 60 #include "components/history/core/browser/history_client.h" |
60 #include "components/visitedlink/browser/visitedlink_master.h" | 61 #include "components/visitedlink/browser/visitedlink_master.h" |
61 #include "content/public/browser/browser_thread.h" | 62 #include "content/public/browser/browser_thread.h" |
62 #include "content/public/browser/download_item.h" | 63 #include "content/public/browser/download_item.h" |
63 #include "content/public/browser/notification_service.h" | 64 #include "content/public/browser/notification_service.h" |
64 #include "grit/chromium_strings.h" | 65 #include "grit/chromium_strings.h" |
65 #include "grit/generated_resources.h" | 66 #include "grit/generated_resources.h" |
66 #include "sync/api/sync_error_factory.h" | 67 #include "sync/api/sync_error_factory.h" |
67 #include "third_party/skia/include/core/SkBitmap.h" | 68 #include "third_party/skia/include/core/SkBitmap.h" |
68 | 69 |
69 using base::Time; | 70 using base::Time; |
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
185 const scoped_refptr<base::SequencedTaskRunner> service_task_runner_; | 186 const scoped_refptr<base::SequencedTaskRunner> service_task_runner_; |
186 Profile* const profile_; | 187 Profile* const profile_; |
187 }; | 188 }; |
188 | 189 |
189 // The history thread is intentionally not a BrowserThread because the | 190 // The history thread is intentionally not a BrowserThread because the |
190 // sync integration unit tests depend on being able to create more than one | 191 // sync integration unit tests depend on being able to create more than one |
191 // history thread. | 192 // history thread. |
192 HistoryService::HistoryService() | 193 HistoryService::HistoryService() |
193 : weak_ptr_factory_(this), | 194 : weak_ptr_factory_(this), |
194 thread_(new base::Thread(kHistoryThreadName)), | 195 thread_(new base::Thread(kHistoryThreadName)), |
| 196 history_client_(NULL), |
195 profile_(NULL), | 197 profile_(NULL), |
196 backend_loaded_(false), | 198 backend_loaded_(false), |
197 bookmark_service_(NULL), | 199 bookmark_service_(NULL), |
198 no_db_(false) { | 200 no_db_(false) { |
199 } | 201 } |
200 | 202 |
201 HistoryService::HistoryService(Profile* profile) | 203 HistoryService::HistoryService(history::HistoryClient* client, Profile* profile) |
202 : weak_ptr_factory_(this), | 204 : weak_ptr_factory_(this), |
203 thread_(new base::Thread(kHistoryThreadName)), | 205 thread_(new base::Thread(kHistoryThreadName)), |
| 206 history_client_(client), |
204 profile_(profile), | 207 profile_(profile), |
205 visitedlink_master_(new visitedlink::VisitedLinkMaster( | 208 visitedlink_master_(new visitedlink::VisitedLinkMaster( |
206 profile, this, true)), | 209 profile, this, true)), |
207 backend_loaded_(false), | 210 backend_loaded_(false), |
208 bookmark_service_(NULL), | 211 bookmark_service_(NULL), |
209 no_db_(false) { | 212 no_db_(false) { |
210 DCHECK(profile_); | 213 DCHECK(profile_); |
211 registrar_.Add(this, chrome::NOTIFICATION_HISTORY_URLS_DELETED, | 214 registrar_.Add(this, chrome::NOTIFICATION_HISTORY_URLS_DELETED, |
212 content::Source<Profile>(profile_)); | 215 content::Source<Profile>(profile_)); |
213 registrar_.Add(this, chrome::NOTIFICATION_TEMPLATE_URL_REMOVED, | 216 registrar_.Add(this, chrome::NOTIFICATION_TEMPLATE_URL_REMOVED, |
(...skipping 972 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1186 DCHECK(thread_checker_.CalledOnValidThread()); | 1189 DCHECK(thread_checker_.CalledOnValidThread()); |
1187 visit_database_observers_.RemoveObserver(observer); | 1190 visit_database_observers_.RemoveObserver(observer); |
1188 } | 1191 } |
1189 | 1192 |
1190 void HistoryService::NotifyVisitDBObserversOnAddVisit( | 1193 void HistoryService::NotifyVisitDBObserversOnAddVisit( |
1191 const history::BriefVisitInfo& info) { | 1194 const history::BriefVisitInfo& info) { |
1192 DCHECK(thread_checker_.CalledOnValidThread()); | 1195 DCHECK(thread_checker_.CalledOnValidThread()); |
1193 FOR_EACH_OBSERVER(history::VisitDatabaseObserver, visit_database_observers_, | 1196 FOR_EACH_OBSERVER(history::VisitDatabaseObserver, visit_database_observers_, |
1194 OnAddVisit(info)); | 1197 OnAddVisit(info)); |
1195 } | 1198 } |
OLD | NEW |