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

Side by Side Diff: components/enhanced_bookmarks/bookmark_image_service.cc

Issue 588233002: Fix lifetime of EnhancedBookmarkModel & BookmarkImageService (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix compilation of unittests 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
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 #include "components/enhanced_bookmarks/bookmark_image_service.h" 4 #include "components/enhanced_bookmarks/bookmark_image_service.h"
5 5
6 #include "base/single_thread_task_runner.h" 6 #include "base/single_thread_task_runner.h"
7 #include "base/thread_task_runner_handle.h" 7 #include "base/thread_task_runner_handle.h"
8 #include "base/threading/sequenced_worker_pool.h" 8 #include "base/threading/sequenced_worker_pool.h"
9 #include "components/bookmarks/browser/bookmark_model.h" 9 #include "components/bookmarks/browser/bookmark_model.h"
10 #include "components/bookmarks/browser/bookmark_model_observer.h" 10 #include "components/bookmarks/browser/bookmark_model_observer.h"
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
76 (PersistentImageStore*)::operator new(sizeof(PersistentImageStore)); 76 (PersistentImageStore*)::operator new(sizeof(PersistentImageStore));
77 store_.reset(store); 77 store_.reset(store);
78 pool_->PostNamedSequencedWorkerTask( 78 pool_->PostNamedSequencedWorkerTask(
79 kSequenceToken, 79 kSequenceToken,
80 FROM_HERE, 80 FROM_HERE,
81 base::Bind(&ConstructPersistentImageStore, store, path)); 81 base::Bind(&ConstructPersistentImageStore, store, path));
82 } 82 }
83 83
84 BookmarkImageService::~BookmarkImageService() { 84 BookmarkImageService::~BookmarkImageService() {
85 DCHECK(CalledOnValidThread()); 85 DCHECK(CalledOnValidThread());
86 enhanced_bookmark_model_->bookmark_model()->RemoveObserver(this);
87 pool_->PostNamedSequencedWorkerTask( 86 pool_->PostNamedSequencedWorkerTask(
88 kSequenceToken, 87 kSequenceToken,
89 FROM_HERE, 88 FROM_HERE,
90 base::Bind(&DeleteImageStore, store_.release())); 89 base::Bind(&DeleteImageStore, store_.release()));
91 } 90 }
92 91
92 void BookmarkImageService::Shutdown() {
93 DCHECK(CalledOnValidThread());
94 enhanced_bookmark_model_->bookmark_model()->RemoveObserver(this);
95 enhanced_bookmark_model_ = NULL;
96 }
97
93 void BookmarkImageService::SalientImageForUrl(const GURL& page_url, 98 void BookmarkImageService::SalientImageForUrl(const GURL& page_url,
94 Callback callback) { 99 Callback callback) {
95 DCHECK(CalledOnValidThread()); 100 DCHECK(CalledOnValidThread());
96 SalientImageForUrl(page_url, true, callback); 101 SalientImageForUrl(page_url, true, callback);
97 } 102 }
98 103
99 void BookmarkImageService::RetrieveImageFromStore( 104 void BookmarkImageService::RetrieveImageFromStore(
100 const GURL& page_url, 105 const GURL& page_url,
101 BookmarkImageService::Callback callback) { 106 BookmarkImageService::Callback callback) {
102 DCHECK(CalledOnValidThread()); 107 DCHECK(CalledOnValidThread());
(...skipping 232 matching lines...) Expand 10 before | Expand all | Expand 10 after
335 const BookmarkNode* node) { 340 const BookmarkNode* node) {
336 } 341 }
337 342
338 void BookmarkImageService::BookmarkAllUserNodesRemoved( 343 void BookmarkImageService::BookmarkAllUserNodesRemoved(
339 BookmarkModel* model, 344 BookmarkModel* model,
340 const std::set<GURL>& removed_urls) { 345 const std::set<GURL>& removed_urls) {
341 ClearAll(); 346 ClearAll();
342 } 347 }
343 348
344 } // namespace enhanced_bookmarks 349 } // namespace enhanced_bookmarks
OLDNEW
« no previous file with comments | « components/enhanced_bookmarks/bookmark_image_service.h ('k') | components/enhanced_bookmarks/enhanced_bookmark_model.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698