OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 #pragma once | 7 #pragma once |
8 | 8 |
9 #include <map> | 9 #include <map> |
10 #include <set> | 10 #include <set> |
(...skipping 10 matching lines...) Expand all Loading... |
21 #include "base/task.h" | 21 #include "base/task.h" |
22 #include "base/time.h" | 22 #include "base/time.h" |
23 #include "base/tuple.h" | 23 #include "base/tuple.h" |
24 #include "chrome/browser/extensions/apps_promo.h" | 24 #include "chrome/browser/extensions/apps_promo.h" |
25 #include "chrome/browser/extensions/extension_app_api.h" | 25 #include "chrome/browser/extensions/extension_app_api.h" |
26 #include "chrome/browser/extensions/extension_icon_manager.h" | 26 #include "chrome/browser/extensions/extension_icon_manager.h" |
27 #include "chrome/browser/extensions/extension_menu_manager.h" | 27 #include "chrome/browser/extensions/extension_menu_manager.h" |
28 #include "chrome/browser/extensions/extension_prefs.h" | 28 #include "chrome/browser/extensions/extension_prefs.h" |
29 #include "chrome/browser/extensions/extension_permissions_api.h" | 29 #include "chrome/browser/extensions/extension_permissions_api.h" |
30 #include "chrome/browser/extensions/extension_process_manager.h" | 30 #include "chrome/browser/extensions/extension_process_manager.h" |
| 31 #include "chrome/browser/extensions/extension_settings_ui_wrapper.h" |
31 #include "chrome/browser/extensions/extension_sync_data.h" | 32 #include "chrome/browser/extensions/extension_sync_data.h" |
32 #include "chrome/browser/extensions/extension_toolbar_model.h" | 33 #include "chrome/browser/extensions/extension_toolbar_model.h" |
33 #include "chrome/browser/extensions/extensions_quota_service.h" | 34 #include "chrome/browser/extensions/extensions_quota_service.h" |
34 #include "chrome/browser/extensions/external_extension_provider_interface.h" | 35 #include "chrome/browser/extensions/external_extension_provider_interface.h" |
35 #include "chrome/browser/extensions/pending_extension_manager.h" | 36 #include "chrome/browser/extensions/pending_extension_manager.h" |
36 #include "chrome/browser/extensions/sandboxed_extension_unpacker.h" | 37 #include "chrome/browser/extensions/sandboxed_extension_unpacker.h" |
37 #include "chrome/browser/prefs/pref_change_registrar.h" | 38 #include "chrome/browser/prefs/pref_change_registrar.h" |
38 #include "chrome/browser/sync/api/sync_change.h" | 39 #include "chrome/browser/sync/api/sync_change.h" |
39 #include "chrome/browser/sync/api/syncable_service.h" | 40 #include "chrome/browser/sync/api/syncable_service.h" |
40 #include "chrome/common/extensions/extension.h" | 41 #include "chrome/common/extensions/extension.h" |
41 #include "chrome/common/extensions/extension_constants.h" | 42 #include "chrome/common/extensions/extension_constants.h" |
42 #include "content/browser/browser_thread.h" | 43 #include "content/browser/browser_thread.h" |
43 #include "content/common/notification_observer.h" | 44 #include "content/common/notification_observer.h" |
44 #include "content/common/notification_registrar.h" | 45 #include "content/common/notification_registrar.h" |
45 #include "content/common/property_bag.h" | 46 #include "content/common/property_bag.h" |
46 | 47 |
47 class CrxInstaller; | 48 class CrxInstaller; |
48 class ExtensionBookmarkEventRouter; | 49 class ExtensionBookmarkEventRouter; |
49 class ExtensionBrowserEventRouter; | 50 class ExtensionBrowserEventRouter; |
50 class ExtensionContentSettingsStore; | 51 class ExtensionContentSettingsStore; |
51 class ExtensionCookiesEventRouter; | 52 class ExtensionCookiesEventRouter; |
52 class ExtensionDownloadsEventRouter; | 53 class ExtensionDownloadsEventRouter; |
53 class ExtensionFileBrowserEventRouter; | 54 class ExtensionFileBrowserEventRouter; |
54 class ExtensionHistoryEventRouter; | 55 class ExtensionHistoryEventRouter; |
55 class ExtensionInstallUI; | 56 class ExtensionInstallUI; |
56 class ExtensionManagementEventRouter; | 57 class ExtensionManagementEventRouter; |
57 class ExtensionPreferenceEventRouter; | 58 class ExtensionPreferenceEventRouter; |
58 class ExtensionServiceBackend; | 59 class ExtensionServiceBackend; |
59 class ExtensionSettings; | |
60 class ExtensionSyncData; | 60 class ExtensionSyncData; |
61 class ExtensionToolbarModel; | 61 class ExtensionToolbarModel; |
62 class ExtensionUpdater; | 62 class ExtensionUpdater; |
63 class ExtensionWebNavigationEventRouter; | 63 class ExtensionWebNavigationEventRouter; |
64 class GURL; | 64 class GURL; |
65 class PendingExtensionManager; | 65 class PendingExtensionManager; |
66 class Profile; | 66 class Profile; |
67 class SyncData; | 67 class SyncData; |
68 class Version; | 68 class Version; |
69 | 69 |
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
172 // true iff the target extension exists. | 172 // true iff the target extension exists. |
173 static bool UninstallExtensionHelper(ExtensionService* extensions_service, | 173 static bool UninstallExtensionHelper(ExtensionService* extensions_service, |
174 const std::string& extension_id); | 174 const std::string& extension_id); |
175 | 175 |
176 // Constructor stores pointers to |profile| and |extension_prefs| but | 176 // Constructor stores pointers to |profile| and |extension_prefs| but |
177 // ownership remains at caller. | 177 // ownership remains at caller. |
178 ExtensionService(Profile* profile, | 178 ExtensionService(Profile* profile, |
179 const CommandLine* command_line, | 179 const CommandLine* command_line, |
180 const FilePath& install_directory, | 180 const FilePath& install_directory, |
181 ExtensionPrefs* extension_prefs, | 181 ExtensionPrefs* extension_prefs, |
182 ExtensionSettings* extension_settings, | |
183 bool autoupdate_enabled, | 182 bool autoupdate_enabled, |
184 bool extensions_enabled); | 183 bool extensions_enabled); |
185 | 184 |
186 virtual ~ExtensionService(); | 185 virtual ~ExtensionService(); |
187 | 186 |
188 // Gets the list of currently installed extensions. | 187 // Gets the list of currently installed extensions. |
189 virtual const ExtensionList* extensions() const OVERRIDE; | 188 virtual const ExtensionList* extensions() const OVERRIDE; |
190 const ExtensionList* disabled_extensions() const; | 189 const ExtensionList* disabled_extensions() const; |
191 const ExtensionList* terminated_extensions() const; | 190 const ExtensionList* terminated_extensions() const; |
192 | 191 |
(...skipping 240 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
433 bool show_extensions_prompts() { | 432 bool show_extensions_prompts() { |
434 return show_extensions_prompts_; | 433 return show_extensions_prompts_; |
435 } | 434 } |
436 | 435 |
437 Profile* profile(); | 436 Profile* profile(); |
438 | 437 |
439 // TODO(skerner): Change to const ExtensionPrefs& extension_prefs() const, | 438 // TODO(skerner): Change to const ExtensionPrefs& extension_prefs() const, |
440 // ExtensionPrefs* mutable_extension_prefs(). | 439 // ExtensionPrefs* mutable_extension_prefs(). |
441 ExtensionPrefs* extension_prefs(); | 440 ExtensionPrefs* extension_prefs(); |
442 | 441 |
443 ExtensionSettings* extension_settings(); | 442 ExtensionSettingsUIWrapper* extension_settings(); |
444 | 443 |
445 ExtensionContentSettingsStore* GetExtensionContentSettingsStore(); | 444 ExtensionContentSettingsStore* GetExtensionContentSettingsStore(); |
446 | 445 |
447 // Whether the extension service is ready. | 446 // Whether the extension service is ready. |
448 // TODO(skerner): Get rid of this method. crbug.com/63756 | 447 // TODO(skerner): Get rid of this method. crbug.com/63756 |
449 bool is_ready() { return ready_; } | 448 bool is_ready() { return ready_; } |
450 | 449 |
451 // Note that this may return NULL if autoupdate is not turned on. | 450 // Note that this may return NULL if autoupdate is not turned on. |
452 ExtensionUpdater* updater(); | 451 ExtensionUpdater* updater(); |
453 | 452 |
(...skipping 208 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
662 base::WeakPtrFactory<ExtensionService> weak_ptr_factory_; | 661 base::WeakPtrFactory<ExtensionService> weak_ptr_factory_; |
663 | 662 |
664 ScopedRunnableMethodFactory<ExtensionService> method_factory_; | 663 ScopedRunnableMethodFactory<ExtensionService> method_factory_; |
665 | 664 |
666 // The profile this ExtensionService is part of. | 665 // The profile this ExtensionService is part of. |
667 Profile* profile_; | 666 Profile* profile_; |
668 | 667 |
669 // Preferences for the owning profile (weak reference). | 668 // Preferences for the owning profile (weak reference). |
670 ExtensionPrefs* extension_prefs_; | 669 ExtensionPrefs* extension_prefs_; |
671 | 670 |
672 // Settings for the owning profile (weak reference). | 671 // Settings for the owning profile. |
673 ExtensionSettings* extension_settings_; | 672 ExtensionSettingsUIWrapper extension_settings_; |
674 | 673 |
675 // The current list of installed extensions. | 674 // The current list of installed extensions. |
676 // TODO(aa): This should use chrome/common/extensions/extension_set.h. | 675 // TODO(aa): This should use chrome/common/extensions/extension_set.h. |
677 ExtensionList extensions_; | 676 ExtensionList extensions_; |
678 | 677 |
679 // The list of installed extensions that have been disabled. | 678 // The list of installed extensions that have been disabled. |
680 ExtensionList disabled_extensions_; | 679 ExtensionList disabled_extensions_; |
681 | 680 |
682 // The list of installed extensions that have been terminated. | 681 // The list of installed extensions that have been terminated. |
683 ExtensionList terminated_extensions_; | 682 ExtensionList terminated_extensions_; |
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
800 SyncBundle extension_sync_bundle_; | 799 SyncBundle extension_sync_bundle_; |
801 | 800 |
802 FRIEND_TEST_ALL_PREFIXES(ExtensionServiceTest, | 801 FRIEND_TEST_ALL_PREFIXES(ExtensionServiceTest, |
803 InstallAppsWithUnlimtedStorage); | 802 InstallAppsWithUnlimtedStorage); |
804 FRIEND_TEST_ALL_PREFIXES(ExtensionServiceTest, | 803 FRIEND_TEST_ALL_PREFIXES(ExtensionServiceTest, |
805 InstallAppsAndCheckStorageProtection); | 804 InstallAppsAndCheckStorageProtection); |
806 DISALLOW_COPY_AND_ASSIGN(ExtensionService); | 805 DISALLOW_COPY_AND_ASSIGN(ExtensionService); |
807 }; | 806 }; |
808 | 807 |
809 #endif // CHROME_BROWSER_EXTENSIONS_EXTENSION_SERVICE_H_ | 808 #endif // CHROME_BROWSER_EXTENSIONS_EXTENSION_SERVICE_H_ |
OLD | NEW |