Chromium Code Reviews| Index: components/app_modal_dialogs/app_modal_dialog.cc |
| diff --git a/chrome/browser/ui/app_modal_dialogs/app_modal_dialog.cc b/components/app_modal_dialogs/app_modal_dialog.cc |
| similarity index 73% |
| rename from chrome/browser/ui/app_modal_dialogs/app_modal_dialog.cc |
| rename to components/app_modal_dialogs/app_modal_dialog.cc |
| index edd94572dd7e4cb87150d0d69fcf67383d021962..408dfc4de09a935ce10df88af2d4d198a6b3a5a0 100644 |
| --- a/chrome/browser/ui/app_modal_dialogs/app_modal_dialog.cc |
| +++ b/components/app_modal_dialogs/app_modal_dialog.cc |
| @@ -2,18 +2,33 @@ |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| -#include "chrome/browser/ui/app_modal_dialogs/app_modal_dialog.h" |
| +#include "components/app_modal_dialogs/app_modal_dialog.h" |
| #include "base/logging.h" |
| -#include "chrome/browser/chrome_notification_types.h" |
| -#include "chrome/browser/ui/app_modal_dialogs/app_modal_dialog_queue.h" |
| -#include "chrome/browser/ui/app_modal_dialogs/native_app_modal_dialog.h" |
| -#include "content/public/browser/notification_service.h" |
| +#include "base/run_loop.h" |
| +#include "components/app_modal_dialogs/app_modal_dialog_queue.h" |
| +#include "components/app_modal_dialogs/native_app_modal_dialog.h" |
| #include "content/public/browser/web_contents.h" |
| #include "content/public/browser/web_contents_delegate.h" |
| using content::WebContents; |
| +namespace { |
| + |
| +AppModalDialogWaiter* waiter_ = NULL; |
| + |
| +} // namespace |
| + |
| +AppModalDialogWaiter::AppModalDialogWaiter() { |
| + DCHECK(!waiter_); |
| + waiter_ = this; |
| +} |
| + |
| +AppModalDialogWaiter::~AppModalDialogWaiter() { |
| + DCHECK(waiter_); |
| + waiter_ = NULL; |
| +} |
| + |
| AppModalDialog::AppModalDialog(WebContents* web_contents, |
| const base::string16& title) |
| : title_(title), |
| @@ -30,11 +45,8 @@ AppModalDialog::~AppModalDialog() { |
| void AppModalDialog::ShowModalDialog() { |
| web_contents_->GetDelegate()->ActivateContents(web_contents_); |
| CreateAndShowDialog(); |
| - |
| - content::NotificationService::current()->Notify( |
| - chrome::NOTIFICATION_APP_MODAL_DIALOG_SHOWN, |
|
Avi (use Gerrit)
2014/10/21 17:14:29
If you are removing the firing of this notificatio
oshima
2014/10/21 18:27:15
Looks like I accidentally reverted the change whil
|
| - content::Source<AppModalDialog>(this), |
| - content::NotificationService::NoDetails()); |
| + if (waiter_) |
| + waiter_->Notify(this); |
| } |
| void AppModalDialog::CreateAndShowDialog() { |