Chromium Code Reviews| Index: chrome/test/base/ui_test_utils.cc |
| diff --git a/chrome/test/base/ui_test_utils.cc b/chrome/test/base/ui_test_utils.cc |
| index 978835bd9958cd22f6f1da1cf3998e8e50da360d..0ec2bfcb8b0df310f17e7836e306aa7251635f7b 100644 |
| --- a/chrome/test/base/ui_test_utils.cc |
| +++ b/chrome/test/base/ui_test_utils.cc |
| @@ -364,14 +364,6 @@ void WaitForTemplateURLServiceToLoad(TemplateURLService* service) { |
| ASSERT_TRUE(service->loaded()); |
| } |
| -void WaitForHistoryToLoad(HistoryService* history_service) { |
| - content::WindowedNotificationObserver history_loaded_observer( |
| - chrome::NOTIFICATION_HISTORY_LOADED, |
| - content::NotificationService::AllSources()); |
| - if (!history_service->BackendLoaded()) |
| - history_loaded_observer.Wait(); |
| -} |
| - |
| void DownloadURL(Browser* browser, const GURL& download_url) { |
| base::ScopedTempDir downloads_directory; |
| ASSERT_TRUE(downloads_directory.CreateUniqueTempDir()); |
| @@ -581,4 +573,26 @@ void HistoryEnumerator::HistoryQueryComplete( |
| quit_task.Run(); |
| } |
| +WaitHistoryLoadedObserver::WaitHistoryLoadedObserver( |
| + content::MessageLoopRunner* runner) |
| + : runner_(runner) { |
| +} |
| + |
| +WaitHistoryLoadedObserver::~WaitHistoryLoadedObserver() { |
| +} |
| + |
| +void WaitHistoryLoadedObserver::HistoryServiceLoaded(HistoryService* service) { |
| + runner_->Quit(); |
| +} |
| + |
| +void WaitForHistoryToLoad(HistoryService* history_service) { |
| + if (!history_service->BackendLoaded()) { |
| + scoped_refptr<content::MessageLoopRunner> runner = |
| + new content::MessageLoopRunner; |
| + WaitHistoryLoadedObserver observer(runner.get()); |
| + history_service->AddHistoryServiceObserver(&observer); |
|
sdefresne
2014/10/20 13:15:42
Use ScopedObserver
nshaik
2014/10/29 08:43:39
Done.
|
| + runner->Run(); |
| + history_service->RemoveHistoryServiceObserver(&observer); |
| + } |
| +} |
| } // namespace ui_test_utils |