diff options
author | benwells@chromium.org <benwells@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-11-28 08:20:27 +0000 |
---|---|---|
committer | benwells@chromium.org <benwells@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-11-28 08:20:27 +0000 |
commit | 45928b68fd4a932a615cd558e92a94ebe757dbe6 (patch) | |
tree | 74b80731f4f298aff692fcbd977226b7d6193bc5 | |
parent | f097dccc802c2ba638d0b83f3af18e2f70c68719 (diff) | |
download | chromium_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
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(); |