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

Unified Diff: chrome/browser/extensions/extension_messages_apitest.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/extension_messages_apitest.cc
diff --git a/chrome/browser/extensions/extension_messages_apitest.cc b/chrome/browser/extensions/extension_messages_apitest.cc
index 72b0e799187855cd9bad1c6eaaf3d3ecd53ba4fa..9a0373039db382494bd042982c3d8a7b2de0276d 100644
--- a/chrome/browser/extensions/extension_messages_apitest.cc
+++ b/chrome/browser/extensions/extension_messages_apitest.cc
@@ -2,6 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
+#include "base/values.h"
#include "chrome/browser/extensions/event_router.h"
#include "chrome/browser/extensions/extension_apitest.h"
#include "chrome/browser/profiles/profile.h"
@@ -20,6 +21,16 @@ class MessageSender : public content::NotificationObserver {
}
private:
+ static scoped_ptr<ListValue> BuildEventArguments(const bool last_message,
+ const std::string& data) {
+ DictionaryValue* event = new DictionaryValue();
+ event->SetBoolean("lastMessage", last_message);
+ event->SetString("data", data);
+ scoped_ptr<ListValue> arguments(new ListValue());
+ arguments->Append(event);
+ return arguments.Pass();
+ }
+
virtual void Observe(int type,
const content::NotificationSource& source,
const content::NotificationDetails& details) {
@@ -29,22 +40,22 @@ class MessageSender : public content::NotificationObserver {
// Sends four messages to the extension. All but the third message sent
// from the origin http://b.com/ are supposed to arrive.
event_router->DispatchEventToRenderers("test.onMessage",
- "[{\"lastMessage\":false,\"data\":\"no restriction\"}]",
+ BuildEventArguments(false, "no restriction"),
content::Source<Profile>(source).ptr(),
GURL(),
extensions::EventFilteringInfo());
event_router->DispatchEventToRenderers("test.onMessage",
- "[{\"lastMessage\":false,\"data\":\"http://a.com/\"}]",
+ BuildEventArguments(false, "http://a.com/"),
content::Source<Profile>(source).ptr(),
GURL("http://a.com/"),
extensions::EventFilteringInfo());
event_router->DispatchEventToRenderers("test.onMessage",
- "[{\"lastMessage\":false,\"data\":\"http://b.com/\"}]",
+ BuildEventArguments(false, "http://b.com/"),
content::Source<Profile>(source).ptr(),
GURL("http://b.com/"),
extensions::EventFilteringInfo());
event_router->DispatchEventToRenderers("test.onMessage",
- "[{\"lastMessage\":true,\"data\":\"last message\"}]",
+ BuildEventArguments(true, "last message"),
content::Source<Profile>(source).ptr(),
GURL(),
extensions::EventFilteringInfo());
« no previous file with comments | « chrome/browser/extensions/extension_devtools_bridge.cc ('k') | chrome/browser/extensions/extension_preference_helpers.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698