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 5472214c920f3919a7d4ca2237422002232889a8..9e98fddd7a1dcfbca6d075510736df7b11f07fbe 100644 |
--- a/chrome/browser/renderer_host/chrome_render_message_filter.cc |
+++ b/chrome/browser/renderer_host/chrome_render_message_filter.cc |
@@ -130,6 +130,7 @@ bool ChromeRenderMessageFilter::OnMessageReceived(const IPC::Message& message, |
IPC_MESSAGE_HANDLER(ExtensionHostMsg_RemoveListener, |
OnExtensionRemoveListener) |
IPC_MESSAGE_HANDLER(ExtensionHostMsg_ExtensionIdle, OnExtensionIdle) |
+ IPC_MESSAGE_HANDLER(ExtensionHostMsg_EventDispatch, OnEventDispatch) |
IPC_MESSAGE_HANDLER(ExtensionHostMsg_CloseChannel, OnExtensionCloseChannel) |
IPC_MESSAGE_HANDLER(ExtensionHostMsg_RequestForIOThread, |
OnExtensionRequestForIOThread) |
@@ -192,6 +193,7 @@ void ChromeRenderMessageFilter::OverrideThreadForMessage( |
case ExtensionHostMsg_AddListener::ID: |
case ExtensionHostMsg_RemoveListener::ID: |
case ExtensionHostMsg_ExtensionIdle::ID: |
+ case ExtensionHostMsg_EventDispatch::ID: |
case ExtensionHostMsg_CloseChannel::ID: |
case ChromeViewHostMsg_UpdatedCacheStats::ID: |
*thread = BrowserThread::UI; |
@@ -381,6 +383,12 @@ void ChromeRenderMessageFilter::OnExtensionIdle( |
profile_->GetExtensionProcessManager()->OnExtensionIdle(extension_id); |
} |
+void ChromeRenderMessageFilter::OnEventDispatch( |
+ const std::string& extension_id) { |
+ if (profile_->GetExtensionEventRouter()) |
+ profile_->GetExtensionEventRouter()->DecrementInFlightEvents(extension_id); |
+} |
+ |
void ChromeRenderMessageFilter::OnExtensionCloseChannel(int port_id) { |
if (!RenderProcessHost::FromID(render_process_id_)) |
return; // To guard against crash in browser_tests shutdown. |