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

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

Issue 2833843004: Reland: Communicate ExtensionSettings policy to renderers (Closed)
Patch Set: Removed unused URLPatternSet parameters in ExtensionMsg_PermissionSetStruct which was causing MSAN … Created 3 years, 8 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_management.h" 5 #include "chrome/browser/extensions/extension_management.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <utility> 8 #include <utility>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 180 matching lines...) Expand 10 before | Expand all | Expand 10 after
191 } 191 }
192 // Check whether if in one of them, setting is specified. 192 // Check whether if in one of them, setting is specified.
193 if (iter_id != settings_by_id_.end()) 193 if (iter_id != settings_by_id_.end())
194 return iter_id->second->blocked_permissions; 194 return iter_id->second->blocked_permissions;
195 if (iter_update_url != settings_by_update_url_.end()) 195 if (iter_update_url != settings_by_update_url_.end())
196 return iter_update_url->second->blocked_permissions; 196 return iter_update_url->second->blocked_permissions;
197 // Fall back to the default blocked permissions setting. 197 // Fall back to the default blocked permissions setting.
198 return default_settings_->blocked_permissions; 198 return default_settings_->blocked_permissions;
199 } 199 }
200 200
201 const URLPatternSet& ExtensionManagement::GetDefaultRuntimeBlockedHosts()
202 const {
203 return default_settings_->runtime_blocked_hosts;
204 }
205
206 const URLPatternSet& ExtensionManagement::GetDefaultRuntimeAllowedHosts()
207 const {
208 return default_settings_->runtime_allowed_hosts;
209 }
210
201 const URLPatternSet& ExtensionManagement::GetRuntimeBlockedHosts( 211 const URLPatternSet& ExtensionManagement::GetRuntimeBlockedHosts(
202 const Extension* extension) const { 212 const Extension* extension) const {
203 auto iter_id = settings_by_id_.find(extension->id()); 213 auto iter_id = settings_by_id_.find(extension->id());
204 if (iter_id != settings_by_id_.end()) 214 if (iter_id != settings_by_id_.end())
205 return iter_id->second->runtime_blocked_hosts; 215 return iter_id->second->runtime_blocked_hosts;
206 return default_settings_->runtime_blocked_hosts; 216 return default_settings_->runtime_blocked_hosts;
207 } 217 }
208 218
209 const URLPatternSet& ExtensionManagement::GetRuntimeAllowedHosts( 219 const URLPatternSet& ExtensionManagement::GetRuntimeAllowedHosts(
210 const Extension* extension) const { 220 const Extension* extension) const {
211 auto iter_id = settings_by_id_.find(extension->id()); 221 auto iter_id = settings_by_id_.find(extension->id());
212 if (iter_id != settings_by_id_.end()) 222 if (iter_id != settings_by_id_.end())
213 return iter_id->second->runtime_allowed_hosts; 223 return iter_id->second->runtime_allowed_hosts;
214 return default_settings_->runtime_allowed_hosts; 224 return default_settings_->runtime_allowed_hosts;
215 } 225 }
216 226
217 bool ExtensionManagement::IsBlockedHost(const Extension* extension, 227 bool ExtensionManagement::UsesDefaultRuntimeHostRestrictions(
218 const GURL& url) const { 228 const Extension* extension) const {
229 return settings_by_id_.find(extension->id()) == settings_by_id_.end();
230 }
231
232 bool ExtensionManagement::IsRuntimeBlockedHost(const Extension* extension,
233 const GURL& url) const {
219 auto iter_id = settings_by_id_.find(extension->id()); 234 auto iter_id = settings_by_id_.find(extension->id());
220 if (iter_id != settings_by_id_.end()) 235 if (iter_id != settings_by_id_.end())
221 return iter_id->second->runtime_blocked_hosts.MatchesURL(url); 236 return iter_id->second->runtime_blocked_hosts.MatchesURL(url);
222 return default_settings_->runtime_blocked_hosts.MatchesURL(url); 237 return default_settings_->runtime_blocked_hosts.MatchesURL(url);
223 } 238 }
224 239
225 std::unique_ptr<const PermissionSet> ExtensionManagement::GetBlockedPermissions( 240 std::unique_ptr<const PermissionSet> ExtensionManagement::GetBlockedPermissions(
226 const Extension* extension) const { 241 const Extension* extension) const {
227 // Only api permissions are supported currently. 242 // Only api permissions are supported currently.
228 return std::unique_ptr<const PermissionSet>(new PermissionSet( 243 return std::unique_ptr<const PermissionSet>(new PermissionSet(
(...skipping 308 matching lines...) Expand 10 before | Expand all | Expand 10 after
537 content::BrowserContext* context) const { 552 content::BrowserContext* context) const {
538 return chrome::GetBrowserContextRedirectedInIncognito(context); 553 return chrome::GetBrowserContextRedirectedInIncognito(context);
539 } 554 }
540 555
541 void ExtensionManagementFactory::RegisterProfilePrefs( 556 void ExtensionManagementFactory::RegisterProfilePrefs(
542 user_prefs::PrefRegistrySyncable* user_prefs) { 557 user_prefs::PrefRegistrySyncable* user_prefs) {
543 user_prefs->RegisterDictionaryPref(pref_names::kExtensionManagement); 558 user_prefs->RegisterDictionaryPref(pref_names::kExtensionManagement);
544 } 559 }
545 560
546 } // namespace extensions 561 } // namespace extensions
OLDNEW
« no previous file with comments | « chrome/browser/extensions/extension_management.h ('k') | chrome/browser/extensions/extension_management_constants.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698