diff options
Diffstat (limited to 'chrome/browser/ui/webui')
3 files changed, 16 insertions, 9 deletions
diff --git a/chrome/browser/ui/webui/extensions/chromeos/kiosk_apps_handler.cc b/chrome/browser/ui/webui/extensions/chromeos/kiosk_apps_handler.cc index d8a0567..b1d3d56 100644 --- a/chrome/browser/ui/webui/extensions/chromeos/kiosk_apps_handler.cc +++ b/chrome/browser/ui/webui/extensions/chromeos/kiosk_apps_handler.cc @@ -15,6 +15,7 @@ #include "base/strings/string_util.h" #include "base/sys_info.h" #include "base/values.h" +#include "chrome/browser/chromeos/ownership/owner_settings_service_chromeos.h" #include "chrome/browser/chromeos/settings/cros_settings.h" #include "chrome/grit/chromium_strings.h" #include "chrome/grit/generated_resources.h" @@ -94,11 +95,12 @@ bool ExtractsAppIdFromInput(const std::string& input, } // namespace -KioskAppsHandler::KioskAppsHandler() +KioskAppsHandler::KioskAppsHandler(OwnerSettingsServiceChromeOS* service) : kiosk_app_manager_(KioskAppManager::Get()), initialized_(false), is_kiosk_enabled_(false), is_auto_launch_enabled_(false), + owner_settings_service_(service), weak_ptr_factory_(this) { kiosk_app_manager_->AddObserver(this); } @@ -281,7 +283,7 @@ void KioskAppsHandler::HandleAddKioskApp(const base::ListValue* args) { return; } - kiosk_app_manager_->AddApp(app_id); + kiosk_app_manager_->AddApp(app_id, owner_settings_service_); } void KioskAppsHandler::HandleRemoveKioskApp(const base::ListValue* args) { @@ -291,7 +293,7 @@ void KioskAppsHandler::HandleRemoveKioskApp(const base::ListValue* args) { std::string app_id; CHECK(args->GetString(0, &app_id)); - kiosk_app_manager_->RemoveApp(app_id); + kiosk_app_manager_->RemoveApp(app_id, owner_settings_service_); } void KioskAppsHandler::HandleEnableKioskAutoLaunch( @@ -302,7 +304,7 @@ void KioskAppsHandler::HandleEnableKioskAutoLaunch( std::string app_id; CHECK(args->GetString(0, &app_id)); - kiosk_app_manager_->SetAutoLaunchApp(app_id); + kiosk_app_manager_->SetAutoLaunchApp(app_id, owner_settings_service_); } void KioskAppsHandler::HandleDisableKioskAutoLaunch( @@ -317,7 +319,7 @@ void KioskAppsHandler::HandleDisableKioskAutoLaunch( if (startup_app_id != app_id) return; - kiosk_app_manager_->SetAutoLaunchApp(""); + kiosk_app_manager_->SetAutoLaunchApp("", owner_settings_service_); } void KioskAppsHandler::HandleSetDisableBailoutShortcut( @@ -328,7 +330,7 @@ void KioskAppsHandler::HandleSetDisableBailoutShortcut( bool disable_bailout_shortcut; CHECK(args->GetBoolean(0, &disable_bailout_shortcut)); - CrosSettings::Get()->SetBoolean( + owner_settings_service_->SetBoolean( kAccountsPrefDeviceLocalAccountAutoLoginBailoutEnabled, !disable_bailout_shortcut); } @@ -350,7 +352,7 @@ void KioskAppsHandler::ShowError(const std::string& app_id) { web_ui()->CallJavascriptFunction("extensions.KioskAppsOverlay.showError", app_id_value); - kiosk_app_manager_->RemoveApp(app_id); + kiosk_app_manager_->RemoveApp(app_id, owner_settings_service_); } } // namespace chromeos diff --git a/chrome/browser/ui/webui/extensions/chromeos/kiosk_apps_handler.h b/chrome/browser/ui/webui/extensions/chromeos/kiosk_apps_handler.h index 23df3a1..83fa88e 100644 --- a/chrome/browser/ui/webui/extensions/chromeos/kiosk_apps_handler.h +++ b/chrome/browser/ui/webui/extensions/chromeos/kiosk_apps_handler.h @@ -25,11 +25,12 @@ class WebUIDataSource; namespace chromeos { class KioskAppManager; +class OwnerSettingsServiceChromeOS; class KioskAppsHandler : public content::WebUIMessageHandler, public KioskAppManagerObserver { public: - KioskAppsHandler(); + explicit KioskAppsHandler(OwnerSettingsServiceChromeOS* service); ~KioskAppsHandler() override; void GetLocalizedValues(content::WebUIDataSource* source); @@ -69,6 +70,7 @@ class KioskAppsHandler : public content::WebUIMessageHandler, bool initialized_; bool is_kiosk_enabled_; bool is_auto_launch_enabled_; + OwnerSettingsServiceChromeOS* const owner_settings_service_; // not owned base::WeakPtrFactory<KioskAppsHandler> weak_ptr_factory_; DISALLOW_COPY_AND_ASSIGN(KioskAppsHandler); diff --git a/chrome/browser/ui/webui/extensions/extensions_ui.cc b/chrome/browser/ui/webui/extensions/extensions_ui.cc index 49d921b..681fd3f 100644 --- a/chrome/browser/ui/webui/extensions/extensions_ui.cc +++ b/chrome/browser/ui/webui/extensions/extensions_ui.cc @@ -18,6 +18,7 @@ #include "ui/base/resource/resource_bundle.h" #if defined(OS_CHROMEOS) +#include "chrome/browser/chromeos/ownership/owner_settings_service_chromeos_factory.h" #include "chrome/browser/ui/webui/extensions/chromeos/kiosk_apps_handler.h" #endif @@ -65,7 +66,9 @@ ExtensionsUI::ExtensionsUI(content::WebUI* web_ui) : WebUIController(web_ui) { #if defined(OS_CHROMEOS) chromeos::KioskAppsHandler* kiosk_app_handler = - new chromeos::KioskAppsHandler(); + new chromeos::KioskAppsHandler( + chromeos::OwnerSettingsServiceChromeOSFactory::GetForBrowserContext( + profile)); kiosk_app_handler->GetLocalizedValues(source); web_ui->AddMessageHandler(kiosk_app_handler); #endif |