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

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

Issue 130613004: Enabled consumer kiosk mode for all. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
87 *app_id = candidate_id; 87 *app_id = candidate_id;
88 return true; 88 return true;
89 } 89 }
90 90
91 } // namespace 91 } // namespace
92 92
93 KioskAppsHandler::KioskAppsHandler() 93 KioskAppsHandler::KioskAppsHandler()
94 : kiosk_app_manager_(KioskAppManager::Get()), 94 : kiosk_app_manager_(KioskAppManager::Get()),
95 initialized_(false), 95 initialized_(false),
96 is_kiosk_enabled_(false), 96 is_kiosk_enabled_(false),
97 is_auto_launch_enabled_(false),
97 weak_ptr_factory_(this) { 98 weak_ptr_factory_(this) {
98 kiosk_app_manager_->AddObserver(this); 99 kiosk_app_manager_->AddObserver(this);
99 } 100 }
100 101
101 KioskAppsHandler::~KioskAppsHandler() { 102 KioskAppsHandler::~KioskAppsHandler() {
102 kiosk_app_manager_->RemoveObserver(this); 103 kiosk_app_manager_->RemoveObserver(this);
103 } 104 }
104 105
105 void KioskAppsHandler::RegisterMessages() { 106 void KioskAppsHandler::RegisterMessages() {
106 web_ui()->RegisterMessageCallback("initializeKioskAppSettings", 107 web_ui()->RegisterMessageCallback("initializeKioskAppSettings",
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
188 app_dict); 189 app_dict);
189 } 190 }
190 191
191 void KioskAppsHandler::OnKioskAppDataLoadFailure(const std::string& app_id) { 192 void KioskAppsHandler::OnKioskAppDataLoadFailure(const std::string& app_id) {
192 base::StringValue app_id_value(app_id); 193 base::StringValue app_id_value(app_id);
193 web_ui()->CallJavascriptFunction("extensions.KioskAppsOverlay.showError", 194 web_ui()->CallJavascriptFunction("extensions.KioskAppsOverlay.showError",
194 app_id_value); 195 app_id_value);
195 } 196 }
196 197
197 198
198 void KioskAppsHandler::OnGetConsumerKioskModeStatus( 199 void KioskAppsHandler::OnGetConsumerKioskAutoLaunchStatus(
199 chromeos::KioskAppManager::ConsumerKioskModeStatus status) { 200 chromeos::KioskAppManager::ConsumerKioskAutoLaunchStatus status) {
200 initialized_ = true; 201 initialized_ = true;
201 is_kiosk_enabled_ = 202 is_kiosk_enabled_ =
202 ((status == KioskAppManager::CONSUMER_KIOSK_MODE_ENABLED) && 203 chromeos::UserManager::Get()->IsCurrentUserOwner() ||
203 chromeos::UserManager::Get()->IsCurrentUserOwner()) || 204 !base::SysInfo::IsRunningOnChromeOS();
205
206 is_auto_launch_enabled_ =
207 status == KioskAppManager::CONSUMER_KIOSK_AUTO_LAUNCH_ENABLED ||
204 !base::SysInfo::IsRunningOnChromeOS(); 208 !base::SysInfo::IsRunningOnChromeOS();
205 209
206 if (is_kiosk_enabled_) { 210 if (is_kiosk_enabled_) {
207 base::FundamentalValue enabled(is_kiosk_enabled_); 211 base::DictionaryValue kiosk_params;
212 kiosk_params.SetBoolean("kioskEnabled", is_kiosk_enabled_);
213 kiosk_params.SetBoolean("autoLaunchEnabled", is_auto_launch_enabled_);
208 web_ui()->CallJavascriptFunction("extensions.KioskAppsOverlay.enableKiosk", 214 web_ui()->CallJavascriptFunction("extensions.KioskAppsOverlay.enableKiosk",
209 enabled); 215 kiosk_params);
210 } 216 }
211 } 217 }
212 218
213 219
214 void KioskAppsHandler::OnKioskAppsSettingsChanged() { 220 void KioskAppsHandler::OnKioskAppsSettingsChanged() {
215 SendKioskAppSettings(); 221 SendKioskAppSettings();
216 } 222 }
217 223
218 void KioskAppsHandler::SendKioskAppSettings() { 224 void KioskAppsHandler::SendKioskAppSettings() {
219 if (!initialized_ || !is_kiosk_enabled_) 225 if (!initialized_ || !is_kiosk_enabled_)
(...skipping 21 matching lines...) Expand all
241 apps_list->Append(app_info.release()); 247 apps_list->Append(app_info.release());
242 } 248 }
243 settings.SetWithoutPathExpansion("apps", apps_list.release()); 249 settings.SetWithoutPathExpansion("apps", apps_list.release());
244 250
245 web_ui()->CallJavascriptFunction("extensions.KioskAppsOverlay.setSettings", 251 web_ui()->CallJavascriptFunction("extensions.KioskAppsOverlay.setSettings",
246 settings); 252 settings);
247 } 253 }
248 254
249 void KioskAppsHandler::HandleInitializeKioskAppSettings( 255 void KioskAppsHandler::HandleInitializeKioskAppSettings(
250 const base::ListValue* args) { 256 const base::ListValue* args) {
251 KioskAppManager::Get()->GetConsumerKioskModeStatus( 257 KioskAppManager::Get()->GetConsumerKioskAutoLaunchStatus(
252 base::Bind(&KioskAppsHandler::OnGetConsumerKioskModeStatus, 258 base::Bind(&KioskAppsHandler::OnGetConsumerKioskAutoLaunchStatus,
253 weak_ptr_factory_.GetWeakPtr())); 259 weak_ptr_factory_.GetWeakPtr()));
254 } 260 }
255 261
256 void KioskAppsHandler::HandleGetKioskAppSettings(const base::ListValue* args) { 262 void KioskAppsHandler::HandleGetKioskAppSettings(const base::ListValue* args) {
257 SendKioskAppSettings(); 263 SendKioskAppSettings();
258 } 264 }
259 265
260 266
261 void KioskAppsHandler::HandleAddKioskApp(const base::ListValue* args) { 267 void KioskAppsHandler::HandleAddKioskApp(const base::ListValue* args) {
262 if (!initialized_ || !is_kiosk_enabled_) 268 if (!initialized_ || !is_kiosk_enabled_)
(...skipping 16 matching lines...) Expand all
279 return; 285 return;
280 286
281 std::string app_id; 287 std::string app_id;
282 CHECK(args->GetString(0, &app_id)); 288 CHECK(args->GetString(0, &app_id));
283 289
284 kiosk_app_manager_->RemoveApp(app_id); 290 kiosk_app_manager_->RemoveApp(app_id);
285 } 291 }
286 292
287 void KioskAppsHandler::HandleEnableKioskAutoLaunch( 293 void KioskAppsHandler::HandleEnableKioskAutoLaunch(
288 const base::ListValue* args) { 294 const base::ListValue* args) {
289 if (!initialized_ || !is_kiosk_enabled_) 295 if (!initialized_ || !is_kiosk_enabled_ || !is_auto_launch_enabled_)
290 return; 296 return;
291 297
292 std::string app_id; 298 std::string app_id;
293 CHECK(args->GetString(0, &app_id)); 299 CHECK(args->GetString(0, &app_id));
294 300
295 kiosk_app_manager_->SetAutoLaunchApp(app_id); 301 kiosk_app_manager_->SetAutoLaunchApp(app_id);
296 } 302 }
297 303
298 void KioskAppsHandler::HandleDisableKioskAutoLaunch( 304 void KioskAppsHandler::HandleDisableKioskAutoLaunch(
299 const base::ListValue* args) { 305 const base::ListValue* args) {
300 if (!initialized_ || !is_kiosk_enabled_) 306 if (!initialized_ || !is_kiosk_enabled_ || !is_auto_launch_enabled_)
301 return; 307 return;
302 308
303 std::string app_id; 309 std::string app_id;
304 CHECK(args->GetString(0, &app_id)); 310 CHECK(args->GetString(0, &app_id));
305 311
306 std::string startup_app_id = kiosk_app_manager_->GetAutoLaunchApp(); 312 std::string startup_app_id = kiosk_app_manager_->GetAutoLaunchApp();
307 if (startup_app_id != app_id) 313 if (startup_app_id != app_id)
308 return; 314 return;
309 315
310 kiosk_app_manager_->SetAutoLaunchApp(""); 316 kiosk_app_manager_->SetAutoLaunchApp("");
311 } 317 }
312 318
313 void KioskAppsHandler::HandleSetDisableBailoutShortcut( 319 void KioskAppsHandler::HandleSetDisableBailoutShortcut(
314 const base::ListValue* args) { 320 const base::ListValue* args) {
315 if (!initialized_ || !is_kiosk_enabled_) 321 if (!initialized_ || !is_kiosk_enabled_)
316 return; 322 return;
317 323
318 bool disable_bailout_shortcut; 324 bool disable_bailout_shortcut;
319 CHECK(args->GetBoolean(0, &disable_bailout_shortcut)); 325 CHECK(args->GetBoolean(0, &disable_bailout_shortcut));
320 326
321 CrosSettings::Get()->SetBoolean( 327 CrosSettings::Get()->SetBoolean(
322 kAccountsPrefDeviceLocalAccountAutoLoginBailoutEnabled, 328 kAccountsPrefDeviceLocalAccountAutoLoginBailoutEnabled,
323 !disable_bailout_shortcut); 329 !disable_bailout_shortcut);
324 } 330 }
325 331
326 } // namespace chromeos 332 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698