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

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

Issue 1254363004: Move ownership of AppSorting from ExtensionPrefs to ExtensionSystem (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: add missing include Created 5 years, 4 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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_SYSTEM_IMPL_H_ 5 #ifndef CHROME_BROWSER_EXTENSIONS_EXTENSION_SYSTEM_IMPL_H_
6 #define CHROME_BROWSER_EXTENSIONS_EXTENSION_SYSTEM_IMPL_H_ 6 #define CHROME_BROWSER_EXTENSIONS_EXTENSION_SYSTEM_IMPL_H_
7 7
8 #include "base/memory/scoped_vector.h" 8 #include "base/memory/scoped_vector.h"
9 #include "extensions/browser/extension_system.h" 9 #include "extensions/browser/extension_system.h"
10 #include "extensions/common/one_shot_event.h" 10 #include "extensions/common/one_shot_event.h"
11 11
12 class DeclarativeUserScriptManager;
13 class Profile; 12 class Profile;
14 13
15 namespace extensions { 14 namespace extensions {
16 15
17 class ContentVerifier;
18 class ExtensionSystemSharedFactory; 16 class ExtensionSystemSharedFactory;
19 class NavigationObserver; 17 class NavigationObserver;
20 class SharedUserScriptMaster;
21 class StateStoreNotificationObserver; 18 class StateStoreNotificationObserver;
22 19
23 // The ExtensionSystem for ProfileImpl and OffTheRecordProfileImpl. 20 // The ExtensionSystem for ProfileImpl and OffTheRecordProfileImpl.
24 // Implementation details: non-shared services are owned by 21 // Implementation details: non-shared services are owned by
25 // ExtensionSystemImpl, a KeyedService with separate incognito 22 // ExtensionSystemImpl, a KeyedService with separate incognito
26 // instances. A private Shared class (also a KeyedService, 23 // instances. A private Shared class (also a KeyedService,
27 // but with a shared instance for incognito) keeps the common services. 24 // but with a shared instance for incognito) keeps the common services.
28 class ExtensionSystemImpl : public ExtensionSystem { 25 class ExtensionSystemImpl : public ExtensionSystem {
29 public: 26 public:
30 explicit ExtensionSystemImpl(Profile* profile); 27 explicit ExtensionSystemImpl(Profile* profile);
31 ~ExtensionSystemImpl() override; 28 ~ExtensionSystemImpl() override;
32 29
33 // KeyedService implementation. 30 // KeyedService implementation.
34 void Shutdown() override; 31 void Shutdown() override;
35 32
36 void InitForRegularProfile(bool extensions_enabled) override; 33 void InitForRegularProfile(bool extensions_enabled) override;
37 34
38 ExtensionService* extension_service() override; // shared 35 ExtensionService* extension_service() override; // shared
39 RuntimeData* runtime_data() override; // shared 36 RuntimeData* runtime_data() override; // shared
40 ManagementPolicy* management_policy() override; // shared 37 ManagementPolicy* management_policy() override; // shared
41 SharedUserScriptMaster* shared_user_script_master() override; // shared 38 SharedUserScriptMaster* shared_user_script_master() override; // shared
42 StateStore* state_store() override; // shared 39 StateStore* state_store() override; // shared
43 StateStore* rules_store() override; // shared 40 StateStore* rules_store() override; // shared
44 InfoMap* info_map() override; // shared 41 InfoMap* info_map() override; // shared
45 QuotaService* quota_service() override; // shared 42 QuotaService* quota_service() override; // shared
43 AppSorting* app_sorting() override; // shared
46 44
47 void RegisterExtensionWithRequestContexts( 45 void RegisterExtensionWithRequestContexts(
48 const Extension* extension, 46 const Extension* extension,
49 const base::Closure& callback) override; 47 const base::Closure& callback) override;
50 48
51 void UnregisterExtensionWithRequestContexts( 49 void UnregisterExtensionWithRequestContexts(
52 const std::string& extension_id, 50 const std::string& extension_id,
53 const UnloadedExtensionInfo::Reason reason) override; 51 const UnloadedExtensionInfo::Reason reason) override;
54 52
55 const OneShotEvent& ready() const override; 53 const OneShotEvent& ready() const override;
(...skipping 21 matching lines...) Expand all
77 void Shutdown() override; 75 void Shutdown() override;
78 76
79 StateStore* state_store(); 77 StateStore* state_store();
80 StateStore* rules_store(); 78 StateStore* rules_store();
81 ExtensionService* extension_service(); 79 ExtensionService* extension_service();
82 RuntimeData* runtime_data(); 80 RuntimeData* runtime_data();
83 ManagementPolicy* management_policy(); 81 ManagementPolicy* management_policy();
84 SharedUserScriptMaster* shared_user_script_master(); 82 SharedUserScriptMaster* shared_user_script_master();
85 InfoMap* info_map(); 83 InfoMap* info_map();
86 QuotaService* quota_service(); 84 QuotaService* quota_service();
85 AppSorting* app_sorting();
87 const OneShotEvent& ready() const { return ready_; } 86 const OneShotEvent& ready() const { return ready_; }
88 ContentVerifier* content_verifier(); 87 ContentVerifier* content_verifier();
89 88
90 private: 89 private:
91 Profile* profile_; 90 Profile* profile_;
92 91
93 // The services that are shared between normal and incognito profiles. 92 // The services that are shared between normal and incognito profiles.
94 93
95 scoped_ptr<StateStore> state_store_; 94 scoped_ptr<StateStore> state_store_;
96 scoped_ptr<StateStoreNotificationObserver> 95 scoped_ptr<StateStoreNotificationObserver>
97 state_store_notification_observer_; 96 state_store_notification_observer_;
98 scoped_ptr<StateStore> rules_store_; 97 scoped_ptr<StateStore> rules_store_;
99 scoped_ptr<NavigationObserver> navigation_observer_; 98 scoped_ptr<NavigationObserver> navigation_observer_;
100 // Shared memory region manager for scripts statically declared in extension 99 // Shared memory region manager for scripts statically declared in extension
101 // manifests. This region is shared between all extensions. 100 // manifests. This region is shared between all extensions.
102 scoped_ptr<SharedUserScriptMaster> shared_user_script_master_; 101 scoped_ptr<SharedUserScriptMaster> shared_user_script_master_;
103 scoped_ptr<RuntimeData> runtime_data_; 102 scoped_ptr<RuntimeData> runtime_data_;
104 // ExtensionService depends on StateStore, Blacklist and RuntimeData. 103 // ExtensionService depends on StateStore, Blacklist and RuntimeData.
105 scoped_ptr<ExtensionService> extension_service_; 104 scoped_ptr<ExtensionService> extension_service_;
106 scoped_ptr<ManagementPolicy> management_policy_; 105 scoped_ptr<ManagementPolicy> management_policy_;
107 // extension_info_map_ needs to outlive process_manager_. 106 // extension_info_map_ needs to outlive process_manager_.
108 scoped_refptr<InfoMap> extension_info_map_; 107 scoped_refptr<InfoMap> extension_info_map_;
109 scoped_ptr<QuotaService> quota_service_; 108 scoped_ptr<QuotaService> quota_service_;
109 scoped_ptr<AppSorting> app_sorting_;
110 110
111 // For verifying the contents of extensions read from disk. 111 // For verifying the contents of extensions read from disk.
112 scoped_refptr<ContentVerifier> content_verifier_; 112 scoped_refptr<ContentVerifier> content_verifier_;
113 113
114 #if defined(OS_CHROMEOS) 114 #if defined(OS_CHROMEOS)
115 scoped_ptr<chromeos::DeviceLocalAccountManagementPolicyProvider> 115 scoped_ptr<chromeos::DeviceLocalAccountManagementPolicyProvider>
116 device_local_account_management_policy_provider_; 116 device_local_account_management_policy_provider_;
117 #endif 117 #endif
118 118
119 OneShotEvent ready_; 119 OneShotEvent ready_;
120 }; 120 };
121 121
122 Profile* profile_; 122 Profile* profile_;
123 123
124 Shared* shared_; 124 Shared* shared_;
125 125
126 DISALLOW_COPY_AND_ASSIGN(ExtensionSystemImpl); 126 DISALLOW_COPY_AND_ASSIGN(ExtensionSystemImpl);
127 }; 127 };
128 128
129 } // namespace extensions 129 } // namespace extensions
130 130
131 #endif // CHROME_BROWSER_EXTENSIONS_EXTENSION_SYSTEM_IMPL_H_ 131 #endif // CHROME_BROWSER_EXTENSIONS_EXTENSION_SYSTEM_IMPL_H_
OLDNEW
« no previous file with comments | « chrome/browser/extensions/extension_sync_service.cc ('k') | chrome/browser/extensions/extension_system_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698