summaryrefslogtreecommitdiffstats
path: root/chrome/browser/extensions/extension_messages_browsertest.cc
diff options
context:
space:
mode:
authoraa@chromium.org <aa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-09-23 19:55:01 +0000
committeraa@chromium.org <aa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-09-23 19:55:01 +0000
commit376a47639b68b58ab469716890573d360d2e358a (patch)
tree96dcaf366f4e45eabb5f1243b28d0e86a6bf1d70 /chrome/browser/extensions/extension_messages_browsertest.cc
parentc6a0a6b4c5ae16ce96cefb5d8dfa967be388a714 (diff)
downloadchromium_src-376a47639b68b58ab469716890573d360d2e358a.zip
chromium_src-376a47639b68b58ab469716890573d360d2e358a.tar.gz
chromium_src-376a47639b68b58ab469716890573d360d2e358a.tar.bz2
Re-reland r99689: Refactor the ContextInfo struct from bindings_utils into a real class.
Pull functionality from bindings_utils and event_bindings in as methods. Simplify lifetime management. BUG= TEST= Review URL: http://codereview.chromium.org/8008027 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@102554 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/extensions/extension_messages_browsertest.cc')
-rw-r--r--chrome/browser/extensions/extension_messages_browsertest.cc25
1 files changed, 15 insertions, 10 deletions
diff --git a/chrome/browser/extensions/extension_messages_browsertest.cc b/chrome/browser/extensions/extension_messages_browsertest.cc
index b978b91..819ab2e 100644
--- a/chrome/browser/extensions/extension_messages_browsertest.cc
+++ b/chrome/browser/extensions/extension_messages_browsertest.cc
@@ -7,37 +7,41 @@
#include "chrome/browser/extensions/extension_message_service.h"
#include "chrome/common/extensions/extension_messages.h"
#include "chrome/common/render_messages.h"
-#include "chrome/renderer/extensions/event_bindings.h"
+#include "chrome/renderer/extensions/extension_bindings_context.h"
#include "chrome/renderer/extensions/renderer_extension_bindings.h"
#include "chrome/test/base/render_view_test.h"
#include "content/common/view_messages.h"
#include "testing/gtest/include/gtest/gtest.h"
-static void DispatchOnConnect(int source_port_id, const std::string& name,
+namespace {
+
+static const char kTestingExtensionId[] = "oooooooooooooooooooooooooooooooo";
+
+void DispatchOnConnect(int source_port_id, const std::string& name,
const std::string& tab_json) {
ListValue args;
args.Set(0, Value::CreateIntegerValue(source_port_id));
args.Set(1, Value::CreateStringValue(name));
args.Set(2, Value::CreateStringValue(tab_json));
- // Testing extensionId. Set in EventBindings::HandleContextCreated.
- // We use the same id for source & target to similute an extension "talking
- // to itself".
- args.Set(3, Value::CreateStringValue(EventBindings::kTestingExtensionId));
- args.Set(4, Value::CreateStringValue(EventBindings::kTestingExtensionId));
- EventBindings::CallFunction(
+ args.Set(3, Value::CreateStringValue(kTestingExtensionId));
+ args.Set(4, Value::CreateStringValue(kTestingExtensionId));
+ ExtensionBindingsContext::DispatchChromeHiddenMethod(
"", ExtensionMessageService::kDispatchOnConnect, args, NULL, GURL());
}
-static void DispatchOnDisconnect(int source_port_id) {
+void DispatchOnDisconnect(int source_port_id) {
ListValue args;
args.Set(0, Value::CreateIntegerValue(source_port_id));
- EventBindings::CallFunction(
+ ExtensionBindingsContext::DispatchChromeHiddenMethod(
"", ExtensionMessageService::kDispatchOnDisconnect, args, NULL, GURL());
}
+}
+
// Tests that the bindings for opening a channel to an extension and sending
// and receiving messages through that channel all works.
TEST_F(RenderViewTest, ExtensionMessagesOpenChannel) {
+ ExtensionBindingsContext::SetTestExtensionId(kTestingExtensionId);
render_thread_.sink().ClearMessages();
LoadHTML("<body></body>");
ExecuteJavaScript(
@@ -85,6 +89,7 @@ TEST_F(RenderViewTest, ExtensionMessagesOpenChannel) {
// Tests that the bindings for handling a new channel connection and channel
// closing all works.
TEST_F(RenderViewTest, ExtensionMessagesOnConnect) {
+ ExtensionBindingsContext::SetTestExtensionId(kTestingExtensionId);
LoadHTML("<body></body>");
ExecuteJavaScript(
"chrome.extension.onConnect.addListener(function (port) {"