| 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,
|
|
|