Index: chrome/browser/extensions/event_router_forwarder.cc |
diff --git a/chrome/browser/extensions/event_router_forwarder.cc b/chrome/browser/extensions/event_router_forwarder.cc |
index d44a5f4640a218298a99f5b8cd278e00fc7947a0..adeb033c775ed46611b6cb6c1be01fd90e45aae1 100644 |
--- a/chrome/browser/extensions/event_router_forwarder.cc |
+++ b/chrome/browser/extensions/event_router_forwarder.cc |
@@ -5,6 +5,7 @@ |
#include "chrome/browser/extensions/event_router_forwarder.h" |
#include "base/bind.h" |
+#include "base/values.h" |
#include "chrome/browser/browser_process.h" |
#include "chrome/browser/extensions/event_router.h" |
#include "chrome/browser/profiles/profile_manager.h" |
@@ -22,47 +23,47 @@ EventRouterForwarder::~EventRouterForwarder() { |
void EventRouterForwarder::BroadcastEventToRenderers( |
const std::string& event_name, |
- const std::string& event_args, |
+ scoped_ptr<base::ListValue> event_args, |
const GURL& event_url) { |
- HandleEvent("", event_name, event_args, 0, true, event_url); |
+ HandleEvent("", event_name, event_args.Pass(), 0, true, event_url); |
} |
void EventRouterForwarder::DispatchEventToRenderers( |
const std::string& event_name, |
- const std::string& event_args, |
+ scoped_ptr<base::ListValue> event_args, |
void* profile, |
bool use_profile_to_restrict_events, |
const GURL& event_url) { |
if (!profile) |
return; |
- HandleEvent("", event_name, event_args, profile, |
+ HandleEvent("", event_name, event_args.Pass(), profile, |
use_profile_to_restrict_events, event_url); |
} |
void EventRouterForwarder::BroadcastEventToExtension( |
const std::string& extension_id, |
const std::string& event_name, |
- const std::string& event_args, |
+ scoped_ptr<base::ListValue> event_args, |
const GURL& event_url) { |
- HandleEvent(extension_id, event_name, event_args, 0, true, event_url); |
+ HandleEvent(extension_id, event_name, event_args.Pass(), 0, true, event_url); |
} |
void EventRouterForwarder::DispatchEventToExtension( |
const std::string& extension_id, |
const std::string& event_name, |
- const std::string& event_args, |
+ scoped_ptr<base::ListValue> event_args, |
void* profile, |
bool use_profile_to_restrict_events, |
const GURL& event_url) { |
if (!profile) |
return; |
- HandleEvent(extension_id, event_name, event_args, profile, |
+ HandleEvent(extension_id, event_name, event_args.Pass(), profile, |
use_profile_to_restrict_events, event_url); |
} |
void EventRouterForwarder::HandleEvent(const std::string& extension_id, |
const std::string& event_name, |
- const std::string& event_args, |
+ scoped_ptr<ListValue> event_args, |
void* profile_ptr, |
bool use_profile_to_restrict_events, |
const GURL& event_url) { |
@@ -70,7 +71,7 @@ void EventRouterForwarder::HandleEvent(const std::string& extension_id, |
BrowserThread::PostTask( |
BrowserThread::UI, FROM_HERE, |
base::Bind(&EventRouterForwarder::HandleEvent, this, |
- extension_id, event_name, event_args, profile_ptr, |
+ extension_id, event_name, Passed(&event_args), profile_ptr, |
use_profile_to_restrict_events, event_url)); |
return; |
} |
@@ -86,13 +87,13 @@ void EventRouterForwarder::HandleEvent(const std::string& extension_id, |
return; |
} |
if (profile) { |
- CallEventRouter(profile, extension_id, event_name, event_args, |
+ CallEventRouter(profile, extension_id, event_name, event_args.Pass(), |
use_profile_to_restrict_events ? profile : NULL, event_url); |
} else { |
std::vector<Profile*> profiles(profile_manager->GetLoadedProfiles()); |
for (size_t i = 0; i < profiles.size(); ++i) { |
CallEventRouter( |
- profiles[i], extension_id, event_name, event_args, |
+ profiles[i], extension_id, event_name, event_args.Pass(), |
use_profile_to_restrict_events ? profiles[i] : NULL, event_url); |
} |
} |
@@ -101,7 +102,7 @@ void EventRouterForwarder::HandleEvent(const std::string& extension_id, |
void EventRouterForwarder::CallEventRouter(Profile* profile, |
const std::string& extension_id, |
const std::string& event_name, |
- const std::string& event_args, |
+ scoped_ptr<ListValue> event_args, |
Profile* restrict_to_profile, |
const GURL& event_url) { |
// We may not have an extension in cases like chromeos login |
@@ -113,13 +114,13 @@ void EventRouterForwarder::CallEventRouter(Profile* profile, |
if (extension_id.empty()) { |
profile->GetExtensionEventRouter()-> |
DispatchEventToRenderers( |
- event_name, event_args, restrict_to_profile, event_url, |
+ event_name, event_args.Pass(), restrict_to_profile, event_url, |
EventFilteringInfo()); |
} else { |
profile->GetExtensionEventRouter()-> |
DispatchEventToExtension( |
extension_id, |
- event_name, event_args, restrict_to_profile, event_url); |
+ event_name, event_args.Pass(), restrict_to_profile, event_url); |
} |
} |