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