Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(4733)

Unified Diff: chrome/browser/extensions/extension_io_event_router.cc

Issue 6549015: Extension half of the proxy error event (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/chrome/common/extensions/docs
Patch Set: Created 9 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/extensions/extension_io_event_router.cc
diff --git a/chrome/browser/extensions/extension_io_event_router.cc b/chrome/browser/extensions/extension_io_event_router.cc
index 5beb4b8ffc59cec47dd3613d769a66f1e81bffea..2c9f234f6d029a0d36dfbe7cd454858b18dc40df 100644
--- a/chrome/browser/extensions/extension_io_event_router.cc
+++ b/chrome/browser/extensions/extension_io_event_router.cc
@@ -27,6 +27,17 @@ void ExtensionIOEventRouter::DispatchEventToExtension(
extension_id, event_name, event_args));
}
+void ExtensionIOEventRouter::DispatchEventToRenderers(
+ const std::string& event_name,
+ const std::string& event_args,
+ const GURL& event_url) const {
+ DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
+ BrowserThread::PostTask(BrowserThread::UI, FROM_HERE,
+ NewRunnableMethod(this,
+ &ExtensionIOEventRouter::DispatchEventToRenderersOnUIThread,
+ event_name, event_args, event_url));
+}
+
void ExtensionIOEventRouter::DispatchEventOnUIThread(
const std::string& extension_id,
const std::string& event_name,
@@ -41,3 +52,18 @@ void ExtensionIOEventRouter::DispatchEventOnUIThread(
profile_->GetExtensionEventRouter()->DispatchEventToExtension(
extension_id, event_name, event_args, profile_, GURL());
}
+
+void ExtensionIOEventRouter::DispatchEventToRenderersOnUIThread(
+ const std::string& event_name,
+ const std::string& event_args,
+ const GURL& event_url) const {
+ DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
+
+ // If the profile has gone away, we're shutting down. If there's no event
+ // router, the extension system hasn't been initialized.
+ if (!profile_ || !profile_->GetExtensionEventRouter())
+ return;
+
+ profile_->GetExtensionEventRouter()->DispatchEventToRenderers(
+ event_name, event_args, profile_, event_url);
+}

Powered by Google App Engine
This is Rietveld 408576698