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

Unified Diff: chrome/browser/ui/webui/extensions/chromeos/kiosk_apps_handler.cc

Issue 15966004: cros: Move kiosk settings to extensions page. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase and remove temp flag Created 7 years, 7 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/extensions/chromeos/kiosk_apps_handler.cc
diff --git a/chrome/browser/ui/webui/options/chromeos/kiosk_apps_handler.cc b/chrome/browser/ui/webui/extensions/chromeos/kiosk_apps_handler.cc
similarity index 69%
rename from chrome/browser/ui/webui/options/chromeos/kiosk_apps_handler.cc
rename to chrome/browser/ui/webui/extensions/chromeos/kiosk_apps_handler.cc
index 7c7ee913145938c0592e8ed7f6e563755ed436c1..d5ae35d55fc16a4c2167e44cad7b469e241e3946 100644
--- a/chrome/browser/ui/webui/options/chromeos/kiosk_apps_handler.cc
+++ b/chrome/browser/ui/webui/extensions/chromeos/kiosk_apps_handler.cc
@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "chrome/browser/ui/webui/options/chromeos/kiosk_apps_handler.h"
+#include "chrome/browser/ui/webui/extensions/chromeos/kiosk_apps_handler.h"
#include <algorithm>
#include <set>
@@ -10,15 +10,18 @@
#include <vector>
#include "base/bind.h"
-#include "base/lazy_instance.h"
+#include "base/chromeos/chromeos_version.h"
+#include "base/command_line.h"
#include "base/memory/scoped_ptr.h"
-#include "base/observer_list.h"
-#include "base/string_util.h"
#include "base/values.h"
#include "chrome/browser/chromeos/app_mode/kiosk_app_manager.h"
+#include "chrome/browser/chromeos/login/user_manager.h"
+#include "chrome/browser/chromeos/settings/cros_settings.h"
+#include "chrome/browser/chromeos/settings/cros_settings_names.h"
#include "chrome/common/extensions/extension.h"
-#include "content/public/browser/browser_thread.h"
+#include "chromeos/chromeos_switches.h"
#include "content/public/browser/web_ui.h"
+#include "content/public/browser/web_ui_data_source.h"
#include "googleurl/src/gurl.h"
#include "grit/chromium_strings.h"
#include "grit/generated_resources.h"
@@ -26,7 +29,6 @@
#include "ui/webui/web_ui_util.h"
namespace chromeos {
-namespace options {
namespace {
@@ -97,8 +99,8 @@ KioskAppsHandler::~KioskAppsHandler() {
}
void KioskAppsHandler::RegisterMessages() {
- web_ui()->RegisterMessageCallback("getKioskApps",
- base::Bind(&KioskAppsHandler::HandleGetKioskApps,
+ web_ui()->RegisterMessageCallback("getKioskAppSettings",
+ base::Bind(&KioskAppsHandler::HandleGetKioskAppSettings,
base::Unretained(this)));
web_ui()->RegisterMessageCallback("addKioskApp",
base::Bind(&KioskAppsHandler::HandleAddKioskApp,
@@ -112,55 +114,66 @@ void KioskAppsHandler::RegisterMessages() {
web_ui()->RegisterMessageCallback("disableKioskAutoLaunch",
base::Bind(&KioskAppsHandler::HandleDisableKioskAutoLaunch,
base::Unretained(this)));
+ web_ui()->RegisterMessageCallback("setDisableBailoutShortcut",
+ base::Bind(&KioskAppsHandler::HandleSetDisableBailoutShortcut,
+ base::Unretained(this)));
}
-void KioskAppsHandler::GetLocalizedValues(
- base::DictionaryValue* localized_strings) {
- DCHECK(localized_strings);
-
- RegisterTitle(localized_strings,
- "kioskOverlayTitle",
- IDS_OPTIONS_KIOSK_OVERLAY_TITLE);
-
- localized_strings->SetString(
+void KioskAppsHandler::GetLocalizedValues(content::WebUIDataSource* source) {
+ source->AddBoolean(
+ "enableKiosk",
+ !CommandLine::ForCurrentProcess()->HasSwitch(
Dan Beam 2013/05/30 21:14:55 nit: indent off
xiyuan 2013/05/30 23:03:38 Done.
+ chromeos::switches::kDisableAppMode) &&
+ (chromeos::UserManager::Get()->IsCurrentUserOwner() ||
+ !base::chromeos::IsRunningOnChromeOS()));
+ source->AddString(
+ "addKioskAppButton",
+ l10n_util::GetStringUTF16(IDS_EXTENSIONS_ADD_KIOSK_APP_BUTTON));
+ source->AddString(
+ "kioskOverlayTitle",
+ l10n_util::GetStringUTF16(IDS_OPTIONS_KIOSK_OVERLAY_TITLE));
+ source->AddString(
"addKioskApp",
l10n_util::GetStringUTF16(IDS_OPTIONS_KIOSK_ADD_APP));
- localized_strings->SetString(
+ source->AddString(
"kioskAppIdEditHint",
l10n_util::GetStringUTF16(IDS_OPTIONS_KIOSK_ADD_APP_HINT));
- localized_strings->SetString(
+ source->AddString(
"enableAutoLaunchButton",
l10n_util::GetStringUTF16(IDS_OPTIONS_KIOSK_ENABLE_AUTO_LAUNCH));
- localized_strings->SetString(
+ source->AddString(
"disableAutoLaunchButton",
l10n_util::GetStringUTF16(IDS_OPTIONS_KIOSK_DISABLE_AUTO_LAUNCH));
- localized_strings->SetString(
+ source->AddString(
"autoLaunch",
l10n_util::GetStringUTF16(IDS_OPTIONS_KIOSK_AUTO_LAUNCH));
- localized_strings->SetString(
+ source->AddString(
"invalidApp",
l10n_util::GetStringUTF16(IDS_OPTIONS_KIOSK_INVALID_APP));
- localized_strings->SetString(
+ source->AddString(
"kioskDiableBailoutShortcutLabel",
l10n_util::GetStringUTF16(
IDS_OPTIONS_KIOSK_DISABLE_BAILOUT_SHORTCUT_LABEL));
- localized_strings->SetString(
+ source->AddString(
"kioskDisableBailoutShortcutWarningBold",
l10n_util::GetStringUTF16(
IDS_OPTIONS_KIOSK_DISABLE_BAILOUT_SHORTCUT_WARNING_BOLD));
const string16 product_os_name =
l10n_util::GetStringUTF16(IDS_SHORT_PRODUCT_OS_NAME);
- localized_strings->SetString(
+ source->AddString(
"kioskDisableBailoutShortcutWarning",
l10n_util::GetStringFUTF16(
IDS_OPTIONS_KIOSK_DISABLE_BAILOUT_SHORTCUT_WARNING_FORMAT,
product_os_name));
- localized_strings->SetString(
+ source->AddString(
"kioskDisableBailoutShortcutConfirm",
l10n_util::GetStringUTF16(IDS_CONFIRM_MESSAGEBOX_YES_BUTTON_LABEL));
- localized_strings->SetString(
+ source->AddString(
"kioskDisableBailoutShortcutCancel",
l10n_util::GetStringUTF16(IDS_CONFIRM_MESSAGEBOX_NO_BUTTON_LABEL));
+ source->AddString(
+ "done",
+ l10n_util::GetStringUTF16(IDS_DONE));
Dan Beam 2013/05/30 21:14:55 nit: this could probably fit in one line
xiyuan 2013/05/30 23:03:38 Done.
}
void KioskAppsHandler::OnKioskAppDataChanged(const std::string& app_id) {
@@ -171,39 +184,54 @@ void KioskAppsHandler::OnKioskAppDataChanged(const std::string& app_id) {
base::DictionaryValue app_dict;
PopulateAppDict(app_data, &app_dict);
- web_ui()->CallJavascriptFunction("options.KioskAppsOverlay.updateApp",
+ web_ui()->CallJavascriptFunction("extensions.KioskAppsOverlay.updateApp",
app_dict);
}
void KioskAppsHandler::OnKioskAppDataLoadFailure(const std::string& app_id) {
base::StringValue app_id_value(app_id);
- web_ui()->CallJavascriptFunction("options.KioskAppsOverlay.showError",
+ web_ui()->CallJavascriptFunction("extensions.KioskAppsOverlay.showError",
app_id_value);
}
-void KioskAppsHandler::SendKioskApps() {
+void KioskAppsHandler::OnKioskAppsSettingsChanged() {
+ SendKioskAppSettings();
+}
+
+void KioskAppsHandler::SendKioskAppSettings() {
if (!initialized_)
return;
+ bool enable_bailout_shortcut;
+ if (!CrosSettings::Get()->GetBoolean(
+ kAccountsPrefDeviceLocalAccountAutoLoginBailoutEnabled,
+ &enable_bailout_shortcut)) {
+ enable_bailout_shortcut = true;
+ }
+
+ base::DictionaryValue settings;
+ settings.SetBoolean("disableBailout", !enable_bailout_shortcut);
+
KioskAppManager::Apps apps;
kiosk_app_manager_->GetApps(&apps);
- base::ListValue apps_list;
+ scoped_ptr<base::ListValue> apps_list(new base::ListValue);
for (size_t i = 0; i < apps.size(); ++i) {
const KioskAppManager::App& app_data = apps[i];
scoped_ptr<base::DictionaryValue> app_info(new base::DictionaryValue);
PopulateAppDict(app_data, app_info.get());
- apps_list.Append(app_info.release());
+ apps_list->Append(app_info.release());
}
+ settings.SetWithoutPathExpansion("apps", apps_list.release());
- web_ui()->CallJavascriptFunction("options.KioskAppsOverlay.setApps",
- apps_list);
+ web_ui()->CallJavascriptFunction("extensions.KioskAppsOverlay.setSettings",
+ settings);
}
-void KioskAppsHandler::HandleGetKioskApps(const base::ListValue* args) {
+void KioskAppsHandler::HandleGetKioskAppSettings(const base::ListValue* args) {
initialized_ = true;
- SendKioskApps();
+ SendKioskAppSettings();
}
void KioskAppsHandler::HandleAddKioskApp(const base::ListValue* args) {
@@ -246,5 +274,14 @@ void KioskAppsHandler::HandleDisableKioskAutoLaunch(
kiosk_app_manager_->SetAutoLaunchApp("");
}
-} // namespace options
+void KioskAppsHandler::HandleSetDisableBailoutShortcut(
+ const base::ListValue* args) {
+ bool disable_bailout_shortcut;
+ CHECK(args->GetBoolean(0, &disable_bailout_shortcut));
+
+ CrosSettings::Get()->SetBoolean(
+ kAccountsPrefDeviceLocalAccountAutoLoginBailoutEnabled,
+ !disable_bailout_shortcut);
+}
+
} // namespace chromeos

Powered by Google App Engine
This is Rietveld 408576698