| Index: apps/shell/browser/shell_extensions_browser_client.cc
|
| diff --git a/apps/shell/browser/shell_extensions_browser_client.cc b/apps/shell/browser/shell_extensions_browser_client.cc
|
| index 76f4a83b660680c8cd0a3cc51d02bebe56756dc2..29a06c83cd73f7466ed2307ce0206ad762d2d692 100644
|
| --- a/apps/shell/browser/shell_extensions_browser_client.cc
|
| +++ b/apps/shell/browser/shell_extensions_browser_client.cc
|
| @@ -14,14 +14,17 @@
|
| #include "base/prefs/testing_pref_store.h"
|
| #include "components/pref_registry/pref_registry_syncable.h"
|
| #include "components/user_prefs/user_prefs.h"
|
| +#include "content/public/browser/browser_thread.h"
|
| #include "extensions/browser/api/extensions_api_client.h"
|
| #include "extensions/browser/app_sorting.h"
|
| +#include "extensions/browser/event_router.h"
|
| #include "extensions/browser/extension_function_registry.h"
|
| #include "extensions/browser/extension_host_delegate.h"
|
| #include "extensions/browser/extension_prefs.h"
|
| #include "extensions/common/api/generated_api.h"
|
|
|
| using content::BrowserContext;
|
| +using content::BrowserThread;
|
|
|
| namespace extensions {
|
| namespace {
|
| @@ -242,4 +245,23 @@ ShellExtensionsBrowserClient::GetComponentExtensionResourceManager() {
|
| return NULL;
|
| }
|
|
|
| +void ShellExtensionsBrowserClient::BroadcastEventToRenderers(
|
| + const std::string& event_name,
|
| + scoped_ptr<base::ListValue> args) {
|
| + if (!BrowserThread::CurrentlyOn(BrowserThread::UI)) {
|
| + BrowserThread::PostTask(
|
| + BrowserThread::UI,
|
| + FROM_HERE,
|
| + base::Bind(&ShellExtensionsBrowserClient::BroadcastEventToRenderers,
|
| + base::Unretained(this),
|
| + event_name,
|
| + base::Passed(&args)));
|
| + return;
|
| + }
|
| +
|
| + scoped_ptr<extensions::Event> event(
|
| + new extensions::Event(event_name, args.Pass()));
|
| + extensions::EventRouter::Get(browser_context_)->BroadcastEvent(event.Pass());
|
| +}
|
| +
|
| } // namespace extensions
|
|
|