Commit 6f8f8b63 authored by jam@chromium.org's avatar jam@chromium.org

Get rid of view_messages.h dependency in extension_messages_browsertest.cc by...

Get rid of view_messages.h dependency in extension_messages_browsertest.cc by adding a method to MockRenderThread instead.

BUG=98716
Review URL: http://codereview.chromium.org/8801001

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@112987 0039d316-1c4b-4281-b951-d872f2087c98
parent ed81b38b
...@@ -11,7 +11,6 @@ ...@@ -11,7 +11,6 @@
#include "chrome/renderer/extensions/extension_dispatcher.h" #include "chrome/renderer/extensions/extension_dispatcher.h"
#include "chrome/renderer/extensions/miscellaneous_bindings.h" #include "chrome/renderer/extensions/miscellaneous_bindings.h"
#include "chrome/test/base/chrome_render_view_test.h" #include "chrome/test/base/chrome_render_view_test.h"
#include "content/common/view_messages.h"
#include "testing/gtest/include/gtest/gtest.h" #include "testing/gtest/include/gtest/gtest.h"
using extensions::MiscellaneousBindings; using extensions::MiscellaneousBindings;
...@@ -87,14 +86,8 @@ TEST_F(ChromeRenderViewTest, ExtensionMessagesOpenChannel) { ...@@ -87,14 +86,8 @@ TEST_F(ChromeRenderViewTest, ExtensionMessagesOpenChannel) {
kPortId, "{\"val\": 42}", NULL); kPortId, "{\"val\": 42}", NULL);
// Verify that we got it. // Verify that we got it.
const IPC::Message* alert_msg = render_thread_->VerifyRunJavaScriptMessageSend(
render_thread_->sink().GetUniqueMessageMatching( ASCIIToUTF16("content got: 42"));
ViewHostMsg_RunJavaScriptMessage::ID);
ASSERT_TRUE(alert_msg);
iter = IPC::SyncMessage::GetDataIterator(alert_msg);
ViewHostMsg_RunJavaScriptMessage::SendParam alert_param;
ASSERT_TRUE(IPC::ReadParam(alert_msg, &iter, &alert_param));
EXPECT_EQ(ASCIIToUTF16("content got: 42"), alert_param.a);
} }
// Tests that the bindings for handling a new channel connection and channel // Tests that the bindings for handling a new channel connection and channel
...@@ -143,25 +136,13 @@ TEST_F(ChromeRenderViewTest, ExtensionMessagesOnConnect) { ...@@ -143,25 +136,13 @@ TEST_F(ChromeRenderViewTest, ExtensionMessagesOnConnect) {
kPortId, "{\"val\": 42}", NULL); kPortId, "{\"val\": 42}", NULL);
// Verify that we got it. // Verify that we got it.
const IPC::Message* alert_msg = render_thread_->VerifyRunJavaScriptMessageSend(ASCIIToUTF16("got: 42"));
render_thread_->sink().GetUniqueMessageMatching(
ViewHostMsg_RunJavaScriptMessage::ID);
ASSERT_TRUE(alert_msg);
void* iter = IPC::SyncMessage::GetDataIterator(alert_msg);
ViewHostMsg_RunJavaScriptMessage::SendParam alert_param;
ASSERT_TRUE(IPC::ReadParam(alert_msg, &iter, &alert_param));
EXPECT_EQ(ASCIIToUTF16("got: 42"), alert_param.a);
// Now simulate the channel closing. // Now simulate the channel closing.
render_thread_->sink().ClearMessages(); render_thread_->sink().ClearMessages();
DispatchOnDisconnect(extension_dispatcher_->v8_context_set(), kPortId); DispatchOnDisconnect(extension_dispatcher_->v8_context_set(), kPortId);
// Verify that we got it. // Verify that we got it.
alert_msg = render_thread_->VerifyRunJavaScriptMessageSend(
render_thread_->sink().GetUniqueMessageMatching( ASCIIToUTF16("disconnected: 24"));
ViewHostMsg_RunJavaScriptMessage::ID);
ASSERT_TRUE(alert_msg);
iter = IPC::SyncMessage::GetDataIterator(alert_msg);
ASSERT_TRUE(IPC::ReadParam(alert_msg, &iter, &alert_param));
EXPECT_EQ(ASCIIToUTF16("disconnected: 24"), alert_param.a);
} }
...@@ -28,7 +28,6 @@ ...@@ -28,7 +28,6 @@
#include "content/browser/renderer_host/mock_render_process_host.h" #include "content/browser/renderer_host/mock_render_process_host.h"
#include "content/browser/tab_contents/navigation_details.h" #include "content/browser/tab_contents/navigation_details.h"
#include "content/browser/tab_contents/test_tab_contents.h" #include "content/browser/tab_contents/test_tab_contents.h"
#include "content/common/view_messages.h"
#include "content/public/browser/notification_details.h" #include "content/public/browser/notification_details.h"
#include "content/public/browser/notification_registrar.h" #include "content/public/browser/notification_registrar.h"
#include "content/test/notification_observer_mock.h" #include "content/test/notification_observer_mock.h"
......
...@@ -16,7 +16,6 @@ ...@@ -16,7 +16,6 @@
#include "chrome/renderer/extensions/miscellaneous_bindings.h" #include "chrome/renderer/extensions/miscellaneous_bindings.h"
#include "chrome/renderer/extensions/schema_generated_bindings.h" #include "chrome/renderer/extensions/schema_generated_bindings.h"
#include "content/common/dom_storage_common.h" #include "content/common/dom_storage_common.h"
#include "content/common/view_messages.h"
#include "content/public/browser/native_web_keyboard_event.h" #include "content/public/browser/native_web_keyboard_event.h"
#include "content/public/common/renderer_preferences.h" #include "content/public/common/renderer_preferences.h"
#include "content/renderer/render_view_impl.h" #include "content/renderer/render_view_impl.h"
......
...@@ -19,6 +19,17 @@ MockRenderThread::MockRenderThread() ...@@ -19,6 +19,17 @@ MockRenderThread::MockRenderThread()
MockRenderThread::~MockRenderThread() { MockRenderThread::~MockRenderThread() {
} }
void MockRenderThread::VerifyRunJavaScriptMessageSend(
const string16& expected_alert_message) {
const IPC::Message* alert_msg =
sink_.GetUniqueMessageMatching(ViewHostMsg_RunJavaScriptMessage::ID);
ASSERT_TRUE(alert_msg);
void* iter = IPC::SyncMessage::GetDataIterator(alert_msg);
ViewHostMsg_RunJavaScriptMessage::SendParam alert_param;
ASSERT_TRUE(IPC::ReadParam(alert_msg, &iter, &alert_param));
EXPECT_EQ(expected_alert_message, alert_param.a);
}
// Called by the Widget. Used to send messages to the browser. // Called by the Widget. Used to send messages to the browser.
// We short-circuit the mechanism and handle the messages right here on this // We short-circuit the mechanism and handle the messages right here on this
// class. // class.
......
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
#pragma once #pragma once
#include "base/shared_memory.h" #include "base/shared_memory.h"
#include "base/string16.h"
#include "content/public/renderer/render_thread.h" #include "content/public/renderer/render_thread.h"
#include "ipc/ipc_test_sink.h" #include "ipc/ipc_test_sink.h"
#include "third_party/WebKit/Source/WebKit/chromium/public/WebPopupType.h" #include "third_party/WebKit/Source/WebKit/chromium/public/WebPopupType.h"
...@@ -29,6 +30,10 @@ class MockRenderThread : public content::RenderThread { ...@@ -29,6 +30,10 @@ class MockRenderThread : public content::RenderThread {
// Provides access to the messages that have been received by this thread. // Provides access to the messages that have been received by this thread.
IPC::TestSink& sink() { return sink_; } IPC::TestSink& sink() { return sink_; }
// Helpers for embedders to know when content IPC messages are received, since
// they don't have access to content IPC files.
void VerifyRunJavaScriptMessageSend(const string16& expected_alert_message);
// content::RenderThread implementation: // content::RenderThread implementation:
virtual bool Send(IPC::Message* msg) OVERRIDE; virtual bool Send(IPC::Message* msg) OVERRIDE;
virtual MessageLoop* GetMessageLoop() OVERRIDE; virtual MessageLoop* GetMessageLoop() OVERRIDE;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment