| Index: extensions/renderer/dispatcher.cc
|
| diff --git a/extensions/renderer/dispatcher.cc b/extensions/renderer/dispatcher.cc
|
| index fe1cff9c125c395142fc73e8489cfdee47110f17..1a713cf47b72362fd379a9ed6b3672f5dccff54d 100644
|
| --- a/extensions/renderer/dispatcher.cc
|
| +++ b/extensions/renderer/dispatcher.cc
|
| @@ -934,6 +934,7 @@ bool Dispatcher::OnControlMessageReceived(const IPC::Message& message) {
|
| IPC_MESSAGE_HANDLER(ExtensionMsg_TransferBlobs, OnTransferBlobs)
|
| IPC_MESSAGE_HANDLER(ExtensionMsg_Unloaded, OnUnloaded)
|
| IPC_MESSAGE_HANDLER(ExtensionMsg_UpdatePermissions, OnUpdatePermissions)
|
| + IPC_MESSAGE_HANDLER(ExtensionMsg_UpdatePolicy, OnUpdatePolicy)
|
| IPC_MESSAGE_HANDLER(ExtensionMsg_UpdateTabSpecificPermissions,
|
| OnUpdateTabSpecificPermissions)
|
| IPC_MESSAGE_HANDLER(ExtensionMsg_ClearTabSpecificPermissions,
|
| @@ -1187,6 +1188,25 @@ void Dispatcher::OnUnloaded(const std::string& id) {
|
| // extension's URL just won't match anything anymore.
|
| }
|
|
|
| +void Dispatcher::OnUpdatePolicy(
|
| + const ExtensionMsg_UpdatePolicy_Params& params) {
|
| + const Extension* extension =
|
| + RendererExtensionRegistry::Get()->GetByID(params.extension_id);
|
| + if (!extension)
|
| + return;
|
| +
|
| + const URLPatternSet runtime_blocked_hosts =
|
| + params.runtime_blocked_hosts;
|
| +
|
| + const URLPatternSet runtime_allowed_hosts =
|
| + params.runtime_allowed_hosts;
|
| +
|
| + extension->permissions_data()->SetRuntimeBlockedAllowedHosts(
|
| + runtime_blocked_hosts, runtime_allowed_hosts);
|
| +
|
| + UpdateBindings(extension->id());
|
| +}
|
| +
|
| void Dispatcher::OnUpdatePermissions(
|
| const ExtensionMsg_UpdatePermissions_Params& params) {
|
| const Extension* extension =
|
|
|