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

Side by Side Diff: chrome/browser/extensions/extensions_service.h

Issue 132003: Disable extensions besides externally installed ones and themes. (Closed)
Patch Set: Fix ui test bustage Created 11 years, 6 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2009 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CHROME_BROWSER_EXTENSIONS_EXTENSIONS_SERVICE_H_ 5 #ifndef CHROME_BROWSER_EXTENSIONS_EXTENSIONS_SERVICE_H_
6 #define CHROME_BROWSER_EXTENSIONS_EXTENSIONS_SERVICE_H_ 6 #define CHROME_BROWSER_EXTENSIONS_EXTENSIONS_SERVICE_H_
7 7
8 #include <map> 8 #include <map>
9 #include <set> 9 #include <set>
10 #include <string> 10 #include <string>
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after
125 void ClearProvidersForTesting(); 125 void ClearProvidersForTesting();
126 126
127 // Sets an ExternalExtensionProvider for the service to use during testing. 127 // Sets an ExternalExtensionProvider for the service to use during testing.
128 // |location| specifies what type of provider should be added. 128 // |location| specifies what type of provider should be added.
129 void SetProviderForTesting(Extension::Location location, 129 void SetProviderForTesting(Extension::Location location,
130 ExternalExtensionProvider* test_provider); 130 ExternalExtensionProvider* test_provider);
131 131
132 // The name of the file that the current active version number is stored in. 132 // The name of the file that the current active version number is stored in.
133 static const char* kCurrentVersionFileName; 133 static const char* kCurrentVersionFileName;
134 134
135 void set_extensions_enabled(bool enabled) { extensions_enabled_ = enabled; } 135 void SetExtensionsEnabled(bool enabled);
136 bool extensions_enabled() { return extensions_enabled_; }
137
136 void set_show_extensions_prompts(bool enabled) { 138 void set_show_extensions_prompts(bool enabled) {
137 show_extensions_prompts_ = enabled; 139 show_extensions_prompts_ = enabled;
138 } 140 }
139 141
140 bool extensions_enabled() { return extensions_enabled_; }
141 bool show_extensions_prompts() { 142 bool show_extensions_prompts() {
142 return show_extensions_prompts_; 143 return show_extensions_prompts_;
143 } 144 }
144 145
145 ExtensionPrefs* extension_prefs() { return extension_prefs_.get(); } 146 ExtensionPrefs* extension_prefs() { return extension_prefs_.get(); }
146 147
147 // Whether the extension service is ready. 148 // Whether the extension service is ready.
148 bool is_ready() { return ready_; } 149 bool is_ready() { return ready_; }
149 150
150 private: 151 private:
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
202 class ExtensionsServiceBackend 203 class ExtensionsServiceBackend
203 : public base::RefCountedThreadSafe<ExtensionsServiceBackend>, 204 : public base::RefCountedThreadSafe<ExtensionsServiceBackend>,
204 public ExternalExtensionProvider::Visitor { 205 public ExternalExtensionProvider::Visitor {
205 public: 206 public:
206 // |rdh| can be NULL in the case of test environment. 207 // |rdh| can be NULL in the case of test environment.
207 // |extension_prefs| contains a dictionary value that points to the extension 208 // |extension_prefs| contains a dictionary value that points to the extension
208 // preferences. 209 // preferences.
209 ExtensionsServiceBackend(const FilePath& install_directory, 210 ExtensionsServiceBackend(const FilePath& install_directory,
210 ResourceDispatcherHost* rdh, 211 ResourceDispatcherHost* rdh,
211 MessageLoop* frontend_loop, 212 MessageLoop* frontend_loop,
212 DictionaryValue* extension_prefs); 213 DictionaryValue* extension_prefs,
214 bool extensions_enabled);
213 215
214 virtual ~ExtensionsServiceBackend(); 216 virtual ~ExtensionsServiceBackend();
215 217
218 void set_extensions_enabled(bool enabled) { extensions_enabled_ = enabled; }
219
216 // Loads the installed extensions. 220 // Loads the installed extensions.
217 // Errors are reported through ExtensionErrorReporter. On completion, 221 // Errors are reported through ExtensionErrorReporter. On completion,
218 // OnExtensionsLoaded() is called with any successfully loaded extensions. 222 // OnExtensionsLoaded() is called with any successfully loaded extensions.
219 void LoadInstalledExtensions(scoped_refptr<ExtensionsService> frontend, 223 void LoadInstalledExtensions(scoped_refptr<ExtensionsService> frontend,
220 InstalledExtensions* installed); 224 InstalledExtensions* installed);
221 225
222 // Scans the extension installation directory to look for partially installed 226 // Scans the extension installation directory to look for partially installed
223 // or extensions to uninstall. 227 // or extensions to uninstall.
224 void GarbageCollectExtensions(scoped_refptr<ExtensionsService> frontend); 228 void GarbageCollectExtensions(scoped_refptr<ExtensionsService> frontend);
225 229
(...skipping 166 matching lines...) Expand 10 before | Expand all | Expand 10 after
392 396
393 // We only need a pointer to this to pass along to other interfaces. 397 // We only need a pointer to this to pass along to other interfaces.
394 ResourceDispatcherHost* resource_dispatcher_host_; 398 ResourceDispatcherHost* resource_dispatcher_host_;
395 399
396 // Whether errors result in noisy alerts. 400 // Whether errors result in noisy alerts.
397 bool alert_on_error_; 401 bool alert_on_error_;
398 402
399 // The message loop to use to call the frontend. 403 // The message loop to use to call the frontend.
400 MessageLoop* frontend_loop_; 404 MessageLoop* frontend_loop_;
401 405
406 // Whether non-theme extensions are enabled (themes and externally registered
407 // extensions are always enabled).
408 bool extensions_enabled_;
409
402 // A map of all external extension providers. 410 // A map of all external extension providers.
403 typedef std::map<Extension::Location, 411 typedef std::map<Extension::Location,
404 linked_ptr<ExternalExtensionProvider> > ProviderMap; 412 linked_ptr<ExternalExtensionProvider> > ProviderMap;
405 ProviderMap external_extension_providers_; 413 ProviderMap external_extension_providers_;
406 414
407 DISALLOW_COPY_AND_ASSIGN(ExtensionsServiceBackend); 415 DISALLOW_COPY_AND_ASSIGN(ExtensionsServiceBackend);
408 }; 416 };
409 417
410 #endif // CHROME_BROWSER_EXTENSIONS_EXTENSIONS_SERVICE_H_ 418 #endif // CHROME_BROWSER_EXTENSIONS_EXTENSIONS_SERVICE_H_
OLDNEW
« no previous file with comments | « chrome/browser/extensions/extension_uitest.cc ('k') | chrome/browser/extensions/extensions_service.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698