summaryrefslogtreecommitdiffstats
path: root/chrome/browser/extensions/external_pref_extension_provider.h
diff options
context:
space:
mode:
authorgfeher@chromium.org <gfeher@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-11-04 10:47:42 +0000
committergfeher@chromium.org <gfeher@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-11-04 10:47:42 +0000
commit21a5a673d2faa94c280fa6b419d3737040e86c62 (patch)
treedf152fcf068821b2b5baa419eb07c57f555a394a /chrome/browser/extensions/external_pref_extension_provider.h
parent94828c90ab0bb8e120287f4265ca106eae34c8ce (diff)
downloadchromium_src-21a5a673d2faa94c280fa6b419d3737040e86c62.zip
chromium_src-21a5a673d2faa94c280fa6b419d3737040e86c62.tar.gz
chromium_src-21a5a673d2faa94c280fa6b419d3737040e86c62.tar.bz2
Policy to silently install extensions
Separate the parts of ExternalPrefExtensionProvider that store the list of external extensions and the parts that parse the preference file. This makes it possible for other providers to reuse the storage code. Also make it possible to have external extensions from update URLs with locations other than Extension::EXTERNAL_PREF_DOWNLOAD, by making it a parameter of OnExternalExtensionUpdateUrlFound. Add new provider (ExternalPolicyExtensionProvider) to provide external extensions from policies. BUG=59782 TEST=ExtensionsServiceTest.ExternalPrefProvider,ExternalPolicyExtensionProvider.* Review URL: http://codereview.chromium.org/3826008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65040 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/extensions/external_pref_extension_provider.h')
-rw-r--r--chrome/browser/extensions/external_pref_extension_provider.h23
1 files changed, 2 insertions, 21 deletions
diff --git a/chrome/browser/extensions/external_pref_extension_provider.h b/chrome/browser/extensions/external_pref_extension_provider.h
index 9c54348..8b9eb0b 100644
--- a/chrome/browser/extensions/external_pref_extension_provider.h
+++ b/chrome/browser/extensions/external_pref_extension_provider.h
@@ -6,18 +6,11 @@
#define CHROME_BROWSER_EXTENSIONS_EXTERNAL_PREF_EXTENSION_PROVIDER_H_
#pragma once
-#include <set>
-#include <string>
-
-#include "chrome/browser/extensions/external_extension_provider.h"
-
-class DictionaryValue;
-class ValueSerializer;
-class Version;
+#include "chrome/browser/extensions/stateful_external_extension_provider.h"
// A specialization of the ExternalExtensionProvider that uses a json file to
// look up which external extensions are registered.
-class ExternalPrefExtensionProvider : public ExternalExtensionProvider {
+class ExternalPrefExtensionProvider : public StatefulExternalExtensionProvider {
public:
explicit ExternalPrefExtensionProvider();
virtual ~ExternalPrefExtensionProvider();
@@ -26,18 +19,6 @@ class ExternalPrefExtensionProvider : public ExternalExtensionProvider {
// but instead parse a json file specified by the test.
void SetPreferencesForTesting(const std::string& json_data_for_testing);
- // ExternalExtensionProvider implementation:
- virtual void VisitRegisteredExtension(
- Visitor* visitor, const std::set<std::string>& ids_to_ignore) const;
-
- virtual bool HasExtension(const std::string& id) const;
-
- virtual bool GetExtensionDetails(const std::string& id,
- Extension::Location* location,
- scoped_ptr<Version>* version) const;
- protected:
- scoped_ptr<DictionaryValue> prefs_;
-
private:
void SetPreferences(ValueSerializer* serializer);
};