Index: chrome/renderer/render_thread.cc |
diff --git a/chrome/renderer/render_thread.cc b/chrome/renderer/render_thread.cc |
index a80fc7bd707f18a8789eb3e84c7fa7c55299765e..a272ae0d1b05922fbb9d505412d5a0a6f7ba2591 100644 |
--- a/chrome/renderer/render_thread.cc |
+++ b/chrome/renderer/render_thread.cc |
@@ -536,9 +536,15 @@ void RenderThread::OnSetExtensionFunctionNames( |
ExtensionProcessBindings::SetFunctionNames(names); |
} |
-void RenderThread::OnExtensionsUpdated( |
- const ViewMsg_ExtensionsUpdated_Params& params) { |
- ExtensionRendererInfo::UpdateExtensions(params); |
+void RenderThread::OnExtensionLoaded( |
+ const ViewMsg_ExtensionLoaded_Params& params) { |
+ scoped_refptr<const Extension> extension(params.ConvertToExtension()); |
+ CHECK(extension); |
+ extensions_.Update(extension); |
+} |
+ |
+void RenderThread::OnExtensionUnloaded(const std::string& id) { |
+ extensions_.Remove(id); |
} |
void RenderThread::OnPageActionsUpdated( |
@@ -614,8 +620,10 @@ bool RenderThread::OnControlMessageReceived(const IPC::Message& msg) { |
OnExtensionMessageInvoke) |
IPC_MESSAGE_HANDLER(ViewMsg_Extension_SetFunctionNames, |
OnSetExtensionFunctionNames) |
- IPC_MESSAGE_HANDLER(ViewMsg_ExtensionsUpdated, |
- OnExtensionsUpdated) |
+ IPC_MESSAGE_HANDLER(ViewMsg_ExtensionLoaded, |
+ OnExtensionLoaded) |
+ IPC_MESSAGE_HANDLER(ViewMsg_ExtensionUnloaded, |
+ OnExtensionUnloaded) |
IPC_MESSAGE_HANDLER(ViewMsg_PurgeMemory, OnPurgeMemory) |
IPC_MESSAGE_HANDLER(ViewMsg_PurgePluginListCache, |
OnPurgePluginListCache) |
@@ -1132,7 +1140,7 @@ bool RenderThread::AllowScriptExtension(const std::string& v8_extension_name, |
// Extension-only bindings should be restricted to content scripts and |
// extension-blessed URLs. |
if (extension_group == EXTENSION_GROUP_CONTENT_SCRIPTS || |
- ExtensionRendererInfo::ExtensionBindingsAllowed(url)) { |
+ extensions_.ExtensionBindingsAllowed(url)) { |
return true; |
} |