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

Side by Side Diff: components/history/core/browser/top_sites_impl_unittest.cc

Issue 1402553002: Don't use base::MessageLoop::{Quit,QuitClosure} in components/ (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 2 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 (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 "components/history/core/browser/top_sites_impl.h" 5 #include "components/history/core/browser/top_sites_impl.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/files/scoped_temp_dir.h" 8 #include "base/files/scoped_temp_dir.h"
9 #include "base/memory/weak_ptr.h" 9 #include "base/memory/weak_ptr.h"
10 #include "base/message_loop/message_loop.h" 10 #include "base/message_loop/message_loop.h"
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
46 46
47 // Used by WaitForHistory, see it for details. 47 // Used by WaitForHistory, see it for details.
48 class WaitForHistoryTask : public HistoryDBTask { 48 class WaitForHistoryTask : public HistoryDBTask {
49 public: 49 public:
50 WaitForHistoryTask() {} 50 WaitForHistoryTask() {}
51 51
52 bool RunOnDBThread(HistoryBackend* backend, HistoryDatabase* db) override { 52 bool RunOnDBThread(HistoryBackend* backend, HistoryDatabase* db) override {
53 return true; 53 return true;
54 } 54 }
55 55
56 void DoneRunOnMainThread() override { base::MessageLoop::current()->Quit(); } 56 void DoneRunOnMainThread() override {
57 base::MessageLoop::current()->QuitWhenIdle();
58 }
57 59
58 private: 60 private:
59 ~WaitForHistoryTask() override {} 61 ~WaitForHistoryTask() override {}
60 62
61 DISALLOW_COPY_AND_ASSIGN(WaitForHistoryTask); 63 DISALLOW_COPY_AND_ASSIGN(WaitForHistoryTask);
62 }; 64 };
63 65
64 // Used for querying top sites. Either runs sequentially, or runs a nested 66 // Used for querying top sites. Either runs sequentially, or runs a nested
65 // nested message loop until the response is complete. The later is used when 67 // nested message loop until the response is complete. The later is used when
66 // TopSites is queried before it finishes loading. 68 // TopSites is queried before it finishes loading.
(...skipping 30 matching lines...) Expand all
97 const MostVisitedURLList& urls() const { return urls_; } 99 const MostVisitedURLList& urls() const { return urls_; }
98 100
99 int number_of_callbacks() const { return number_of_callbacks_; } 101 int number_of_callbacks() const { return number_of_callbacks_; }
100 102
101 private: 103 private:
102 // Callback for TopSitesImpl::GetMostVisitedURLs. 104 // Callback for TopSitesImpl::GetMostVisitedURLs.
103 void OnTopSitesAvailable(const history::MostVisitedURLList& data) { 105 void OnTopSitesAvailable(const history::MostVisitedURLList& data) {
104 urls_ = data; 106 urls_ = data;
105 number_of_callbacks_++; 107 number_of_callbacks_++;
106 if (waiting_) { 108 if (waiting_) {
107 base::MessageLoop::current()->Quit(); 109 base::MessageLoop::current()->QuitWhenIdle();
108 waiting_ = false; 110 waiting_ = false;
109 } 111 }
110 } 112 }
111 113
112 MostVisitedURLList urls_; 114 MostVisitedURLList urls_;
113 int number_of_callbacks_; 115 int number_of_callbacks_;
114 bool waiting_; 116 bool waiting_;
115 base::WeakPtrFactory<TopSitesQuerier> weak_ptr_factory_; 117 base::WeakPtrFactory<TopSitesQuerier> weak_ptr_factory_;
116 118
117 DISALLOW_COPY_AND_ASSIGN(TopSitesQuerier); 119 DISALLOW_COPY_AND_ASSIGN(TopSitesQuerier);
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
204 ASSERT_LE(start_index + prepopulate_pages.size(), querier.urls().size()); 206 ASSERT_LE(start_index + prepopulate_pages.size(), querier.urls().size());
205 for (size_t i = 0; i < prepopulate_pages.size(); ++i) { 207 for (size_t i = 0; i < prepopulate_pages.size(); ++i) {
206 EXPECT_EQ(prepopulate_pages[i].most_visited.url.spec(), 208 EXPECT_EQ(prepopulate_pages[i].most_visited.url.spec(),
207 querier.urls()[start_index + i].url.spec()) 209 querier.urls()[start_index + i].url.spec())
208 << " @ index " << i; 210 << " @ index " << i;
209 } 211 }
210 } 212 }
211 213
212 // Quit the current message loop when invoked. Useful when running a nested 214 // Quit the current message loop when invoked. Useful when running a nested
213 // message loop. 215 // message loop.
214 void QuitCallback() { base::MessageLoop::current()->Quit(); } 216 void QuitCallback() { base::MessageLoop::current()->QuitWhenIdle(); }
215 217
216 // Adds a page to history. 218 // Adds a page to history.
217 void AddPageToHistory(const GURL& url) { 219 void AddPageToHistory(const GURL& url) {
218 RedirectList redirects; 220 RedirectList redirects;
219 redirects.push_back(url); 221 redirects.push_back(url);
220 history_service()->AddPage( 222 history_service()->AddPage(
221 url, base::Time::Now(), reinterpret_cast<ContextID>(1), 0, GURL(), 223 url, base::Time::Now(), reinterpret_cast<ContextID>(1), 0, GURL(),
222 redirects, ui::PAGE_TRANSITION_TYPED, history::SOURCE_BROWSED, false); 224 redirects, ui::PAGE_TRANSITION_TYPED, history::SOURCE_BROWSED, false);
223 } 225 }
224 226
(...skipping 1426 matching lines...) Expand 10 before | Expand all | Expand 10 after
1651 EXPECT_EQ("http://forced/5", querier.urls()[5].url.spec()); 1653 EXPECT_EQ("http://forced/5", querier.urls()[5].url.spec());
1652 EXPECT_EQ(6000u, querier.urls()[5].last_forced_time.ToJsTime()); 1654 EXPECT_EQ(6000u, querier.urls()[5].last_forced_time.ToJsTime());
1653 scoped_refptr<base::RefCountedMemory> thumbnail_data; 1655 scoped_refptr<base::RefCountedMemory> thumbnail_data;
1654 ASSERT_TRUE(top_sites()->GetPageThumbnail(GURL("http://forced/5"), false, 1656 ASSERT_TRUE(top_sites()->GetPageThumbnail(GURL("http://forced/5"), false,
1655 &thumbnail_data)); 1657 &thumbnail_data));
1656 ASSERT_TRUE( 1658 ASSERT_TRUE(
1657 ThumbnailsAreEqual(orig_thumbnail_data.get(), thumbnail_data.get())); 1659 ThumbnailsAreEqual(orig_thumbnail_data.get(), thumbnail_data.get()));
1658 } 1660 }
1659 1661
1660 } // namespace history 1662 } // namespace history
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698