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 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
45 | 45 |
46 namespace extensions { | 46 namespace extensions { |
47 class ComponentLoader; | 47 class ComponentLoader; |
48 class CrxInstaller; | 48 class CrxInstaller; |
49 class ExtensionActionStorageManager; | 49 class ExtensionActionStorageManager; |
50 class ExtensionErrorController; | 50 class ExtensionErrorController; |
51 class ExtensionRegistry; | 51 class ExtensionRegistry; |
52 class ExtensionSystem; | 52 class ExtensionSystem; |
53 class ExtensionUpdater; | 53 class ExtensionUpdater; |
54 class OneShotEvent; | 54 class OneShotEvent; |
| 55 class ExternalInstallManager; |
55 class SharedModuleService; | 56 class SharedModuleService; |
56 class UpdateObserver; | 57 class UpdateObserver; |
57 } // namespace extensions | 58 } // namespace extensions |
58 | 59 |
59 // This is an interface class to encapsulate the dependencies that | 60 // This is an interface class to encapsulate the dependencies that |
60 // various classes have on ExtensionService. This allows easy mocking. | 61 // various classes have on ExtensionService. This allows easy mocking. |
61 class ExtensionServiceInterface | 62 class ExtensionServiceInterface |
62 : public base::SupportsWeakPtr<ExtensionServiceInterface> { | 63 : public base::SupportsWeakPtr<ExtensionServiceInterface> { |
63 public: | 64 public: |
64 virtual ~ExtensionServiceInterface() {} | 65 virtual ~ExtensionServiceInterface() {} |
(...skipping 315 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
380 extensions::ComponentLoader* component_loader() { | 381 extensions::ComponentLoader* component_loader() { |
381 return component_loader_.get(); | 382 return component_loader_.get(); |
382 } | 383 } |
383 | 384 |
384 bool browser_terminating() const { return browser_terminating_; } | 385 bool browser_terminating() const { return browser_terminating_; } |
385 | 386 |
386 extensions::SharedModuleService* shared_module_service() { | 387 extensions::SharedModuleService* shared_module_service() { |
387 return shared_module_service_.get(); | 388 return shared_module_service_.get(); |
388 } | 389 } |
389 | 390 |
| 391 extensions::ExternalInstallManager* external_install_manager() { |
| 392 return external_install_manager_.get(); |
| 393 } |
| 394 |
390 ////////////////////////////////////////////////////////////////////////////// | 395 ////////////////////////////////////////////////////////////////////////////// |
391 // For Testing | 396 // For Testing |
392 | 397 |
393 // Unload all extensions. Does not send notifications. | 398 // Unload all extensions. Does not send notifications. |
394 void UnloadAllExtensionsForTest(); | 399 void UnloadAllExtensionsForTest(); |
395 | 400 |
396 // Reloads all extensions. Does not notify that extensions are ready. | 401 // Reloads all extensions. Does not notify that extensions are ready. |
397 void ReloadExtensionsForTest(); | 402 void ReloadExtensionsForTest(); |
398 | 403 |
399 // Clear all ExternalProviders. | 404 // Clear all ExternalProviders. |
(...skipping 269 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
669 std::set<std::string> reloading_extensions_; | 674 std::set<std::string> reloading_extensions_; |
670 | 675 |
671 // A set of the extension ids currently being terminated. We use this to | 676 // A set of the extension ids currently being terminated. We use this to |
672 // avoid trying to unload the same extension twice. | 677 // avoid trying to unload the same extension twice. |
673 std::set<std::string> extensions_being_terminated_; | 678 std::set<std::string> extensions_being_terminated_; |
674 | 679 |
675 // The controller for the UI that alerts the user about any blacklisted | 680 // The controller for the UI that alerts the user about any blacklisted |
676 // extensions. | 681 // extensions. |
677 scoped_ptr<extensions::ExtensionErrorController> error_controller_; | 682 scoped_ptr<extensions::ExtensionErrorController> error_controller_; |
678 | 683 |
| 684 // The manager for extensions that were externally installed that is |
| 685 // responsible for prompting the user about suspicious extensions. |
| 686 scoped_ptr<extensions::ExternalInstallManager> external_install_manager_; |
| 687 |
679 // Sequenced task runner for extension related file operations. | 688 // Sequenced task runner for extension related file operations. |
680 scoped_refptr<base::SequencedTaskRunner> file_task_runner_; | 689 scoped_refptr<base::SequencedTaskRunner> file_task_runner_; |
681 | 690 |
682 #if defined(ENABLE_EXTENSIONS) | 691 #if defined(ENABLE_EXTENSIONS) |
683 scoped_ptr<extensions::ExtensionActionStorageManager> | 692 scoped_ptr<extensions::ExtensionActionStorageManager> |
684 extension_action_storage_manager_; | 693 extension_action_storage_manager_; |
685 #endif | 694 #endif |
686 scoped_ptr<extensions::ManagementPolicy::Provider> | 695 scoped_ptr<extensions::ManagementPolicy::Provider> |
687 shared_module_policy_provider_; | 696 shared_module_policy_provider_; |
688 | 697 |
(...skipping 17 matching lines...) Expand all Loading... |
706 GreylistedExtensionDisabled); | 715 GreylistedExtensionDisabled); |
707 FRIEND_TEST_ALL_PREFIXES(ExtensionServiceTest, | 716 FRIEND_TEST_ALL_PREFIXES(ExtensionServiceTest, |
708 GreylistDontEnableManuallyDisabled); | 717 GreylistDontEnableManuallyDisabled); |
709 FRIEND_TEST_ALL_PREFIXES(ExtensionServiceTest, | 718 FRIEND_TEST_ALL_PREFIXES(ExtensionServiceTest, |
710 GreylistUnknownDontChange); | 719 GreylistUnknownDontChange); |
711 | 720 |
712 DISALLOW_COPY_AND_ASSIGN(ExtensionService); | 721 DISALLOW_COPY_AND_ASSIGN(ExtensionService); |
713 }; | 722 }; |
714 | 723 |
715 #endif // CHROME_BROWSER_EXTENSIONS_EXTENSION_SERVICE_H_ | 724 #endif // CHROME_BROWSER_EXTENSIONS_EXTENSION_SERVICE_H_ |
OLD | NEW |