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

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

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 #include "chrome/browser/extensions/extension_system_impl.h" 5 #include "chrome/browser/extensions/extension_system_impl.h"
6 6
7 #include "base/base_switches.h" 7 #include "base/base_switches.h"
8 #include "base/bind.h" 8 #include "base/bind.h"
9 #include "base/command_line.h" 9 #include "base/command_line.h"
10 #include "base/files/file_path.h" 10 #include "base/files/file_path.h"
11 #include "base/memory/weak_ptr.h" 11 #include "base/memory/weak_ptr.h"
12 #include "base/metrics/field_trial.h" 12 #include "base/metrics/field_trial.h"
13 #include "base/metrics/histogram.h" 13 #include "base/metrics/histogram.h"
14 #include "base/strings/string_tokenizer.h" 14 #include "base/strings/string_tokenizer.h"
15 #include "base/strings/string_util.h" 15 #include "base/strings/string_util.h"
16 #include "chrome/browser/browser_process.h" 16 #include "chrome/browser/browser_process.h"
17 #include "chrome/browser/content_settings/cookie_settings.h" 17 #include "chrome/browser/content_settings/cookie_settings.h"
18 #include "chrome/browser/extensions/blacklist.h" 18 #include "chrome/browser/extensions/blacklist.h"
19 #include "chrome/browser/extensions/component_loader.h" 19 #include "chrome/browser/extensions/component_loader.h"
20 #include "chrome/browser/extensions/declarative_user_script_master.h" 20 #include "chrome/browser/extensions/declarative_user_script_master.h"
21 #include "chrome/browser/extensions/error_console/error_console.h" 21 #include "chrome/browser/extensions/error_console/error_console.h"
22 #include "chrome/browser/extensions/extension_error_reporter.h" 22 #include "chrome/browser/extensions/extension_error_reporter.h"
23 #include "chrome/browser/extensions/extension_management.h"
23 #include "chrome/browser/extensions/extension_service.h" 24 #include "chrome/browser/extensions/extension_service.h"
24 #include "chrome/browser/extensions/extension_system_factory.h" 25 #include "chrome/browser/extensions/extension_system_factory.h"
25 #include "chrome/browser/extensions/extension_util.h" 26 #include "chrome/browser/extensions/extension_util.h"
26 #include "chrome/browser/extensions/extension_warning_badge_service.h" 27 #include "chrome/browser/extensions/extension_warning_badge_service.h"
27 #include "chrome/browser/extensions/install_verifier.h" 28 #include "chrome/browser/extensions/install_verifier.h"
28 #include "chrome/browser/extensions/navigation_observer.h" 29 #include "chrome/browser/extensions/navigation_observer.h"
29 #include "chrome/browser/extensions/shared_module_service.h" 30 #include "chrome/browser/extensions/shared_module_service.h"
30 #include "chrome/browser/extensions/shared_user_script_master.h" 31 #include "chrome/browser/extensions/shared_user_script_master.h"
31 #include "chrome/browser/extensions/standard_management_policy_provider.h"
32 #include "chrome/browser/extensions/state_store_notification_observer.h" 32 #include "chrome/browser/extensions/state_store_notification_observer.h"
33 #include "chrome/browser/extensions/unpacked_installer.h" 33 #include "chrome/browser/extensions/unpacked_installer.h"
34 #include "chrome/browser/extensions/updater/manifest_fetch_data.h" 34 #include "chrome/browser/extensions/updater/manifest_fetch_data.h"
35 #include "chrome/browser/profiles/profile.h" 35 #include "chrome/browser/profiles/profile.h"
36 #include "chrome/browser/profiles/profile_manager.h" 36 #include "chrome/browser/profiles/profile_manager.h"
37 #include "chrome/browser/ui/webui/extensions/extension_icon_source.h" 37 #include "chrome/browser/ui/webui/extensions/extension_icon_source.h"
38 #include "chrome/common/chrome_switches.h" 38 #include "chrome/common/chrome_switches.h"
39 #include "chrome/common/chrome_version_info.h" 39 #include "chrome/common/chrome_version_info.h"
40 #include "chrome/common/extensions/extension_constants.h" 40 #include "chrome/common/extensions/extension_constants.h"
41 #include "chrome/common/extensions/extension_file_util.h" 41 #include "chrome/common/extensions/extension_file_util.h"
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
117 state_store_notification_observer_.reset( 117 state_store_notification_observer_.reset(
118 new StateStoreNotificationObserver(state_store_.get())); 118 new StateStoreNotificationObserver(state_store_.get()));
119 119
120 rules_store_.reset(new StateStore( 120 rules_store_.reset(new StateStore(
121 profile_, 121 profile_,
122 profile_->GetPath().AppendASCII(extensions::kRulesStoreName), 122 profile_->GetPath().AppendASCII(extensions::kRulesStoreName),
123 false)); 123 false));
124 124
125 blacklist_.reset(new Blacklist(ExtensionPrefs::Get(profile_))); 125 blacklist_.reset(new Blacklist(ExtensionPrefs::Get(profile_)));
126 126
127 standard_management_policy_provider_.reset(
128 new StandardManagementPolicyProvider(ExtensionPrefs::Get(profile_)));
129
130 #if defined(OS_CHROMEOS) 127 #if defined(OS_CHROMEOS)
131 const user_manager::User* user = 128 const user_manager::User* user =
132 user_manager::UserManager::Get()->GetActiveUser(); 129 user_manager::UserManager::Get()->GetActiveUser();
133 policy::DeviceLocalAccount::Type device_local_account_type; 130 policy::DeviceLocalAccount::Type device_local_account_type;
134 if (user && policy::IsDeviceLocalAccountUser(user->email(), 131 if (user && policy::IsDeviceLocalAccountUser(user->email(),
135 &device_local_account_type)) { 132 &device_local_account_type)) {
136 device_local_account_management_policy_provider_.reset( 133 device_local_account_management_policy_provider_.reset(
137 new chromeos::DeviceLocalAccountManagementPolicyProvider( 134 new chromeos::DeviceLocalAccountManagementPolicyProvider(
138 device_local_account_type)); 135 device_local_account_type));
139 } 136 }
140 #endif // defined(OS_CHROMEOS) 137 #endif // defined(OS_CHROMEOS)
141 } 138 }
142 139
143 void ExtensionSystemImpl::Shared::RegisterManagementPolicyProviders() { 140 void ExtensionSystemImpl::Shared::RegisterManagementPolicyProviders() {
144 DCHECK(standard_management_policy_provider_.get());
145 management_policy_->RegisterProvider( 141 management_policy_->RegisterProvider(
146 standard_management_policy_provider_.get()); 142 ExtensionManagementFactory::GetForBrowserContext(profile_)
143 ->GetProvider());
147 144
148 #if defined(OS_CHROMEOS) 145 #if defined(OS_CHROMEOS)
149 if (device_local_account_management_policy_provider_) { 146 if (device_local_account_management_policy_provider_) {
150 management_policy_->RegisterProvider( 147 management_policy_->RegisterProvider(
151 device_local_account_management_policy_provider_.get()); 148 device_local_account_management_policy_provider_.get());
152 } 149 }
153 #endif // defined(OS_CHROMEOS) 150 #endif // defined(OS_CHROMEOS)
154 151
155 management_policy_->RegisterProvider(install_verifier_.get()); 152 management_policy_->RegisterProvider(install_verifier_.get());
156 } 153 }
(...skipping 494 matching lines...) Expand 10 before | Expand all | Expand 10 after
651 void ExtensionSystemImpl::UnregisterExtensionWithRequestContexts( 648 void ExtensionSystemImpl::UnregisterExtensionWithRequestContexts(
652 const std::string& extension_id, 649 const std::string& extension_id,
653 const UnloadedExtensionInfo::Reason reason) { 650 const UnloadedExtensionInfo::Reason reason) {
654 BrowserThread::PostTask( 651 BrowserThread::PostTask(
655 BrowserThread::IO, 652 BrowserThread::IO,
656 FROM_HERE, 653 FROM_HERE,
657 base::Bind(&InfoMap::RemoveExtension, info_map(), extension_id, reason)); 654 base::Bind(&InfoMap::RemoveExtension, info_map(), extension_id, reason));
658 } 655 }
659 656
660 } // namespace extensions 657 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698