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

Side by Side Diff: chrome/browser/history/history_service.cc

Issue 575993002: Fix WeakPtrFactory member ordering in chrome/browser (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 3 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
« no previous file with comments | « chrome/browser/history/history_service.h ('k') | chrome/browser/io_thread.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 // 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 188 matching lines...) Expand 10 before | Expand all | Expand 10 after
199 private: 199 private:
200 const base::WeakPtr<HistoryService> history_service_; 200 const base::WeakPtr<HistoryService> history_service_;
201 const scoped_refptr<base::SequencedTaskRunner> service_task_runner_; 201 const scoped_refptr<base::SequencedTaskRunner> service_task_runner_;
202 Profile* const profile_; 202 Profile* const profile_;
203 }; 203 };
204 204
205 // The history thread is intentionally not a BrowserThread because the 205 // The history thread is intentionally not a BrowserThread because the
206 // sync integration unit tests depend on being able to create more than one 206 // sync integration unit tests depend on being able to create more than one
207 // history thread. 207 // history thread.
208 HistoryService::HistoryService() 208 HistoryService::HistoryService()
209 : weak_ptr_factory_(this), 209 : thread_(new base::Thread(kHistoryThreadName)),
210 thread_(new base::Thread(kHistoryThreadName)),
211 history_client_(NULL), 210 history_client_(NULL),
212 profile_(NULL), 211 profile_(NULL),
213 backend_loaded_(false), 212 backend_loaded_(false),
214 no_db_(false) { 213 no_db_(false),
214 weak_ptr_factory_(this) {
215 } 215 }
216 216
217 HistoryService::HistoryService(history::HistoryClient* client, Profile* profile) 217 HistoryService::HistoryService(history::HistoryClient* client, Profile* profile)
218 : weak_ptr_factory_(this), 218 : thread_(new base::Thread(kHistoryThreadName)),
219 thread_(new base::Thread(kHistoryThreadName)),
220 history_client_(client), 219 history_client_(client),
221 profile_(profile), 220 profile_(profile),
222 visitedlink_master_(new visitedlink::VisitedLinkMaster( 221 visitedlink_master_(new visitedlink::VisitedLinkMaster(
223 profile, this, true)), 222 profile, this, true)),
224 backend_loaded_(false), 223 backend_loaded_(false),
225 no_db_(false) { 224 no_db_(false),
225 weak_ptr_factory_(this) {
226 DCHECK(profile_); 226 DCHECK(profile_);
227 registrar_.Add(this, chrome::NOTIFICATION_HISTORY_URLS_DELETED, 227 registrar_.Add(this, chrome::NOTIFICATION_HISTORY_URLS_DELETED,
228 content::Source<Profile>(profile_)); 228 content::Source<Profile>(profile_));
229 } 229 }
230 230
231 HistoryService::~HistoryService() { 231 HistoryService::~HistoryService() {
232 DCHECK(thread_checker_.CalledOnValidThread()); 232 DCHECK(thread_checker_.CalledOnValidThread());
233 // Shutdown the backend. This does nothing if Cleanup was already invoked. 233 // Shutdown the backend. This does nothing if Cleanup was already invoked.
234 Cleanup(); 234 Cleanup();
235 } 235 }
(...skipping 1009 matching lines...) Expand 10 before | Expand all | Expand 10 after
1245 const HistoryService::OnFaviconChangedCallback& callback) { 1245 const HistoryService::OnFaviconChangedCallback& callback) {
1246 DCHECK(thread_checker_.CalledOnValidThread()); 1246 DCHECK(thread_checker_.CalledOnValidThread());
1247 return favicon_changed_callback_list_.Add(callback); 1247 return favicon_changed_callback_list_.Add(callback);
1248 } 1248 }
1249 1249
1250 void HistoryService::NotifyFaviconChanged( 1250 void HistoryService::NotifyFaviconChanged(
1251 const std::set<GURL>& changed_favicons) { 1251 const std::set<GURL>& changed_favicons) {
1252 DCHECK(thread_checker_.CalledOnValidThread()); 1252 DCHECK(thread_checker_.CalledOnValidThread());
1253 favicon_changed_callback_list_.Notify(changed_favicons); 1253 favicon_changed_callback_list_.Notify(changed_favicons);
1254 } 1254 }
OLDNEW
« no previous file with comments | « chrome/browser/history/history_service.h ('k') | chrome/browser/io_thread.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698