OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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_EXTENSION_SERVICE_H_ | 5 #ifndef CHROME_BROWSER_EXTENSIONS_EXTENSION_SERVICE_H_ |
6 #define CHROME_BROWSER_EXTENSIONS_EXTENSION_SERVICE_H_ | 6 #define CHROME_BROWSER_EXTENSIONS_EXTENSION_SERVICE_H_ |
7 | 7 |
8 #include <map> | 8 #include <map> |
9 #include <set> | 9 #include <set> |
10 #include <string> | 10 #include <string> |
(...skipping 249 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
260 | 260 |
261 // Getter and setter for the flag that specifies if the extension has used | 261 // Getter and setter for the flag that specifies if the extension has used |
262 // the webrequest API. | 262 // the webrequest API. |
263 // TODO(mpcomplete): remove. http://crbug.com/100411 | 263 // TODO(mpcomplete): remove. http://crbug.com/100411 |
264 bool HasUsedWebRequest(const extensions::Extension* extension) const; | 264 bool HasUsedWebRequest(const extensions::Extension* extension) const; |
265 void SetHasUsedWebRequest(const extensions::Extension* extension, bool value); | 265 void SetHasUsedWebRequest(const extensions::Extension* extension, bool value); |
266 | 266 |
267 // Initialize and start all installed extensions. | 267 // Initialize and start all installed extensions. |
268 void Init(); | 268 void Init(); |
269 | 269 |
270 // Start up the extension event routers. | |
271 void InitEventRouters(); | |
272 | |
273 // Called when the associated Profile is going to be destroyed. | 270 // Called when the associated Profile is going to be destroyed. |
274 void Shutdown(); | 271 void Shutdown(); |
275 | 272 |
276 // Look up an extension by ID. Does not include terminated | 273 // Look up an extension by ID. Does not include terminated |
277 // extensions. | 274 // extensions. |
278 virtual const extensions::Extension* GetExtensionById( | 275 virtual const extensions::Extension* GetExtensionById( |
279 const std::string& id, bool include_disabled) const OVERRIDE; | 276 const std::string& id, bool include_disabled) const OVERRIDE; |
280 | 277 |
281 enum IncludeFlag { | 278 enum IncludeFlag { |
282 INCLUDE_NONE = 0, | 279 INCLUDE_NONE = 0, |
(...skipping 264 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
547 | 544 |
548 // Note that this may return NULL if autoupdate is not turned on. | 545 // Note that this may return NULL if autoupdate is not turned on. |
549 extensions::ExtensionUpdater* updater(); | 546 extensions::ExtensionUpdater* updater(); |
550 | 547 |
551 ExtensionToolbarModel* toolbar_model() { return &toolbar_model_; } | 548 ExtensionToolbarModel* toolbar_model() { return &toolbar_model_; } |
552 | 549 |
553 ExtensionsQuotaService* quota_service() { return "a_service_; } | 550 ExtensionsQuotaService* quota_service() { return "a_service_; } |
554 | 551 |
555 extensions::MenuManager* menu_manager() { return &menu_manager_; } | 552 extensions::MenuManager* menu_manager() { return &menu_manager_; } |
556 | 553 |
557 extensions::BrowserEventRouter* browser_event_router() { | |
558 return browser_event_router_.get(); | |
559 } | |
560 | |
561 // Notify the frontend that there was an error loading an extension. | 554 // Notify the frontend that there was an error loading an extension. |
562 // This method is public because UnpackedInstaller and InstalledLoader | 555 // This method is public because UnpackedInstaller and InstalledLoader |
563 // can post to here. | 556 // can post to here. |
564 // TODO(aa): Remove this. It doesn't do enough to be worth the dependency | 557 // TODO(aa): Remove this. It doesn't do enough to be worth the dependency |
565 // of these classes on ExtensionService. | 558 // of these classes on ExtensionService. |
566 void ReportExtensionLoadError(const base::FilePath& extension_path, | 559 void ReportExtensionLoadError(const base::FilePath& extension_path, |
567 const std::string& error, | 560 const std::string& error, |
568 bool be_noisy); | 561 bool be_noisy); |
569 | 562 |
570 // ExtensionHost of background page calls this method right after its render | 563 // ExtensionHost of background page calls this method right after its render |
(...skipping 334 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
905 | 898 |
906 content::NotificationRegistrar registrar_; | 899 content::NotificationRegistrar registrar_; |
907 PrefChangeRegistrar pref_change_registrar_; | 900 PrefChangeRegistrar pref_change_registrar_; |
908 | 901 |
909 // Keeps track of loading and unloading component extensions. | 902 // Keeps track of loading and unloading component extensions. |
910 scoped_ptr<extensions::ComponentLoader> component_loader_; | 903 scoped_ptr<extensions::ComponentLoader> component_loader_; |
911 | 904 |
912 // Keeps track of menu items added by extensions. | 905 // Keeps track of menu items added by extensions. |
913 extensions::MenuManager menu_manager_; | 906 extensions::MenuManager menu_manager_; |
914 | 907 |
915 // Flag to make sure event routers are only initialized once. | |
916 bool event_routers_initialized_; | |
917 | |
918 // TODO(yoz): None of these should be owned by ExtensionService. | |
919 // crbug.com/159265 | |
920 scoped_ptr<extensions::BrowserEventRouter> browser_event_router_; | |
921 | |
922 // A collection of external extension providers. Each provider reads | 908 // A collection of external extension providers. Each provider reads |
923 // a source of external extension information. Examples include the | 909 // a source of external extension information. Examples include the |
924 // windows registry and external_extensions.json. | 910 // windows registry and external_extensions.json. |
925 extensions::ProviderCollection external_extension_providers_; | 911 extensions::ProviderCollection external_extension_providers_; |
926 | 912 |
927 // Set to true by OnExternalExtensionUpdateUrlFound() when an external | 913 // Set to true by OnExternalExtensionUpdateUrlFound() when an external |
928 // extension URL is found, and by CheckForUpdatesSoon() when an update check | 914 // extension URL is found, and by CheckForUpdatesSoon() when an update check |
929 // has to wait for the external providers. Used in | 915 // has to wait for the external providers. Used in |
930 // OnAllExternalProvidersReady() to determine if an update check is needed to | 916 // OnAllExternalProvidersReady() to determine if an update check is needed to |
931 // install pending extensions. | 917 // install pending extensions. |
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
983 #endif | 969 #endif |
984 | 970 |
985 FRIEND_TEST_ALL_PREFIXES(ExtensionServiceTest, | 971 FRIEND_TEST_ALL_PREFIXES(ExtensionServiceTest, |
986 InstallAppsWithUnlimtedStorage); | 972 InstallAppsWithUnlimtedStorage); |
987 FRIEND_TEST_ALL_PREFIXES(ExtensionServiceTest, | 973 FRIEND_TEST_ALL_PREFIXES(ExtensionServiceTest, |
988 InstallAppsAndCheckStorageProtection); | 974 InstallAppsAndCheckStorageProtection); |
989 DISALLOW_COPY_AND_ASSIGN(ExtensionService); | 975 DISALLOW_COPY_AND_ASSIGN(ExtensionService); |
990 }; | 976 }; |
991 | 977 |
992 #endif // CHROME_BROWSER_EXTENSIONS_EXTENSION_SERVICE_H_ | 978 #endif // CHROME_BROWSER_EXTENSIONS_EXTENSION_SERVICE_H_ |
OLD | NEW |