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

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

Issue 352913002: Port HistoryService::ScheduleDBTask to CancelableTaskTracker (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix lifetime of base::CancelableTaskTracker for HistoryModelWorker Created 6 years, 5 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 | Annotate | Revision Log
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 #include "base/bind.h" 5 #include "base/bind.h"
6 #include "base/memory/weak_ptr.h" 6 #include "base/memory/weak_ptr.h"
7 #include "base/message_loop/message_loop.h" 7 #include "base/message_loop/message_loop.h"
8 #include "base/path_service.h" 8 #include "base/path_service.h"
9 #include "base/strings/utf_string_conversions.h" 9 #include "base/strings/utf_string_conversions.h"
10 #include "base/task/cancelable_task_tracker.h" 10 #include "base/task/cancelable_task_tracker.h"
(...skipping 163 matching lines...) Expand 10 before | Expand all | Expand 10 after
174 // loaded from the db. 174 // loaded from the db.
175 void RefreshTopSitesAndRecreate() { 175 void RefreshTopSitesAndRecreate() {
176 StartQueryForMostVisited(); 176 StartQueryForMostVisited();
177 WaitForHistory(); 177 WaitForHistory();
178 RecreateTopSitesAndBlock(); 178 RecreateTopSitesAndBlock();
179 } 179 }
180 180
181 // Blocks the caller until history processes a task. This is useful if you 181 // Blocks the caller until history processes a task. This is useful if you
182 // need to wait until you know history has processed a task. 182 // need to wait until you know history has processed a task.
183 void WaitForHistory() { 183 void WaitForHistory() {
184 history_service()->ScheduleDBTask(new WaitForHistoryTask(), &consumer_); 184 history_service()->ScheduleDBTask(new WaitForHistoryTask(),
185 &history_tracker_);
185 base::MessageLoop::current()->Run(); 186 base::MessageLoop::current()->Run();
186 } 187 }
187 188
188 // Waits for top sites to finish processing a task. This is useful if you need 189 // Waits for top sites to finish processing a task. This is useful if you need
189 // to wait until top sites finishes processing a task. 190 // to wait until top sites finishes processing a task.
190 void WaitForTopSites() { 191 void WaitForTopSites() {
191 top_sites()->backend_->DoEmptyRequest( 192 top_sites()->backend_->DoEmptyRequest(
192 base::Bind(&TopSitesImplTest::QuitCallback, base::Unretained(this)), 193 base::Bind(&TopSitesImplTest::QuitCallback, base::Unretained(this)),
193 &cancelable_task_tracker_); 194 &top_sites_tracker_);
194 base::MessageLoop::current()->Run(); 195 base::MessageLoop::current()->Run();
195 } 196 }
196 197
197 TopSitesImpl* top_sites() { 198 TopSitesImpl* top_sites() {
198 return static_cast<TopSitesImpl*>(profile_->GetTopSites()); 199 return static_cast<TopSitesImpl*>(profile_->GetTopSites());
199 } 200 }
200 CancelableRequestConsumer* consumer() { return &consumer_; }
201 TestingProfile* profile() {return profile_.get();} 201 TestingProfile* profile() {return profile_.get();}
202 HistoryService* history_service() { 202 HistoryService* history_service() {
203 return HistoryServiceFactory::GetForProfile(profile_.get(), 203 return HistoryServiceFactory::GetForProfile(profile_.get(),
204 Profile::EXPLICIT_ACCESS); 204 Profile::EXPLICIT_ACCESS);
205 } 205 }
206 206
207 MostVisitedURLList GetPrepopulatePages() { 207 MostVisitedURLList GetPrepopulatePages() {
208 return top_sites()->GetPrepopulatePages(); 208 return top_sites()->GetPrepopulatePages();
209 } 209 }
210 210
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after
325 top_sites()->thread_safe_cache_->SetTopSites(empty); 325 top_sites()->thread_safe_cache_->SetTopSites(empty);
326 } 326 }
327 327
328 private: 328 private:
329 base::MessageLoopForUI message_loop_; 329 base::MessageLoopForUI message_loop_;
330 content::TestBrowserThread ui_thread_; 330 content::TestBrowserThread ui_thread_;
331 content::TestBrowserThread db_thread_; 331 content::TestBrowserThread db_thread_;
332 scoped_ptr<TestingProfile> profile_; 332 scoped_ptr<TestingProfile> profile_;
333 333
334 // To cancel HistoryService tasks. 334 // To cancel HistoryService tasks.
335 CancelableRequestConsumer consumer_; 335 base::CancelableTaskTracker history_tracker_;
336 336
337 // To cancel TopSitesBackend tasks. 337 // To cancel TopSitesBackend tasks.
338 base::CancelableTaskTracker cancelable_task_tracker_; 338 base::CancelableTaskTracker top_sites_tracker_;
339 339
340 DISALLOW_COPY_AND_ASSIGN(TopSitesImplTest); 340 DISALLOW_COPY_AND_ASSIGN(TopSitesImplTest);
341 }; // Class TopSitesImplTest 341 }; // Class TopSitesImplTest
342 342
343 // Helper function for appending a URL to a vector of "most visited" URLs, 343 // Helper function for appending a URL to a vector of "most visited" URLs,
344 // using the default values for everything but the URL. 344 // using the default values for everything but the URL.
345 static void AppendMostVisitedURL(std::vector<MostVisitedURL>* list, 345 static void AppendMostVisitedURL(std::vector<MostVisitedURL>* list,
346 const GURL& url) { 346 const GURL& url) {
347 MostVisitedURL mv; 347 MostVisitedURL mv;
348 mv.url = url; 348 mv.url = url;
(...skipping 1217 matching lines...) Expand 10 before | Expand all | Expand 10 after
1566 ASSERT_EQ(orig_thumbnail.getSize(), thumbnail.getSize()); 1566 ASSERT_EQ(orig_thumbnail.getSize(), thumbnail.getSize());
1567 orig_thumbnail.lockPixels(); 1567 orig_thumbnail.lockPixels();
1568 thumbnail.lockPixels(); 1568 thumbnail.lockPixels();
1569 EXPECT_EQ(0, memcmp(orig_thumbnail.getPixels(), thumbnail.getPixels(), 1569 EXPECT_EQ(0, memcmp(orig_thumbnail.getPixels(), thumbnail.getPixels(),
1570 orig_thumbnail.getSize())); 1570 orig_thumbnail.getSize()));
1571 thumbnail.unlockPixels(); 1571 thumbnail.unlockPixels();
1572 orig_thumbnail.unlockPixels(); 1572 orig_thumbnail.unlockPixels();
1573 } 1573 }
1574 1574
1575 } // namespace history 1575 } // namespace history
OLDNEW
« no previous file with comments | « chrome/browser/history/in_memory_url_index_unittest.cc ('k') | chrome/browser/history/url_index_private_data.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698