summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorxiyuan@chromium.org <xiyuan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-01-09 17:04:04 +0000
committerxiyuan@chromium.org <xiyuan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-01-09 17:04:04 +0000
commitcd3d4b8f5904631312c1310bbe4a2bc721cee870 (patch)
tree49ca8b7521ed395a10f613bd56bd927fe7f96123
parent7951b594fca2183bd6bfae16a52d83313b8dd9a8 (diff)
downloadchromium_src-cd3d4b8f5904631312c1310bbe4a2bc721cee870.zip
chromium_src-cd3d4b8f5904631312c1310bbe4a2bc721cee870.tar.gz
chromium_src-cd3d4b8f5904631312c1310bbe4a2bc721cee870.tar.bz2
Merge 243614 "kiosk: Load file manager in kiosk mode."
> kiosk: Load file manager in kiosk mode. > > BUG=332218 > > Review URL: https://codereview.chromium.org/126513005 TBR=xiyuan@chromium.org Review URL: https://codereview.chromium.org/130273003 git-svn-id: svn://svn.chromium.org/chrome/branches/1750/src@243913 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 ae525c5..1b14f3d 100644
--- a/chrome/browser/extensions/component_loader.cc
+++ b/chrome/browser/extensions/component_loader.cc
@@ -415,6 +415,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 cdb548e..41cd52a 100644
--- a/chrome/browser/extensions/component_loader.h
+++ b/chrome/browser/extensions/component_loader.h
@@ -77,6 +77,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.
DictionaryValue* ParseManifest(const std::string& manifest_contents) const;
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);
}