OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/browser/chromeos/login/webui_login_display_host.h" | 5 #include "chrome/browser/chromeos/login/webui_login_display_host.h" |
6 | 6 |
7 #include "base/command_line.h" | 7 #include "base/command_line.h" |
8 #include "base/memory/scoped_ptr.h" | 8 #include "base/memory/scoped_ptr.h" |
9 #include "chrome/browser/chromeos/login/oobe_display.h" | 9 #include "chrome/browser/chromeos/login/oobe_display.h" |
10 #include "chrome/browser/chromeos/login/webui_login_display.h" | 10 #include "chrome/browser/chromeos/login/webui_login_display.h" |
11 #include "chrome/browser/chromeos/login/webui_login_view.h" | 11 #include "chrome/browser/chromeos/login/webui_login_view.h" |
12 #include "chrome/browser/chromeos/login/wizard_controller.h" | 12 #include "chrome/browser/chromeos/login/wizard_controller.h" |
13 #include "chrome/browser/ui/webui/chromeos/login/oobe_ui.h" | 13 #include "chrome/browser/ui/webui/chromeos/login/oobe_ui.h" |
14 #include "ui/views/widget/widget.h" | 14 #include "ui/views/widget/widget.h" |
15 | 15 |
16 #if defined(USE_AURA) | 16 #if defined(USE_AURA) |
17 #include "ash/shell.h" | 17 #include "ash/shell.h" |
18 #include "ash/shell_window_ids.h" | |
19 #include "ui/aura/window.h" | 18 #include "ui/aura/window.h" |
20 #endif | 19 #endif |
21 | 20 |
22 namespace chromeos { | 21 namespace chromeos { |
23 | 22 |
24 namespace { | 23 namespace { |
25 | 24 |
26 // URL which corresponds to the login WebUI. | 25 // URL which corresponds to the login WebUI. |
27 const char kLoginURL[] = "chrome://oobe/login"; | 26 const char kLoginURL[] = "chrome://oobe/login"; |
28 // URL which corresponds to the OOBE WebUI. | 27 // URL which corresponds to the OOBE WebUI. |
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
124 views::Widget::InitParams::TYPE_WINDOW_FRAMELESS); | 123 views::Widget::InitParams::TYPE_WINDOW_FRAMELESS); |
125 params.bounds = background_bounds(); | 124 params.bounds = background_bounds(); |
126 | 125 |
127 login_window_ = new views::Widget; | 126 login_window_ = new views::Widget; |
128 login_window_->Init(params); | 127 login_window_->Init(params); |
129 login_view_ = new WebUILoginView(); | 128 login_view_ = new WebUILoginView(); |
130 | 129 |
131 login_view_->Init(login_window_); | 130 login_view_->Init(login_window_); |
132 | 131 |
133 #if defined(USE_AURA) | 132 #if defined(USE_AURA) |
134 ash::Shell::GetInstance()->GetContainer( | 133 login_window_->GetNativeView()->set_stops_event_propagation(true); |
135 ash::internal::kShellWindowId_LockScreenContainer)-> | 134 // Let the shell pick the container. |
136 AddChild(login_window_->GetNativeView()); | 135 login_window_->GetNativeView()->SetParent(NULL); |
137 #endif | 136 #endif |
138 | 137 |
139 login_window_->SetContentsView(login_view_); | 138 login_window_->SetContentsView(login_view_); |
140 login_view_->UpdateWindowType(); | 139 login_view_->UpdateWindowType(); |
141 | 140 |
142 login_window_->Show(); | 141 login_window_->Show(); |
143 #if defined(USE_AURA) | 142 #if defined(USE_AURA) |
144 login_window_->GetNativeView()->SetName("WebUILoginView"); | 143 login_window_->GetNativeView()->SetName("WebUILoginView"); |
145 #endif | 144 #endif |
146 login_view_->OnWindowCreated(); | 145 login_view_->OnWindowCreated(); |
147 } | 146 } |
148 login_view_->LoadURL(url); | 147 login_view_->LoadURL(url); |
149 } | 148 } |
150 | 149 |
151 OobeUI* WebUILoginDisplayHost::GetOobeUI() const { | 150 OobeUI* WebUILoginDisplayHost::GetOobeUI() const { |
152 return static_cast<OobeUI*>(login_view_->GetWebUI()); | 151 return static_cast<OobeUI*>(login_view_->GetWebUI()); |
153 } | 152 } |
154 | 153 |
155 WizardController* WebUILoginDisplayHost::CreateWizardController() { | 154 WizardController* WebUILoginDisplayHost::CreateWizardController() { |
156 // TODO(altimofeev): ensure that WebUI is ready. | 155 // TODO(altimofeev): ensure that WebUI is ready. |
157 OobeDisplay* oobe_display = GetOobeUI(); | 156 OobeDisplay* oobe_display = GetOobeUI(); |
158 return new WizardController(this, oobe_display); | 157 return new WizardController(this, oobe_display); |
159 } | 158 } |
160 | 159 |
161 } // namespace chromeos | 160 } // namespace chromeos |
OLD | NEW |