Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(843)

Side by Side Diff: chrome/browser/chromeos/login/webui_login_display_host.cc

Issue 7111033: Ties up OOBE controllers and WebUI handlers. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: only one login window Created 9 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 "chrome/browser/chromeos/login/oobe_display.h"
7 #include "chrome/browser/chromeos/login/webui_login_display.h" 8 #include "chrome/browser/chromeos/login/webui_login_display.h"
9 #include "chrome/browser/chromeos/login/webui_login_view.h"
Nikita (slow) 2011/06/07 16:18:06 nit: alpha sort.
10 #include "chrome/browser/chromeos/login/touch_login_view.h"
11 #include "chrome/browser/chromeos/login/wizard_controller.h"
12 #include "chrome/browser/ui/webui/chromeos/login/oobe_ui.h"
13 #include "views/widget/widget.h"
8 14
9 namespace chromeos { 15 namespace chromeos {
10 16
17 namespace {
18
19 // URL which corresponds to the login WebUI.
20 const char kLoginURL[] = "chrome://login";
Nikita (slow) 2011/06/07 16:18:06 Please move to chrome/common/url_constants.h, kChr
21 // URL which corresponds to the OOBE WebUI.
22 const char kOobeURL[] = "chrome://oobe";
Nikita (slow) 2011/06/07 16:18:06 Use kChromeUIOobeURL from chrome/common/url_consta
23
24 } // namespace
25
11 // WebUILoginDisplayHost ------------------------------------------------------- 26 // WebUILoginDisplayHost -------------------------------------------------------
12 27
13 WebUILoginDisplayHost::WebUILoginDisplayHost(const gfx::Rect& background_bounds) 28 WebUILoginDisplayHost::WebUILoginDisplayHost(const gfx::Rect& background_bounds)
14 : BaseLoginDisplayHost(background_bounds) { 29 : BaseLoginDisplayHost(background_bounds),
30 login_window_(NULL),
31 login_view_(NULL) {
15 } 32 }
16 33
17 WebUILoginDisplayHost::~WebUILoginDisplayHost() { 34 WebUILoginDisplayHost::~WebUILoginDisplayHost() {
35 if (login_window_)
36 login_window_->Close();
18 } 37 }
19 38
20 // LoginDisplayHost implementation --------------------------------------------- 39 // LoginDisplayHost implementation ---------------------------------------------
21 40
22 LoginDisplay* WebUILoginDisplayHost::CreateLoginDisplay( 41 LoginDisplay* WebUILoginDisplayHost::CreateLoginDisplay(
23 LoginDisplay::Delegate* delegate) const { 42 LoginDisplay::Delegate* delegate) const {
24 WebUILoginDisplay* webui_login_display = WebUILoginDisplay::GetInstance(); 43 WebUILoginDisplay* webui_login_display = WebUILoginDisplay::GetInstance();
25 webui_login_display->set_delegate(delegate); 44 webui_login_display->set_delegate(delegate);
26 webui_login_display->set_background_bounds(background_bounds()); 45 webui_login_display->set_background_bounds(background_bounds());
27 return webui_login_display; 46 return webui_login_display;
(...skipping 14 matching lines...) Expand all
42 61
43 void WebUILoginDisplayHost::SetStatusAreaEnabled(bool enable) { 62 void WebUILoginDisplayHost::SetStatusAreaEnabled(bool enable) {
44 } 63 }
45 64
46 void WebUILoginDisplayHost::SetStatusAreaVisible(bool visible) { 65 void WebUILoginDisplayHost::SetStatusAreaVisible(bool visible) {
47 } 66 }
48 67
49 void WebUILoginDisplayHost::ShowBackground() { 68 void WebUILoginDisplayHost::ShowBackground() {
50 } 69 }
51 70
71 void WebUILoginDisplayHost::StartWizard(const std::string& first_screen_name,
72 const GURL& start_url) {
73 LoadURL(GURL(kOobeURL));
74 BaseLoginDisplayHost::StartWizard(first_screen_name, start_url);
75 }
76
77 void WebUILoginDisplayHost::StartSignInScreen() {
78 LoadURL(GURL(kLoginURL));
79 WebUILoginDisplay::GetInstance()->set_login_window(login_window_);
80 BaseLoginDisplayHost::StartSignInScreen();
81 }
82
83 void WebUILoginDisplayHost::LoadURL(const GURL& url) {
84 if (!login_window_) {
85 views::Widget::InitParams params(views::Widget::InitParams::TYPE_WINDOW);
86 params.bounds = background_bounds();
87
88 login_window_ = new views::Widget;
89 login_window_->Init(params);
90 #if defined(TOUCH_UI)
91 login_view_ = new TouchLoginView();
92 #else
93 login_view_ = new WebUILoginView();
94 #endif
95
96 login_view_->Init();
97 login_window_->SetContentsView(login_view_);
98 login_view_->UpdateWindowType();
99
100 login_window_->Show();
101 }
102 login_view_->LoadURL(url);
103 }
104
105 WizardController* WebUILoginDisplayHost::CreateWizardController() {
106 // TODO(altimofeev): ensure that WebUI is ready.
107 OobeDisplay* oobe_display = static_cast<OobeUI*>(login_view_->GetWebUI());
108 return new WizardController(this, oobe_display);
109 }
110
52 } // namespace chromeos 111 } // namespace chromeos
53
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698