| OLD | NEW |
| 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/ui/webui/chromeos/login/oobe_ui.h" | 5 #include "chrome/browser/ui/webui/chromeos/login/oobe_ui.h" |
| 6 | 6 |
| 7 #include <string> | 7 #include <string> |
| 8 | 8 |
| 9 #include "base/command_line.h" | 9 #include "base/command_line.h" |
| 10 #include "base/logging.h" | 10 #include "base/logging.h" |
| (...skipping 13 matching lines...) Expand all Loading... |
| 24 #include "chrome/browser/ui/webui/chromeos/login/eula_screen_handler.h" | 24 #include "chrome/browser/ui/webui/chromeos/login/eula_screen_handler.h" |
| 25 #include "chrome/browser/ui/webui/chromeos/login/network_dropdown_handler.h" | 25 #include "chrome/browser/ui/webui/chromeos/login/network_dropdown_handler.h" |
| 26 #include "chrome/browser/ui/webui/chromeos/login/network_screen_handler.h" | 26 #include "chrome/browser/ui/webui/chromeos/login/network_screen_handler.h" |
| 27 #include "chrome/browser/ui/webui/chromeos/login/signin_screen_handler.h" | 27 #include "chrome/browser/ui/webui/chromeos/login/signin_screen_handler.h" |
| 28 #include "chrome/browser/ui/webui/chromeos/login/update_screen_handler.h" | 28 #include "chrome/browser/ui/webui/chromeos/login/update_screen_handler.h" |
| 29 #include "chrome/browser/ui/webui/chromeos/login/user_image_screen_handler.h" | 29 #include "chrome/browser/ui/webui/chromeos/login/user_image_screen_handler.h" |
| 30 #include "chrome/browser/ui/webui/options/chromeos/user_image_source.h" | 30 #include "chrome/browser/ui/webui/options/chromeos/user_image_source.h" |
| 31 #include "chrome/browser/ui/webui/theme_source.h" | 31 #include "chrome/browser/ui/webui/theme_source.h" |
| 32 #include "chrome/common/jstemplate_builder.h" | 32 #include "chrome/common/jstemplate_builder.h" |
| 33 #include "chrome/common/url_constants.h" | 33 #include "chrome/common/url_constants.h" |
| 34 #include "content/browser/webui/web_ui.h" |
| 34 #include "content/public/browser/web_contents.h" | 35 #include "content/public/browser/web_contents.h" |
| 35 #include "grit/browser_resources.h" | 36 #include "grit/browser_resources.h" |
| 36 #include "ui/base/resource/resource_bundle.h" | 37 #include "ui/base/resource/resource_bundle.h" |
| 37 | 38 |
| 38 using content::WebContents; | 39 using content::WebContents; |
| 39 | 40 |
| 40 namespace { | 41 namespace { |
| 41 | 42 |
| 42 // Path for a stripped down login page that does not have OOBE elements. | 43 // Path for a stripped down login page that does not have OOBE elements. |
| 43 const char kLoginPath[] = "login"; | 44 const char kLoginPath[] = "login"; |
| (...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 101 | 102 |
| 102 std::string OobeUIHTMLSource::GetDataResource(int resource_id) const { | 103 std::string OobeUIHTMLSource::GetDataResource(int resource_id) const { |
| 103 const base::StringPiece html( | 104 const base::StringPiece html( |
| 104 ResourceBundle::GetSharedInstance().GetRawDataResource(resource_id)); | 105 ResourceBundle::GetSharedInstance().GetRawDataResource(resource_id)); |
| 105 return jstemplate_builder::GetI18nTemplateHtml(html, | 106 return jstemplate_builder::GetI18nTemplateHtml(html, |
| 106 localized_strings_.get()); | 107 localized_strings_.get()); |
| 107 } | 108 } |
| 108 | 109 |
| 109 // OobeUI ---------------------------------------------------------------------- | 110 // OobeUI ---------------------------------------------------------------------- |
| 110 | 111 |
| 111 OobeUI::OobeUI(WebContents* contents) | 112 OobeUI::OobeUI(WebUI* web_ui) |
| 112 : WebUI(contents, this), | 113 : WebUIController(web_ui), |
| 113 update_screen_actor_(NULL), | 114 update_screen_actor_(NULL), |
| 114 network_screen_actor_(NULL), | 115 network_screen_actor_(NULL), |
| 115 eula_screen_actor_(NULL), | 116 eula_screen_actor_(NULL), |
| 116 signin_screen_handler_(NULL), | 117 signin_screen_handler_(NULL), |
| 117 user_image_screen_actor_(NULL) { | 118 user_image_screen_actor_(NULL) { |
| 118 core_handler_ = new CoreOobeHandler(this); | 119 core_handler_ = new CoreOobeHandler(this); |
| 119 AddScreenHandler(core_handler_); | 120 AddScreenHandler(core_handler_); |
| 120 | 121 |
| 121 AddScreenHandler(new NetworkDropdownHandler); | 122 AddScreenHandler(new NetworkDropdownHandler); |
| 122 | 123 |
| (...skipping 20 matching lines...) Expand all Loading... |
| 143 new UserImageScreenHandler(); | 144 new UserImageScreenHandler(); |
| 144 user_image_screen_actor_ = user_image_screen_handler; | 145 user_image_screen_actor_ = user_image_screen_handler; |
| 145 AddScreenHandler(user_image_screen_handler); | 146 AddScreenHandler(user_image_screen_handler); |
| 146 | 147 |
| 147 signin_screen_handler_ = new SigninScreenHandler; | 148 signin_screen_handler_ = new SigninScreenHandler; |
| 148 AddScreenHandler(signin_screen_handler_); | 149 AddScreenHandler(signin_screen_handler_); |
| 149 | 150 |
| 150 DictionaryValue* localized_strings = new DictionaryValue(); | 151 DictionaryValue* localized_strings = new DictionaryValue(); |
| 151 GetLocalizedStrings(localized_strings); | 152 GetLocalizedStrings(localized_strings); |
| 152 | 153 |
| 153 Profile* profile = Profile::FromBrowserContext(contents->GetBrowserContext()); | 154 Profile* profile = Profile::FromBrowserContext( |
| 155 web_ui->web_contents()->GetBrowserContext()); |
| 154 // Set up the chrome://theme/ source, for Chrome logo. | 156 // Set up the chrome://theme/ source, for Chrome logo. |
| 155 ThemeSource* theme = new ThemeSource(profile); | 157 ThemeSource* theme = new ThemeSource(profile); |
| 156 profile->GetChromeURLDataManager()->AddDataSource(theme); | 158 profile->GetChromeURLDataManager()->AddDataSource(theme); |
| 157 | 159 |
| 158 // Set up the chrome://terms/ data source, for EULA content. | 160 // Set up the chrome://terms/ data source, for EULA content. |
| 159 AboutUIHTMLSource* about_source = | 161 AboutUIHTMLSource* about_source = |
| 160 new AboutUIHTMLSource(chrome::kChromeUITermsHost, profile); | 162 new AboutUIHTMLSource(chrome::kChromeUITermsHost, profile); |
| 161 profile->GetChromeURLDataManager()->AddDataSource(about_source); | 163 profile->GetChromeURLDataManager()->AddDataSource(about_source); |
| 162 | 164 |
| 163 // Set up the chrome://oobe/ source. | 165 // Set up the chrome://oobe/ source. |
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 205 | 207 |
| 206 ViewScreenDelegate* OobeUI::GetHTMLPageScreenActor() { | 208 ViewScreenDelegate* OobeUI::GetHTMLPageScreenActor() { |
| 207 // WebUI implementation of the LoginDisplayHost opens HTML page directly, | 209 // WebUI implementation of the LoginDisplayHost opens HTML page directly, |
| 208 // without opening OOBE page. | 210 // without opening OOBE page. |
| 209 NOTREACHED(); | 211 NOTREACHED(); |
| 210 return NULL; | 212 return NULL; |
| 211 } | 213 } |
| 212 | 214 |
| 213 void OobeUI::GetLocalizedStrings(base::DictionaryValue* localized_strings) { | 215 void OobeUI::GetLocalizedStrings(base::DictionaryValue* localized_strings) { |
| 214 // Note, handlers_[0] is a GenericHandler used by the WebUI. | 216 // Note, handlers_[0] is a GenericHandler used by the WebUI. |
| 215 for (size_t i = 1; i < handlers_.size(); ++i) { | 217 for (size_t i = 0; i < handlers_.size(); ++i) |
| 216 static_cast<BaseScreenHandler*>(handlers_[i])-> | 218 handlers_[i]->GetLocalizedStrings(localized_strings); |
| 217 GetLocalizedStrings(localized_strings); | |
| 218 } | |
| 219 ChromeURLDataManager::DataSource::SetFontAndTextDirection(localized_strings); | 219 ChromeURLDataManager::DataSource::SetFontAndTextDirection(localized_strings); |
| 220 } | 220 } |
| 221 | 221 |
| 222 void OobeUI::AddScreenHandler(BaseScreenHandler* handler) { | 222 void OobeUI::AddScreenHandler(BaseScreenHandler* handler) { |
| 223 AddMessageHandler(handler); | 223 web_ui()->AddMessageHandler(handler); |
| 224 handlers_.push_back(handler); |
| 224 } | 225 } |
| 225 | 226 |
| 226 void OobeUI::InitializeHandlers() { | 227 void OobeUI::InitializeHandlers() { |
| 227 // Note, handlers_[0] is a GenericHandler used by the WebUI. | 228 for (size_t i = 0; i < handlers_.size(); ++i) |
| 228 for (size_t i = 1; i < handlers_.size(); ++i) { | 229 handlers_[i]->InitializeBase(); |
| 229 static_cast<BaseScreenHandler*>(handlers_[i])->InitializeBase(); | |
| 230 } | |
| 231 } | 230 } |
| 232 | 231 |
| 233 void OobeUI::ShowOobeUI(bool show) { | 232 void OobeUI::ShowOobeUI(bool show) { |
| 234 core_handler_->ShowOobeUI(show); | 233 core_handler_->ShowOobeUI(show); |
| 235 } | 234 } |
| 236 | 235 |
| 237 void OobeUI::ShowSigninScreen(SigninScreenHandlerDelegate* delegate) { | 236 void OobeUI::ShowSigninScreen(SigninScreenHandlerDelegate* delegate) { |
| 238 signin_screen_handler_->SetDelegate(delegate); | 237 signin_screen_handler_->SetDelegate(delegate); |
| 239 signin_screen_handler_->Show(core_handler_->show_oobe_ui()); | 238 signin_screen_handler_->Show(core_handler_->show_oobe_ui()); |
| 240 } | 239 } |
| 241 | 240 |
| 242 void OobeUI::ResetSigninScreenHandlerDelegate() { | 241 void OobeUI::ResetSigninScreenHandlerDelegate() { |
| 243 signin_screen_handler_->SetDelegate(NULL); | 242 signin_screen_handler_->SetDelegate(NULL); |
| 244 } | 243 } |
| 245 | 244 |
| 246 void OobeUI::OnLoginPromptVisible() { | 245 void OobeUI::OnLoginPromptVisible() { |
| 247 user_image_screen_actor_->CheckCameraPresence(); | 246 user_image_screen_actor_->CheckCameraPresence(); |
| 248 } | 247 } |
| 249 | 248 |
| 250 } // namespace chromeos | 249 } // namespace chromeos |
| OLD | NEW |