summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorxiyuan@chromium.org <xiyuan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-01-08 18:48:31 +0000
committerxiyuan@chromium.org <xiyuan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-01-08 18:48:31 +0000
commit531593ddbc34688bb4bfe26dea8c22082441292d (patch)
treeb336a51f70efd74e257d63c4f08c9c73bdc9b082
parentac52d031447ea6e6b78f74d603356e18ba8960f7 (diff)
downloadchromium_src-531593ddbc34688bb4bfe26dea8c22082441292d.zip
chromium_src-531593ddbc34688bb4bfe26dea8c22082441292d.tar.gz
chromium_src-531593ddbc34688bb4bfe26dea8c22082441292d.tar.bz2
kiosk: Load file manager in kiosk mode.
BUG=332218 Review URL: https://codereview.chromium.org/126513005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@243614 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--chrome/browser/extensions/component_loader.cc10
-rw-r--r--chrome/browser/extensions/component_loader.h3
-rw-r--r--chrome/browser/extensions/extension_system.cc5
3 files changed, 17 insertions, 1 deletions
diff --git a/chrome/browser/extensions/component_loader.cc b/chrome/browser/extensions/component_loader.cc
index bc2569b..5c27d84 100644
--- a/chrome/browser/extensions/component_loader.cc
+++ b/chrome/browser/extensions/component_loader.cc
@@ -417,6 +417,16 @@ void ComponentLoader::AddDefaultComponentExtensions(
AddDefaultComponentExtensionsWithBackgroundPages(skip_session_components);
}
+void ComponentLoader::AddDefaultComponentExtensionsForKioskMode(
+ bool skip_session_components) {
+ // No component extension for kiosk app launch splash screen.
+ if (skip_session_components)
+ return;
+
+ // Component extensions needed for kiosk apps.
+ AddFileManagerExtension();
+}
+
void ComponentLoader::AddDefaultComponentExtensionsWithBackgroundPages(
bool skip_session_components) {
const CommandLine* command_line = CommandLine::ForCurrentProcess();
diff --git a/chrome/browser/extensions/component_loader.h b/chrome/browser/extensions/component_loader.h
index 415e084..51c8597 100644
--- a/chrome/browser/extensions/component_loader.h
+++ b/chrome/browser/extensions/component_loader.h
@@ -82,6 +82,9 @@ class ComponentLoader {
// platforms this |skip_session_components| is expected to be unset.
void AddDefaultComponentExtensions(bool skip_session_components);
+ // Similar to above but adds the default component extensions for kiosk mode.
+ void AddDefaultComponentExtensionsForKioskMode(bool skip_session_components);
+
// Parse the given JSON manifest. Returns NULL if it cannot be parsed, or if
// if the result is not a DictionaryValue.
base::DictionaryValue* ParseManifest(
diff --git a/chrome/browser/extensions/extension_system.cc b/chrome/browser/extensions/extension_system.cc
index eda0979..80ef736 100644
--- a/chrome/browser/extensions/extension_system.cc
+++ b/chrome/browser/extensions/extension_system.cc
@@ -201,7 +201,10 @@ void ExtensionSystemImpl::Shared::Init(bool extensions_enabled) {
#if defined(OS_CHROMEOS)
// Skip loading session extensions if we are not in a user session.
skip_session_extensions = !chromeos::LoginState::Get()->IsUserLoggedIn();
- if (!chrome::IsRunningInForcedAppMode()) {
+ if (chrome::IsRunningInForcedAppMode()) {
+ extension_service_->component_loader()->
+ AddDefaultComponentExtensionsForKioskMode(skip_session_extensions);
+ } else {
extension_service_->component_loader()->AddDefaultComponentExtensions(
skip_session_extensions);
}