Chromium Code Reviews| Index: chrome/browser/lifetime/browser_close_manager_browsertest.cc |
| diff --git a/chrome/browser/lifetime/browser_close_manager_browsertest.cc b/chrome/browser/lifetime/browser_close_manager_browsertest.cc |
| index dd5fae9afc853f984e99b1a9f32b2cac52489eff..3ce47499111b985ad6eebffde9170895981dc9cc 100644 |
| --- a/chrome/browser/lifetime/browser_close_manager_browsertest.cc |
| +++ b/chrome/browser/lifetime/browser_close_manager_browsertest.cc |
| @@ -21,8 +21,6 @@ |
| #include "chrome/browser/prefs/session_startup_pref.h" |
| #include "chrome/browser/profiles/profile.h" |
| #include "chrome/browser/profiles/profile_manager.h" |
| -#include "chrome/browser/ui/app_modal_dialogs/javascript_app_modal_dialog.h" |
| -#include "chrome/browser/ui/app_modal_dialogs/native_app_modal_dialog.h" |
| #include "chrome/browser/ui/browser.h" |
| #include "chrome/browser/ui/browser_commands.h" |
| #include "chrome/browser/ui/browser_iterator.h" |
| @@ -32,6 +30,8 @@ |
| #include "chrome/common/url_constants.h" |
| #include "chrome/test/base/in_process_browser_test.h" |
| #include "chrome/test/base/ui_test_utils.h" |
| +#include "components/app_modal_dialogs/javascript_app_modal_dialog.h" |
| +#include "components/app_modal_dialogs/native_app_modal_dialog.h" |
| #include "content/public/browser/browser_context.h" |
| #include "content/public/browser/download_item.h" |
| #include "content/public/browser/download_manager.h" |
| @@ -54,9 +54,7 @@ class AppModalDialogObserver { |
| AppModalDialogObserver() {} |
| void Start() { |
| - observer_.reset(new content::WindowedNotificationObserver( |
| - chrome::NOTIFICATION_APP_MODAL_DIALOG_SHOWN, |
| - content::NotificationService::AllSources())); |
| + waiter_ = ui_test_utils::CreateAppModalDialogWaiter(); |
| } |
| void AcceptClose() { |
| @@ -73,23 +71,18 @@ class AppModalDialogObserver { |
| private: |
| NativeAppModalDialog* GetNextDialog() { |
| - DCHECK(observer_); |
| - observer_->Wait(); |
| - if (observer_->source() == content::NotificationService::AllSources()) |
| - return NULL; |
| - |
| - AppModalDialog* dialog = |
| - content::Source<AppModalDialog>(observer_->source()).ptr(); |
| + DCHECK(waiter_.get()); |
| + AppModalDialog* dialog = waiter_->Wait(); |
| EXPECT_TRUE(dialog->IsJavaScriptModalDialog()); |
| JavaScriptAppModalDialog* js_dialog = |
| static_cast<JavaScriptAppModalDialog*>(dialog); |
| - observer_.reset(new content::WindowedNotificationObserver( |
| - chrome::NOTIFICATION_APP_MODAL_DIALOG_SHOWN, |
| - content::NotificationService::AllSources())); |
| + // Reset before creation because only one instance of the waiter is allowd. |
|
msw
2014/10/22 22:53:31
nit: "allowed"; for one-liner: s/instance of the w
|
| + waiter_.reset(); |
| + waiter_ = ui_test_utils::CreateAppModalDialogWaiter(); |
|
msw
2014/10/22 22:53:31
Why not just have a GetNextDialog-local |waiter|?
oshima
2014/10/23 00:44:11
Sure, done.
msw
2014/10/23 18:41:21
The class isn't needed, but it's still a great imp
oshima
2014/10/23 21:44:18
I see. Removed the class and replaced with functio
msw
2014/10/23 22:01:24
Great, thank you!
|
| return js_dialog->native_dialog(); |
| } |
| - scoped_ptr<content::WindowedNotificationObserver> observer_; |
| + scoped_ptr<AppModalDialogWaiter> waiter_; |
| DISALLOW_COPY_AND_ASSIGN(AppModalDialogObserver); |
| }; |