Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(5049)

Unified Diff: chrome/browser/extensions/external_pref_extension_loader.h

Issue 7718021: Add external extensions json source in proper mac location. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: sss Created 9 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/extensions/external_pref_extension_loader.h
diff --git a/chrome/browser/extensions/external_pref_extension_loader.h b/chrome/browser/extensions/external_pref_extension_loader.h
index 847363514db15109d4c1fe1cb8ea989b2c60d58c..4d48755cb9a66dd0cd85f020a10fdb3086340db9 100644
--- a/chrome/browser/extensions/external_pref_extension_loader.h
+++ b/chrome/browser/extensions/external_pref_extension_loader.h
@@ -20,24 +20,38 @@
// thread and they are expecting public method calls from the UI thread.
class ExternalPrefExtensionLoader : public ExternalExtensionLoader {
public:
+ enum Options {
+ NONE = 0,
+
+ // Ensure that only root can force an external install by checking
+ // that all components of the path to external extensions files are
+ // owned by root and not writable by any non-root user.
+ ENSURE_PATH_CONTROLLED_BY_ADMIN = 1 << 0
+ };
+
// |base_path_key| is the directory containing the external_extensions.json
// file. Relative file paths to extension files are resolved relative
// to this path.
- explicit ExternalPrefExtensionLoader(int base_path_key);
+ explicit ExternalPrefExtensionLoader(int base_path_key, Options options);
virtual const FilePath GetBaseCrxFilePath() OVERRIDE;
protected:
virtual void StartLoading() OVERRIDE;
+ bool IsOptionSet(Options option) {
+ return (options_ & option) != 0;
+ }
private:
friend class base::RefCountedThreadSafe<ExternalExtensionLoader>;
virtual ~ExternalPrefExtensionLoader() {}
+ DictionaryValue* ReadJsonPrefsFile();
void LoadOnFileThread();
int base_path_key_;
+ Options options_;
FilePath base_path_;
DISALLOW_COPY_AND_ASSIGN(ExternalPrefExtensionLoader);

Powered by Google App Engine
This is Rietveld 408576698