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 762c602ccf4c3728c3353d9a4cf564d5082a1ffe..6a4bc113a69d22ee597b1e7a735de14468db2831 100644 |
| --- a/chrome/test/base/ui_test_utils.cc |
| +++ b/chrome/test/base/ui_test_utils.cc |
| @@ -49,6 +49,7 @@ |
| #include "components/app_modal_dialogs/app_modal_dialog.h" |
| #include "components/app_modal_dialogs/app_modal_dialog_queue.h" |
| #include "components/bookmarks/browser/bookmark_model.h" |
| +#include "components/history/core/browser/history_service_observer.h" |
| #include "components/search_engines/template_url_service.h" |
| #include "content/public/browser/dom_operation_notification_details.h" |
| #include "content/public/browser/download_item.h" |
| @@ -363,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()); |
| @@ -540,4 +533,42 @@ void HistoryEnumerator::HistoryQueryComplete( |
| quit_task.Run(); |
| } |
| +// Wait for HistoryService to load. |
| +class WaitHistoryLoadedObserver : public history::HistoryServiceObserver { |
| + public: |
| + explicit WaitHistoryLoadedObserver(content::MessageLoopRunner* runner); |
| + ~WaitHistoryLoadedObserver() override; |
| + // history::HistoryServiceObserver: |
|
brettw
2014/11/14 21:13:07
Blank line before here.
nshaik
2014/11/15 07:04:15
Done.
|
| + void OnHistoryServiceLoaded(HistoryService* service) override; |
| + |
| + private: |
| + // weak |
| + content::MessageLoopRunner* runner_; |
| +}; |
| + |
| +WaitHistoryLoadedObserver::WaitHistoryLoadedObserver( |
| + content::MessageLoopRunner* runner) |
| + : runner_(runner) { |
| +} |
| + |
| +WaitHistoryLoadedObserver::~WaitHistoryLoadedObserver() { |
| +} |
| + |
| +void WaitHistoryLoadedObserver::OnHistoryServiceLoaded( |
| + 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()); |
| + ScopedObserver<HistoryService, history::HistoryServiceObserver> |
| + scoped_observer(&observer); |
| + scoped_observer.Add(history_service); |
| + runner->Run(); |
| + } |
| +} |
| + |
| } // namespace ui_test_utils |