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

Unified Diff: chrome/browser/ui/webui/chromeos/login/oobe_ui.cc

Issue 21004005: Made small refactoring of OobeUI. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Nit fixes. Created 7 years, 5 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/webui/chromeos/login/oobe_ui.cc
diff --git a/chrome/browser/ui/webui/chromeos/login/oobe_ui.cc b/chrome/browser/ui/webui/chromeos/login/oobe_ui.cc
index 120986ec49051053a3f972fca5d59fddeb738a59..5dfa2554461d827faed662e9c1e15309bc0c27e8 100644
--- a/chrome/browser/ui/webui/chromeos/login/oobe_ui.cc
+++ b/chrome/browser/ui/webui/chromeos/login/oobe_ui.cc
@@ -4,8 +4,6 @@
#include "chrome/browser/ui/webui/chromeos/login/oobe_ui.h"
-#include <string>
-
#include "ash/ash_switches.h"
#include "base/command_line.h"
#include "base/logging.h"
@@ -54,8 +52,17 @@ namespace chromeos {
namespace {
-// Path for a stripped down login page that does not have OOBE elements.
-const char kLoginPath[] = "login#login";
+const char kOobeDisplay[] = "oobe";
Nikita (slow) 2013/07/31 13:27:51 nit: I think short comment may be added here that
dzhioev (left Google) 2013/08/01 13:38:09 Done.
+const char kLoginDisplay[] = "login";
+const char kLockDisplay[] = "lock";
+const char kUserAddingDisplay[] = "user-adding";
+
+const char* kKnownDisplayTypes[] = {
+ kOobeDisplay,
+ kLoginDisplay,
+ kLockDisplay,
+ kUserAddingDisplay
+};
const char kStringsJSPath[] = "strings.js";
const char kLoginJSPath[] = "login.js";
@@ -86,7 +93,8 @@ bool HandleRequestCallback(
// Creates a WebUIDataSource for chrome://oobe
content::WebUIDataSource* CreateOobeUIDataSource(
- const base::DictionaryValue& localized_strings) {
+ const base::DictionaryValue& localized_strings,
+ const std::string& display_type) {
content::WebUIDataSource* source =
content::WebUIDataSource::Create(chrome::kChromeUIOobeHost);
source->SetUseJsonJSFormatV2();
@@ -95,35 +103,40 @@ content::WebUIDataSource* CreateOobeUIDataSource(
if (chromeos::KioskModeSettings::Get()->IsKioskModeEnabled()) {
source->SetDefaultResource(IDR_DEMO_USER_LOGIN_HTML);
- source->AddResourcePath(kDemoUserLoginJSPath,
- IDR_DEMO_USER_LOGIN_JS);
+ source->AddResourcePath(kDemoUserLoginJSPath, IDR_DEMO_USER_LOGIN_JS);
return source;
}
-
- source->SetDefaultResource(IDR_OOBE_HTML);
- source->AddResourcePath(kOobeJSPath,
- IDR_OOBE_JS);
- source->AddResourcePath(kLoginPath,
- IDR_LOGIN_HTML);
- source->AddResourcePath(kLoginJSPath,
- IDR_LOGIN_JS);
- source->AddResourcePath(kKeyboardUtilsJSPath,
- IDR_KEYBOARD_UTILS_JS);
+ if (display_type == kOobeDisplay) {
+ source->SetDefaultResource(IDR_OOBE_HTML);
+ source->AddResourcePath(kOobeJSPath, IDR_OOBE_JS);
+ } else {
+ source->SetDefaultResource(IDR_LOGIN_HTML);
+ source->AddResourcePath(kLoginJSPath, IDR_LOGIN_JS);
+ }
+ source->AddResourcePath(kKeyboardUtilsJSPath, IDR_KEYBOARD_UTILS_JS);
source->OverrideContentSecurityPolicyFrameSrc(
"frame-src chrome://terms/ "
"chrome-extension://mfffpogegjflfpflabcdkioaeobkgjik/;");
// Serve deferred resources.
- source->AddResourcePath(kEnrollmentHTMLPath,
- IDR_OOBE_ENROLLMENT_HTML);
- source->AddResourcePath(kEnrollmentCSSPath,
- IDR_OOBE_ENROLLMENT_CSS);
- source->AddResourcePath(kEnrollmentJSPath,
- IDR_OOBE_ENROLLMENT_JS);
+ source->AddResourcePath(kEnrollmentHTMLPath, IDR_OOBE_ENROLLMENT_HTML);
+ source->AddResourcePath(kEnrollmentCSSPath, IDR_OOBE_ENROLLMENT_CSS);
+ source->AddResourcePath(kEnrollmentJSPath, IDR_OOBE_ENROLLMENT_JS);
return source;
}
+std::string GetDisplayType(const GURL& url) {
+ std::string path = url.path().size() ? url.path().substr(1) : "";
+ if (std::find(kKnownDisplayTypes,
+ kKnownDisplayTypes + arraysize(kKnownDisplayTypes),
+ path) == kKnownDisplayTypes + arraysize(kKnownDisplayTypes)) {
+ LOG(ERROR) << "Unknown display type '" << path << "'. Setting default.";
+ return kLoginDisplay;
+ }
+ return path;
+}
+
} // namespace
// static
@@ -144,8 +157,9 @@ const char OobeUI::kScreenManagedUserCreationFlow[]
const char OobeUI::kScreenTermsOfService[] = "terms-of-service";
const char OobeUI::kScreenWrongHWID[] = "wrong-hwid";
-OobeUI::OobeUI(content::WebUI* web_ui)
+OobeUI::OobeUI(content::WebUI* web_ui, const GURL& url)
: WebUIController(web_ui),
+ core_handler_(NULL),
update_screen_handler_(NULL),
network_screen_actor_(NULL),
eula_screen_actor_(NULL),
@@ -161,6 +175,7 @@ OobeUI::OobeUI(content::WebUI* web_ui)
kiosk_app_menu_handler_(NULL),
current_screen_(SCREEN_UNKNOWN),
ready_(false) {
+ display_type_ = GetDisplayType(url);
InitializeScreenMaps();
network_state_informer_ = new NetworkStateInformer();
@@ -175,9 +190,11 @@ OobeUI::OobeUI(content::WebUI* web_ui)
update_screen_handler_ = new UpdateScreenHandler();
AddScreenHandler(update_screen_handler_);
- NetworkScreenHandler* network_screen_handler = new NetworkScreenHandler();
- network_screen_actor_ = network_screen_handler;
- AddScreenHandler(network_screen_handler);
+ if (display_type_ == kOobeDisplay) {
+ NetworkScreenHandler* network_screen_handler = new NetworkScreenHandler();
+ network_screen_actor_ = network_screen_handler;
+ AddScreenHandler(network_screen_handler);
+ }
EulaScreenHandler* eula_screen_handler = new EulaScreenHandler();
eula_screen_actor_ = eula_screen_handler;
@@ -250,7 +267,8 @@ OobeUI::OobeUI(content::WebUI* web_ui)
// Set up the chrome://oobe/ source.
content::WebUIDataSource::Add(profile,
- CreateOobeUIDataSource(localized_strings));
+ CreateOobeUIDataSource(localized_strings,
+ display_type_));
// Set up the chrome://userimage/ source.
options::UserImageSource* user_image_source =
« no previous file with comments | « chrome/browser/ui/webui/chromeos/login/oobe_ui.h ('k') | chrome/test/data/chromeos/oobe_webui_browsertest.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698