Index: chrome/browser/ui/webui/chromeos/login/kiosk_app_menu_handler.cc |
diff --git a/chrome/browser/ui/webui/chromeos/login/kiosk_app_menu_handler.cc b/chrome/browser/ui/webui/chromeos/login/kiosk_app_menu_handler.cc |
index 91bf0a384e025c5a3c0a2393fbc4ddf3ebffc084..3de08528f0fe6d482408985f084a50451dad66d6 100644 |
--- a/chrome/browser/ui/webui/chromeos/login/kiosk_app_menu_handler.cc |
+++ b/chrome/browser/ui/webui/chromeos/login/kiosk_app_menu_handler.cc |
@@ -23,6 +23,16 @@ |
namespace chromeos { |
+namespace { |
+ |
+// JS functions that define new and old kiosk UI API. |
+const char kKioskSetAppsNewAPI[] = "login.AccountPickerScreen.setApps"; |
+const char kKioskSetAppsOldAPI[] = "login.AppsMenuButton.setApps"; |
+const char kKioskShowErrorNewAPI[] = "login.AccountPickerScreen.showAppError"; |
+const char kKioskShowErrorOldAPI[] = "login.AppsMenuButton.showError"; |
+ |
+} // namespace |
+ |
KioskAppMenuHandler::KioskAppMenuHandler() |
: initialized_(false), |
weak_ptr_factory_(this) { |
@@ -73,6 +83,7 @@ void KioskAppMenuHandler::SendKioskApps() { |
const KioskAppManager::App& app_data = apps[i]; |
scoped_ptr<base::DictionaryValue> app_info(new base::DictionaryValue); |
+ app_info->SetBoolean("isApp", true); |
app_info->SetString("id", app_data.app_id); |
app_info->SetString("label", app_data.name); |
@@ -85,8 +96,11 @@ void KioskAppMenuHandler::SendKioskApps() { |
apps_list.Append(app_info.release()); |
} |
- web_ui()->CallJavascriptFunction("login.AppsMenuButton.setApps", |
- apps_list); |
+ bool new_kiosk_ui = !CommandLine::ForCurrentProcess()-> |
+ HasSwitch(switches::kDisableNewKioskUI); |
+ web_ui()->CallJavascriptFunction(new_kiosk_ui ? |
+ kKioskSetAppsNewAPI : kKioskSetAppsOldAPI, |
+ apps_list); |
} |
void KioskAppMenuHandler::HandleInitializeKioskApps( |
@@ -128,8 +142,11 @@ void KioskAppMenuHandler::HandleCheckKioskAppLaunchError( |
KioskAppLaunchError::Clear(); |
const std::string error_message = KioskAppLaunchError::GetErrorMessage(error); |
- web_ui()->CallJavascriptFunction("login.AppsMenuButton.showError", |
- base::StringValue(error_message)); |
+ bool new_kiosk_ui = !CommandLine::ForCurrentProcess()-> |
+ HasSwitch(switches::kDisableNewKioskUI); |
+ web_ui()->CallJavascriptFunction(new_kiosk_ui ? |
+ kKioskShowErrorNewAPI : kKioskShowErrorOldAPI, |
+ base::StringValue(error_message)); |
} |
void KioskAppMenuHandler::OnKioskAppsSettingsChanged() { |