| Index: chrome/browser/chromeos/login/webui_login_display_host.cc
|
| diff --git a/chrome/browser/chromeos/login/webui_login_display_host.cc b/chrome/browser/chromeos/login/webui_login_display_host.cc
|
| index ced024cf6f8e11326921fb12b1494e94f8624514..3f511ab61b943bf3dd7115cb8cd9f3e559042e4e 100644
|
| --- a/chrome/browser/chromeos/login/webui_login_display_host.cc
|
| +++ b/chrome/browser/chromeos/login/webui_login_display_host.cc
|
| @@ -4,17 +4,26 @@
|
|
|
| #include "chrome/browser/chromeos/login/webui_login_display_host.h"
|
|
|
| +#include "chrome/browser/chromeos/login/oobe_display.h"
|
| #include "chrome/browser/chromeos/login/webui_login_display.h"
|
| +#include "chrome/browser/chromeos/login/webui_login_view.h"
|
| +#include "chrome/browser/chromeos/login/wizard_controller.h"
|
| +#include "chrome/browser/ui/webui/chromeos/login/oobe_ui.h"
|
| +#include "views/widget/widget.h"
|
|
|
| namespace chromeos {
|
|
|
| // WebUILoginDisplayHost -------------------------------------------------------
|
|
|
| WebUILoginDisplayHost::WebUILoginDisplayHost(const gfx::Rect& background_bounds)
|
| - : BaseLoginDisplayHost(background_bounds) {
|
| + : BaseLoginDisplayHost(background_bounds),
|
| + login_window_(NULL),
|
| + login_view_(NULL) {
|
| }
|
|
|
| WebUILoginDisplayHost::~WebUILoginDisplayHost() {
|
| + if (login_window_)
|
| + login_window_->Close();
|
| }
|
|
|
| // LoginDisplayHost implementation ---------------------------------------------
|
| @@ -49,5 +58,25 @@ void WebUILoginDisplayHost::SetStatusAreaVisible(bool visible) {
|
| void WebUILoginDisplayHost::ShowBackground() {
|
| }
|
|
|
| -} // namespace chromeos
|
| +WizardController* WebUILoginDisplayHost::CreateWizardController() {
|
| + if (!login_window_) {
|
| + views::Widget::InitParams params(views::Widget::InitParams::TYPE_WINDOW);
|
| + params.bounds = background_bounds();
|
| +
|
| + login_window_ = new views::Widget;
|
| + login_window_->Init(params);
|
| +
|
| + login_view_ = new WebUILoginView();
|
| +
|
| + login_view_->Init(GURL("chrome://oobe"));
|
| + login_window_->SetContentsView(login_view_);
|
| + login_view_->UpdateWindowType();
|
|
|
| + login_window_->Show();
|
| + }
|
| +
|
| + OobeDisplay* oobe_display = static_cast<OobeUI*>(login_view_->GetWebUI());
|
| + return new WizardController(this, oobe_display);
|
| +}
|
| +
|
| +} // namespace chromeos
|
|
|