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

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

Issue 500043003: Add PolicyProvider to ExtensionManagement (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@ext-1
Patch Set: fixes to #5 Created 6 years, 3 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 Profile; 12 class Profile;
13 13
14 namespace extensions { 14 namespace extensions {
15 15
16 class ContentVerifier; 16 class ContentVerifier;
17 class DeclarativeUserScriptMaster; 17 class DeclarativeUserScriptMaster;
18 class ExtensionSystemSharedFactory; 18 class ExtensionSystemSharedFactory;
19 class ExtensionWarningBadgeService; 19 class ExtensionWarningBadgeService;
20 class NavigationObserver; 20 class NavigationObserver;
21 class SharedUserScriptMaster; 21 class SharedUserScriptMaster;
22 class StandardManagementPolicyProvider;
23 class StateStoreNotificationObserver; 22 class StateStoreNotificationObserver;
24 23
25 // The ExtensionSystem for ProfileImpl and OffTheRecordProfileImpl. 24 // The ExtensionSystem for ProfileImpl and OffTheRecordProfileImpl.
26 // Implementation details: non-shared services are owned by 25 // Implementation details: non-shared services are owned by
27 // ExtensionSystemImpl, a KeyedService with separate incognito 26 // ExtensionSystemImpl, a KeyedService with separate incognito
28 // instances. A private Shared class (also a KeyedService, 27 // instances. A private Shared class (also a KeyedService,
29 // but with a shared instance for incognito) keeps the common services. 28 // but with a shared instance for incognito) keeps the common services.
30 class ExtensionSystemImpl : public ExtensionSystem { 29 class ExtensionSystemImpl : public ExtensionSystem {
31 public: 30 public:
32 explicit ExtensionSystemImpl(Profile* profile); 31 explicit ExtensionSystemImpl(Profile* profile);
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after
125 scoped_ptr<EventRouter> event_router_; 124 scoped_ptr<EventRouter> event_router_;
126 scoped_ptr<NavigationObserver> navigation_observer_; 125 scoped_ptr<NavigationObserver> navigation_observer_;
127 // Shared memory region manager for scripts statically declared in extension 126 // Shared memory region manager for scripts statically declared in extension
128 // manifests. This region is shared between all extensions. 127 // manifests. This region is shared between all extensions.
129 scoped_ptr<SharedUserScriptMaster> shared_user_script_master_; 128 scoped_ptr<SharedUserScriptMaster> shared_user_script_master_;
130 // Shared memory region manager for programmatically declared scripts, one 129 // Shared memory region manager for programmatically declared scripts, one
131 // per extension. Managers are instantiated the first time the declarative 130 // per extension. Managers are instantiated the first time the declarative
132 // API is used by an extension to request content scripts. 131 // API is used by an extension to request content scripts.
133 ScopedVector<DeclarativeUserScriptMaster> declarative_user_script_masters_; 132 ScopedVector<DeclarativeUserScriptMaster> declarative_user_script_masters_;
134 scoped_ptr<Blacklist> blacklist_; 133 scoped_ptr<Blacklist> blacklist_;
135 // StandardManagementPolicyProvider depends on Blacklist.
136 scoped_ptr<StandardManagementPolicyProvider>
137 standard_management_policy_provider_;
138 scoped_ptr<RuntimeData> runtime_data_; 134 scoped_ptr<RuntimeData> runtime_data_;
139 // ExtensionService depends on StateStore, Blacklist and RuntimeData. 135 // ExtensionService depends on StateStore, Blacklist and RuntimeData.
140 scoped_ptr<ExtensionService> extension_service_; 136 scoped_ptr<ExtensionService> extension_service_;
141 scoped_ptr<ManagementPolicy> management_policy_; 137 scoped_ptr<ManagementPolicy> management_policy_;
142 // extension_info_map_ needs to outlive process_manager_. 138 // extension_info_map_ needs to outlive process_manager_.
143 scoped_refptr<InfoMap> extension_info_map_; 139 scoped_refptr<InfoMap> extension_info_map_;
144 scoped_ptr<WarningService> warning_service_; 140 scoped_ptr<WarningService> warning_service_;
145 scoped_ptr<ExtensionWarningBadgeService> extension_warning_badge_service_; 141 scoped_ptr<ExtensionWarningBadgeService> extension_warning_badge_service_;
146 scoped_ptr<ErrorConsole> error_console_; 142 scoped_ptr<ErrorConsole> error_console_;
147 scoped_ptr<InstallVerifier> install_verifier_; 143 scoped_ptr<InstallVerifier> install_verifier_;
(...skipping 19 matching lines...) Expand all
167 // extension processes and those require access to the ResourceContext owned 163 // extension processes and those require access to the ResourceContext owned
168 // by |io_data_|. 164 // by |io_data_|.
169 scoped_ptr<ProcessManager> process_manager_; 165 scoped_ptr<ProcessManager> process_manager_;
170 166
171 DISALLOW_COPY_AND_ASSIGN(ExtensionSystemImpl); 167 DISALLOW_COPY_AND_ASSIGN(ExtensionSystemImpl);
172 }; 168 };
173 169
174 } // namespace extensions 170 } // namespace extensions
175 171
176 #endif // CHROME_BROWSER_EXTENSIONS_EXTENSION_SYSTEM_IMPL_H_ 172 #endif // CHROME_BROWSER_EXTENSIONS_EXTENSION_SYSTEM_IMPL_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698