summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbenwells@chromium.org <benwells@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-11-28 08:20:27 +0000
committerbenwells@chromium.org <benwells@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-11-28 08:20:27 +0000
commit45928b68fd4a932a615cd558e92a94ebe757dbe6 (patch)
tree74b80731f4f298aff692fcbd977226b7d6193bc5
parentf097dccc802c2ba638d0b83f3af18e2f70c68719 (diff)
downloadchromium_src-45928b68fd4a932a615cd558e92a94ebe757dbe6.zip
chromium_src-45928b68fd4a932a615cd558e92a94ebe757dbe6.tar.gz
chromium_src-45928b68fd4a932a615cd558e92a94ebe757dbe6.tar.bz2
Remove dependency from ExtensionService to app mode utils.
This is done by introducing a function on the generic extensions browser client to determine if the system is running in forced app mode. BUG=298537 Review URL: https://codereview.chromium.org/93783002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@237742 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--chrome/browser/extensions/chrome_extensions_browser_client.cc5
-rw-r--r--chrome/browser/extensions/chrome_extensions_browser_client.h1
-rw-r--r--chrome/browser/extensions/extension_service.cc4
-rw-r--r--extensions/browser/extensions_browser_client.h3
4 files changed, 11 insertions, 2 deletions
diff --git a/chrome/browser/extensions/chrome_extensions_browser_client.cc b/chrome/browser/extensions/chrome_extensions_browser_client.cc
index 1cbc1d8..500534e 100644
--- a/chrome/browser/extensions/chrome_extensions_browser_client.cc
+++ b/chrome/browser/extensions/chrome_extensions_browser_client.cc
@@ -6,6 +6,7 @@
#include "base/command_line.h"
#include "base/version.h"
+#include "chrome/browser/app_mode/app_mode_utils.h"
#include "chrome/browser/browser_process.h"
#include "chrome/browser/extensions/chrome_app_sorting.h"
#include "chrome/browser/extensions/extension_prefs.h"
@@ -118,6 +119,10 @@ scoped_ptr<AppSorting> ChromeExtensionsBrowserClient::CreateAppSorting() {
return scoped_ptr<AppSorting>(new ChromeAppSorting()).Pass();
}
+bool ChromeExtensionsBrowserClient::IsRunningInForcedAppMode() {
+ return chrome::IsRunningInForcedAppMode();
+}
+
// static
ChromeExtensionsBrowserClient* ChromeExtensionsBrowserClient::GetInstance() {
return g_client.Pointer();
diff --git a/chrome/browser/extensions/chrome_extensions_browser_client.h b/chrome/browser/extensions/chrome_extensions_browser_client.h
index 1aded38..dc9d4fd 100644
--- a/chrome/browser/extensions/chrome_extensions_browser_client.h
+++ b/chrome/browser/extensions/chrome_extensions_browser_client.h
@@ -44,6 +44,7 @@ class ChromeExtensionsBrowserClient : public ExtensionsBrowserClient {
content::BrowserContext* context) const OVERRIDE;
virtual bool DidVersionUpdate(content::BrowserContext* context) OVERRIDE;
virtual scoped_ptr<AppSorting> CreateAppSorting() OVERRIDE;
+ virtual bool IsRunningInForcedAppMode() OVERRIDE;
// Get the LazyInstance for ChromeBrowserClient.
static ChromeExtensionsBrowserClient* GetInstance();
diff --git a/chrome/browser/extensions/extension_service.cc b/chrome/browser/extensions/extension_service.cc
index 0eac6e0..d6de5e5 100644
--- a/chrome/browser/extensions/extension_service.cc
+++ b/chrome/browser/extensions/extension_service.cc
@@ -26,7 +26,6 @@
#include "base/time/time.h"
#include "base/values.h"
#include "base/version.h"
-#include "chrome/browser/app_mode/app_mode_utils.h"
#include "chrome/browser/browser_process.h"
#include "chrome/browser/chrome_notification_types.h"
#include "chrome/browser/extensions/api/app_runtime/app_runtime_api.h"
@@ -85,6 +84,7 @@
#include "content/public/browser/url_data_source.h"
#include "extensions/browser/app_sorting.h"
#include "extensions/browser/event_router.h"
+#include "extensions/browser/extensions_browser_client.h"
#include "extensions/browser/external_provider_interface.h"
#include "extensions/browser/management_policy.h"
#include "extensions/browser/process_manager.h"
@@ -1845,7 +1845,7 @@ void ExtensionService::CheckPermissionsIncrease(const Extension* extension,
bool auto_grant_permission =
(!is_extension_installed && extension->was_installed_by_default()) ||
- chrome::IsRunningInForcedAppMode();
+ extensions::ExtensionsBrowserClient::Get()->IsRunningInForcedAppMode();
// Silently grant all active permissions to default apps only on install.
// After install they should behave like other apps.
// Silently grant all active permissions to apps install in kiosk mode on both
diff --git a/extensions/browser/extensions_browser_client.h b/extensions/browser/extensions_browser_client.h
index 01b6aab..6331dae 100644
--- a/extensions/browser/extensions_browser_client.h
+++ b/extensions/browser/extensions_browser_client.h
@@ -64,6 +64,9 @@ class ExtensionsBrowserClient {
// Creates a new AppSorting instance.
virtual scoped_ptr<AppSorting> CreateAppSorting() = 0;
+ // Return true if the system is run in forced app mode.
+ virtual bool IsRunningInForcedAppMode() = 0;
+
// Returns the single instance of |this|.
static ExtensionsBrowserClient* Get();