Index: extensions/browser/event_router.cc |
diff --git a/extensions/browser/event_router.cc b/extensions/browser/event_router.cc |
index 365cd2f15153234e62d2c675a7e0b04387f8d8d8..a82ed24d2c6e168231f1532ec53ec9f36cdda4bd 100644 |
--- a/extensions/browser/event_router.cc |
+++ b/extensions/browser/event_router.cc |
@@ -155,14 +155,12 @@ void EventRouter::DispatchEvent(IPC::Sender* ipc_sender, |
const EventFilteringInfo& info) { |
int event_id = g_extension_event_id.GetNext(); |
+ IncrementInFlightEventsOnUI(browser_context_id, extension_id, event_id, |
+ event_name); |
+ |
DispatchExtensionMessage(ipc_sender, browser_context_id, extension_id, |
event_id, event_name, event_args.get(), user_gesture, |
info); |
- |
- BrowserThread::PostTask( |
- BrowserThread::UI, FROM_HERE, |
- base::Bind(&EventRouter::IncrementInFlightEventsOnUI, browser_context_id, |
- extension_id, event_id, event_name)); |
} |
EventRouter::EventRouter(BrowserContext* browser_context, |
@@ -664,6 +662,14 @@ void EventRouter::IncrementInFlightEventsOnUI(void* browser_context_id, |
const std::string& extension_id, |
int event_id, |
const std::string& event_name) { |
+ if (!BrowserThread::CurrentlyOn(BrowserThread::UI)) { |
not at google - send to devlin
2015/05/15 21:18:07
For a function called "...OnUI" this line is misle
lazyboy
2015/05/15 21:29:53
I've moved this check to call site.
Put the checku
|
+ BrowserThread::PostTask( |
+ BrowserThread::UI, FROM_HERE, |
+ base::Bind(&EventRouter::IncrementInFlightEventsOnUI, |
+ browser_context_id, extension_id, event_id, event_name)); |
+ return; |
+ } |
+ |
DCHECK_CURRENTLY_ON(BrowserThread::UI); |
BrowserContext* browser_context = |
reinterpret_cast<BrowserContext*>(browser_context_id); |