Index: chrome/browser/renderer_host/chrome_render_message_filter.cc |
diff --git a/chrome/browser/renderer_host/chrome_render_message_filter.cc b/chrome/browser/renderer_host/chrome_render_message_filter.cc |
index bc4fff868d8a67c91c9e08292790574b3066f5f5..28a45a6474bfebf0df2d324c275ad4771cc6e622 100644 |
--- a/chrome/browser/renderer_host/chrome_render_message_filter.cc |
+++ b/chrome/browser/renderer_host/chrome_render_message_filter.cc |
@@ -86,6 +86,10 @@ bool ChromeRenderMessageFilter::OnMessageReceived(const IPC::Message& message, |
IPC_MESSAGE_HANDLER(ExtensionHostMsg_AddListener, OnExtensionAddListener) |
IPC_MESSAGE_HANDLER(ExtensionHostMsg_RemoveListener, |
OnExtensionRemoveListener) |
+ IPC_MESSAGE_HANDLER(ExtensionHostMsg_AddLazyListener, |
+ OnExtensionAddLazyListener) |
+ IPC_MESSAGE_HANDLER(ExtensionHostMsg_RemoveLazyListener, |
+ OnExtensionRemoveLazyListener) |
IPC_MESSAGE_HANDLER(ExtensionHostMsg_ExtensionIdle, OnExtensionIdle) |
IPC_MESSAGE_HANDLER(ExtensionHostMsg_ExtensionEventAck, OnExtensionEventAck) |
IPC_MESSAGE_HANDLER(ExtensionHostMsg_CloseChannel, OnExtensionCloseChannel) |
@@ -133,6 +137,8 @@ void ChromeRenderMessageFilter::OverrideThreadForMessage( |
#endif |
case ExtensionHostMsg_AddListener::ID: |
case ExtensionHostMsg_RemoveListener::ID: |
+ case ExtensionHostMsg_AddLazyListener::ID: |
+ case ExtensionHostMsg_RemoveLazyListener::ID: |
case ExtensionHostMsg_ExtensionIdle::ID: |
case ExtensionHostMsg_ExtensionEventAck::ID: |
case ExtensionHostMsg_CloseChannel::ID: |
@@ -341,6 +347,20 @@ void ChromeRenderMessageFilter::OnExtensionRemoveListener( |
event_name, process, extension_id); |
} |
+void ChromeRenderMessageFilter::OnExtensionAddLazyListener( |
+ const std::string& extension_id, const std::string& event_name) { |
+ if (profile_->GetExtensionEventRouter()) |
+ profile_->GetExtensionEventRouter()->AddLazyEventListener( |
+ event_name, extension_id); |
+} |
+ |
+void ChromeRenderMessageFilter::OnExtensionRemoveLazyListener( |
+ const std::string& extension_id, const std::string& event_name) { |
+ if (profile_->GetExtensionEventRouter()) |
+ profile_->GetExtensionEventRouter()->RemoveLazyEventListener( |
+ event_name, extension_id); |
+} |
+ |
void ChromeRenderMessageFilter::OnExtensionIdle( |
const std::string& extension_id) { |
if (profile_->GetExtensionProcessManager()) |