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

Unified Diff: chrome/browser/extensions/api/cookies/cookies_api.cc

Issue 10694085: Refactor extension event distribution to use Values instead of JSON strings. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fixing memory leak in a test. Created 8 years, 4 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/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());
}
}
« no previous file with comments | « chrome/browser/extensions/api/cookies/cookies_api.h ('k') | chrome/browser/extensions/api/debugger/debugger_api.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698