| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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/extensions/chromeos/kiosk_apps_handler.h" | 5 #include "chrome/browser/ui/webui/extensions/chromeos/kiosk_apps_handler.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <set> | 8 #include <set> |
| 9 #include <string> | 9 #include <string> |
| 10 #include <vector> | 10 #include <vector> |
| (...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 171 "kioskDisableBailoutShortcutConfirm", | 171 "kioskDisableBailoutShortcutConfirm", |
| 172 l10n_util::GetStringUTF16(IDS_CONFIRM_MESSAGEBOX_YES_BUTTON_LABEL)); | 172 l10n_util::GetStringUTF16(IDS_CONFIRM_MESSAGEBOX_YES_BUTTON_LABEL)); |
| 173 source->AddString( | 173 source->AddString( |
| 174 "kioskDisableBailoutShortcutCancel", | 174 "kioskDisableBailoutShortcutCancel", |
| 175 l10n_util::GetStringUTF16(IDS_CONFIRM_MESSAGEBOX_NO_BUTTON_LABEL)); | 175 l10n_util::GetStringUTF16(IDS_CONFIRM_MESSAGEBOX_NO_BUTTON_LABEL)); |
| 176 source->AddString("done", l10n_util::GetStringUTF16(IDS_DONE)); | 176 source->AddString("done", l10n_util::GetStringUTF16(IDS_DONE)); |
| 177 source->AddString("add", l10n_util::GetStringUTF16(IDS_ADD)); | 177 source->AddString("add", l10n_util::GetStringUTF16(IDS_ADD)); |
| 178 } | 178 } |
| 179 | 179 |
| 180 void KioskAppsHandler::OnKioskAppDataChanged(const std::string& app_id) { | 180 void KioskAppsHandler::OnKioskAppDataChanged(const std::string& app_id) { |
| 181 KioskAppManager::App app_data; | 181 HandleKioskDataChange(app_id); |
| 182 if (!kiosk_app_manager_->GetApp(app_id, &app_data)) | |
| 183 return; | |
| 184 | |
| 185 base::DictionaryValue app_dict; | |
| 186 PopulateAppDict(app_data, &app_dict); | |
| 187 | |
| 188 web_ui()->CallJavascriptFunction("extensions.KioskAppsOverlay.updateApp", | |
| 189 app_dict); | |
| 190 } | 182 } |
| 191 | 183 |
| 192 void KioskAppsHandler::OnKioskAppDataLoadFailure(const std::string& app_id) { | 184 void KioskAppsHandler::OnKioskAppDataLoadFailure(const std::string& app_id) { |
| 193 base::StringValue app_id_value(app_id); | 185 HandleKioskDataFailure(app_id); |
| 194 web_ui()->CallJavascriptFunction("extensions.KioskAppsOverlay.showError", | |
| 195 app_id_value); | |
| 196 | |
| 197 kiosk_app_manager_->RemoveApp(app_id); | |
| 198 } | 186 } |
| 199 | 187 |
| 188 void KioskAppsHandler::OnKioskExtensionLoadedInCache( |
| 189 const std::string& app_id) { |
| 190 HandleKioskDataChange(app_id); |
| 191 } |
| 192 |
| 193 void KioskAppsHandler::OnKioskExtensionDownloadFailed( |
| 194 const std::string& app_id) { |
| 195 HandleKioskDataFailure(app_id); |
| 196 } |
| 200 | 197 |
| 201 void KioskAppsHandler::OnGetConsumerKioskAutoLaunchStatus( | 198 void KioskAppsHandler::OnGetConsumerKioskAutoLaunchStatus( |
| 202 chromeos::KioskAppManager::ConsumerKioskAutoLaunchStatus status) { | 199 chromeos::KioskAppManager::ConsumerKioskAutoLaunchStatus status) { |
| 203 initialized_ = true; | 200 initialized_ = true; |
| 204 is_kiosk_enabled_ = | 201 is_kiosk_enabled_ = |
| 205 chromeos::UserManager::Get()->IsCurrentUserOwner() || | 202 chromeos::UserManager::Get()->IsCurrentUserOwner() || |
| 206 !base::SysInfo::IsRunningOnChromeOS(); | 203 !base::SysInfo::IsRunningOnChromeOS(); |
| 207 | 204 |
| 208 is_auto_launch_enabled_ = | 205 is_auto_launch_enabled_ = |
| 209 status == KioskAppManager::CONSUMER_KIOSK_AUTO_LAUNCH_ENABLED || | 206 status == KioskAppManager::CONSUMER_KIOSK_AUTO_LAUNCH_ENABLED || |
| (...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 326 return; | 323 return; |
| 327 | 324 |
| 328 bool disable_bailout_shortcut; | 325 bool disable_bailout_shortcut; |
| 329 CHECK(args->GetBoolean(0, &disable_bailout_shortcut)); | 326 CHECK(args->GetBoolean(0, &disable_bailout_shortcut)); |
| 330 | 327 |
| 331 CrosSettings::Get()->SetBoolean( | 328 CrosSettings::Get()->SetBoolean( |
| 332 kAccountsPrefDeviceLocalAccountAutoLoginBailoutEnabled, | 329 kAccountsPrefDeviceLocalAccountAutoLoginBailoutEnabled, |
| 333 !disable_bailout_shortcut); | 330 !disable_bailout_shortcut); |
| 334 } | 331 } |
| 335 | 332 |
| 333 void KioskAppsHandler::HandleKioskDataChange(const std::string& app_id) { |
| 334 KioskAppManager::App app_data; |
| 335 if (!kiosk_app_manager_->GetApp(app_id, &app_data)) |
| 336 return; |
| 337 |
| 338 base::DictionaryValue app_dict; |
| 339 PopulateAppDict(app_data, &app_dict); |
| 340 |
| 341 web_ui()->CallJavascriptFunction("extensions.KioskAppsOverlay.updateApp", |
| 342 app_dict); |
| 343 } |
| 344 |
| 345 void KioskAppsHandler::HandleKioskDataFailure(const std::string& app_id) { |
| 346 base::StringValue app_id_value(app_id); |
| 347 web_ui()->CallJavascriptFunction("extensions.KioskAppsOverlay.showError", |
| 348 app_id_value); |
| 349 |
| 350 kiosk_app_manager_->RemoveApp(app_id); |
| 351 } |
| 352 |
| 336 } // namespace chromeos | 353 } // namespace chromeos |
| OLD | NEW |