Index: athena/system/shutdown_dialog.cc |
diff --git a/athena/system/shutdown_dialog.cc b/athena/system/shutdown_dialog.cc |
index d4648d7ebed5955ee675f42e0bb32bb9d8164b5c..865349ea7613927444a9ff8ecbf2e2ab1515b3a7 100644 |
--- a/athena/system/shutdown_dialog.cc |
+++ b/athena/system/shutdown_dialog.cc |
@@ -15,7 +15,6 @@ |
#include "ui/views/controls/label.h" |
#include "ui/views/layout/box_layout.h" |
#include "ui/views/widget/widget.h" |
-#include "ui/views/window/dialog_delegate.h" |
namespace athena { |
namespace { |
@@ -24,33 +23,10 @@ |
// device after shutdown dialog is shown. |
const int kShutdownTimeoutMs = 4000; |
-class ModalWidgetDelegate : public views::WidgetDelegate { |
- public: |
- explicit ModalWidgetDelegate(views::View* contents_view) |
- : contents_view_(contents_view) {} |
- virtual ~ModalWidgetDelegate() {} |
- |
- // Overridden from WidgetDelegate: |
- virtual views::Widget* GetWidget() override { |
- return contents_view_->GetWidget(); |
- } |
- virtual const views::Widget* GetWidget() const override { |
- return contents_view_->GetWidget(); |
- } |
- virtual views::View* GetContentsView() override { return contents_view_; } |
- virtual ui::ModalType GetModalType() const override { |
- return ui::MODAL_TYPE_SYSTEM; |
- } |
- |
- private: |
- views::View* contents_view_; |
- |
- DISALLOW_COPY_AND_ASSIGN(ModalWidgetDelegate); |
-}; |
- |
} // namespace |
-ShutdownDialog::ShutdownDialog() : state_(STATE_OTHER) { |
+ShutdownDialog::ShutdownDialog(aura::Window* dialog_container) |
+ : warning_message_container_(dialog_container), state_(STATE_OTHER) { |
InputManager::Get()->AddPowerButtonObserver(this); |
} |
@@ -60,6 +36,13 @@ |
void ShutdownDialog::ShowShutdownWarningDialog() { |
state_ = STATE_SHUTDOWN_WARNING_VISIBLE; |
+ |
+ shutdown_warning_message_.reset(new views::Widget); |
+ |
+ views::Widget::InitParams params(views::Widget::InitParams::TYPE_POPUP); |
+ params.ownership = views::Widget::InitParams::WIDGET_OWNS_NATIVE_WIDGET; |
+ params.parent = warning_message_container_; |
+ shutdown_warning_message_->Init(params); |
views::Label* label = |
new views::Label(l10n_util::GetStringUTF16(IDS_ATHENA_SHUTDOWN_WARNING)); |
@@ -76,18 +59,9 @@ |
views::Background::CreateSolidBackground(SK_ColorWHITE)); |
container->SetBorder(views::Border::CreateSolidBorder(1, SK_ColorBLACK)); |
- views::Widget::InitParams params(views::Widget::InitParams::TYPE_POPUP); |
- params.delegate = new ModalWidgetDelegate(container); |
- params.ownership = views::Widget::InitParams::WIDGET_OWNS_NATIVE_WIDGET; |
- params.context = ScreenManager::Get()->GetContext(); |
- // Use top most modal container. |
- params.keep_on_top = true; |
- |
- shutdown_warning_message_.reset(new views::Widget); |
- shutdown_warning_message_->Init(params); |
+ shutdown_warning_message_->SetContentsView(container); |
+ shutdown_warning_message_->CenterWindow(container->GetPreferredSize()); |
shutdown_warning_message_->Show(); |
- shutdown_warning_message_->CenterWindow(container->GetPreferredSize()); |
- |
timer_.Start(FROM_HERE, |
base::TimeDelta::FromMilliseconds(kShutdownTimeoutMs), |
this, |