OLD | NEW |
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 Loading... |
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 Loading... |
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 |
OLD | NEW |