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

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

Issue 158833003: Represent kiosk apps as user pods instead of menu items. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: pngcrush Created 6 years, 10 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/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 cfbd1dacc156e4c457de13ee6ccf3ff34e7e7b83..2b5f0087f910e1388fbb1217bc61c804d0aff181 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
@@ -22,8 +22,19 @@
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()
- : weak_ptr_factory_(this) {
+ : weak_ptr_factory_(this),
+ is_webui_initialized_(false) {
KioskAppManager::Get()->AddObserver(this);
}
@@ -60,6 +71,9 @@ void KioskAppMenuHandler::RegisterMessages() {
}
void KioskAppMenuHandler::SendKioskApps() {
+ if (!is_webui_initialized_)
+ return;
+
KioskAppManager::Apps apps;
KioskAppManager::Get()->GetApps(&apps);
@@ -68,6 +82,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);
@@ -80,12 +95,16 @@ 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(
const base::ListValue* args) {
+ is_webui_initialized_ = true;
SendKioskApps();
}
@@ -105,8 +124,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() {
« no previous file with comments | « chrome/browser/ui/webui/chromeos/login/kiosk_app_menu_handler.h ('k') | chrome/browser/ui/webui/chromeos/login/oobe_ui.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698