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..7507239b5053c8dc19dd7da6bcaeb927e6bb348f 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 { |
| + |
| +AppModalDialogObserver* observer_ = NULL; |
|
msw
2014/10/23 22:01:24
nit: s/observer_/app_modal_dialog_observer/
oshima
2014/10/24 11:17:04
Done.
|
| + |
| +} // namespace |
| + |
| +AppModalDialogObserver::AppModalDialogObserver() { |
| + DCHECK(!observer_); |
| + observer_ = this; |
| +} |
| + |
| +AppModalDialogObserver::~AppModalDialogObserver() { |
| + DCHECK(observer_); |
| + observer_ = 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, |
| - content::Source<AppModalDialog>(this), |
| - content::NotificationService::NoDetails()); |
| + if (observer_) |
| + observer_->Notify(this); |
| } |
| void AppModalDialog::CreateAndShowDialog() { |