diff options
author | aa@chromium.org <aa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-09-23 19:55:01 +0000 |
---|---|---|
committer | aa@chromium.org <aa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-09-23 19:55:01 +0000 |
commit | 376a47639b68b58ab469716890573d360d2e358a (patch) | |
tree | 96dcaf366f4e45eabb5f1243b28d0e86a6bf1d70 /chrome/browser/extensions/extension_messages_browsertest.cc | |
parent | c6a0a6b4c5ae16ce96cefb5d8dfa967be388a714 (diff) | |
download | chromium_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.cc | 25 |
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) {" |