Index: chrome/browser/extensions/api/cookies/cookies_api.cc |
diff --git a/chrome/browser/extensions/api/cookies/cookies_api.cc b/chrome/browser/extensions/api/cookies/cookies_api.cc |
index 8f1a070208f735e898bbac88a16d29a1371eff12..055b89aecf084345aeeab874211a9eba304a6a31 100644 |
--- a/chrome/browser/extensions/api/cookies/cookies_api.cc |
+++ b/chrome/browser/extensions/api/cookies/cookies_api.cc |
@@ -80,7 +80,7 @@ void ExtensionCookiesEventRouter::Observe( |
void ExtensionCookiesEventRouter::CookieChanged( |
Profile* profile, |
ChromeCookieDetails* details) { |
- ListValue args; |
+ scoped_ptr<ListValue> args(new ListValue()); |
DictionaryValue* dict = new DictionaryValue(); |
dict->SetBoolean(keys::kRemovedKey, details->removed); |
@@ -117,22 +117,20 @@ void ExtensionCookiesEventRouter::CookieChanged( |
} |
dict->SetString(keys::kCauseKey, cause); |
- args.Append(dict); |
+ args->Append(dict); |
- std::string json_args; |
- base::JSONWriter::Write(&args, &json_args); |
GURL cookie_domain = |
cookies_helpers::GetURLFromCanonicalCookie(*details->cookie); |
- DispatchEvent(profile, keys::kOnChanged, json_args, cookie_domain); |
+ DispatchEvent(profile, keys::kOnChanged, args.Pass(), cookie_domain); |
} |
-void ExtensionCookiesEventRouter::DispatchEvent(Profile* profile, |
- const char* event_name, |
- const std::string& json_args, |
- GURL& cookie_domain) { |
+void ExtensionCookiesEventRouter::DispatchEvent( |
+ Profile* profile, const char* event_name, scoped_ptr<ListValue> event_args, |
+ GURL& cookie_domain) { |
if (profile && profile->GetExtensionEventRouter()) { |
profile->GetExtensionEventRouter()->DispatchEventToRenderers( |
- event_name, json_args, profile, cookie_domain, EventFilteringInfo()); |
+ event_name, event_args.Pass(), profile, cookie_domain, |
+ EventFilteringInfo()); |
} |
} |