Index: chrome/browser/extensions/extension_service.cc |
diff --git a/chrome/browser/extensions/extension_service.cc b/chrome/browser/extensions/extension_service.cc |
index b74712c567bc4f17b54e740ce90d46874aa9aa57..42205f68114080f72a751386143c40d8704749eb 100644 |
--- a/chrome/browser/extensions/extension_service.cc |
+++ b/chrome/browser/extensions/extension_service.cc |
@@ -1255,6 +1255,21 @@ void ExtensionService::CheckManagementPolicy() { |
extensions::ExtensionManagement* management = |
extensions::ExtensionManagementFactory::GetForBrowserContext(profile()); |
+ extensions::PermissionsUpdater(profile()).SetDefaultPolicyHostRestrictions( |
+ management->GetDefaultRuntimeBlockedHosts(), |
+ management->GetDefaultRuntimeAllowedHosts()); |
+ for (const auto& extension : registry_->enabled_extensions()) { |
+ bool uses_default = |
+ management->UsesDefaultRuntimeHostRestrictions(extension.get()); |
+ if (uses_default) { |
+ extensions::PermissionsUpdater(profile()).SetUsesDefaultHostRestrictions( |
+ extension.get()); |
+ } else { |
+ extensions::PermissionsUpdater(profile()).SetPolicyHostRestrictions( |
+ extension.get(), management->GetRuntimeBlockedHosts(extension.get()), |
+ management->GetRuntimeAllowedHosts(extension.get())); |
+ } |
+ } |
// Loop through the disabled extension list, find extensions to re-enable |
// automatically. These extensions are exclusive from the |to_disable| and |