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

Side by Side Diff: content/public/test/mock_render_thread.cc

Issue 23455047: InstantExtended: Send search URLs to renderers. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Handle TemplateURL change Created 7 years, 3 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "content/public/test/mock_render_thread.h" 5 #include "content/public/test/mock_render_thread.h"
6 6
7 #include "base/message_loop/message_loop_proxy.h" 7 #include "base/message_loop/message_loop_proxy.h"
8 #include "content/common/view_messages.h" 8 #include "content/common/view_messages.h"
9 #include "content/public/renderer/render_process_observer.h"
9 #include "ipc/ipc_message_utils.h" 10 #include "ipc/ipc_message_utils.h"
10 #include "ipc/ipc_sync_message.h" 11 #include "ipc/ipc_sync_message.h"
11 #include "testing/gtest/include/gtest/gtest.h" 12 #include "testing/gtest/include/gtest/gtest.h"
12 #include "third_party/WebKit/public/web/WebScriptController.h" 13 #include "third_party/WebKit/public/web/WebScriptController.h"
13 14
14 namespace content { 15 namespace content {
15 16
16 MockRenderThread::MockRenderThread() 17 MockRenderThread::MockRenderThread()
17 : routing_id_(0), 18 : routing_id_(0),
18 surface_id_(0), 19 surface_id_(0),
(...skipping 21 matching lines...) Expand all
40 // class. 41 // class.
41 bool MockRenderThread::Send(IPC::Message* msg) { 42 bool MockRenderThread::Send(IPC::Message* msg) {
42 // We need to simulate a synchronous channel, thus we are going to receive 43 // We need to simulate a synchronous channel, thus we are going to receive
43 // through this function messages, messages with reply and reply messages. 44 // through this function messages, messages with reply and reply messages.
44 // We can only handle one synchronous message at a time. 45 // We can only handle one synchronous message at a time.
45 if (msg->is_reply()) { 46 if (msg->is_reply()) {
46 if (reply_deserializer_) { 47 if (reply_deserializer_) {
47 reply_deserializer_->SerializeOutputParameters(*msg); 48 reply_deserializer_->SerializeOutputParameters(*msg);
48 reply_deserializer_.reset(); 49 reply_deserializer_.reset();
49 } 50 }
51 } else if (msg->routing_id() == MSG_ROUTING_CONTROL) {
52 OnControlMessageReceived(*msg);
50 } else { 53 } else {
51 if (msg->is_sync()) { 54 if (msg->is_sync()) {
52 // We actually need to handle deleting the reply deserializer for sync 55 // We actually need to handle deleting the reply deserializer for sync
53 // messages. 56 // messages.
54 reply_deserializer_.reset( 57 reply_deserializer_.reset(
55 static_cast<IPC::SyncMessage*>(msg)->GetReplyDeserializer()); 58 static_cast<IPC::SyncMessage*>(msg)->GetReplyDeserializer());
56 } 59 }
57 OnMessageReceived(*msg); 60 OnMessageReceived(*msg);
58 } 61 }
59 delete msg; 62 delete msg;
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
117 } 120 }
118 } 121 }
119 NOTREACHED() << "filter to be removed not found"; 122 NOTREACHED() << "filter to be removed not found";
120 } 123 }
121 124
122 void MockRenderThread::SetOutgoingMessageFilter( 125 void MockRenderThread::SetOutgoingMessageFilter(
123 IPC::ChannelProxy::OutgoingMessageFilter* filter) { 126 IPC::ChannelProxy::OutgoingMessageFilter* filter) {
124 } 127 }
125 128
126 void MockRenderThread::AddObserver(RenderProcessObserver* observer) { 129 void MockRenderThread::AddObserver(RenderProcessObserver* observer) {
130 observers_.AddObserver(observer);
127 } 131 }
128 132
129 void MockRenderThread::RemoveObserver(RenderProcessObserver* observer) { 133 void MockRenderThread::RemoveObserver(RenderProcessObserver* observer) {
134 observers_.RemoveObserver(observer);
130 } 135 }
131 136
132 void MockRenderThread::SetResourceDispatcherDelegate( 137 void MockRenderThread::SetResourceDispatcherDelegate(
133 ResourceDispatcherDelegate* delegate) { 138 ResourceDispatcherDelegate* delegate) {
134 } 139 }
135 140
136 void MockRenderThread::WidgetHidden() { 141 void MockRenderThread::WidgetHidden() {
137 } 142 }
138 143
139 void MockRenderThread::WidgetRestored() { 144 void MockRenderThread::WidgetRestored() {
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
219 int* route_id, 224 int* route_id,
220 int* main_frame_route_id, 225 int* main_frame_route_id,
221 int* surface_id, 226 int* surface_id,
222 int64* cloned_session_storage_namespace_id) { 227 int64* cloned_session_storage_namespace_id) {
223 *route_id = new_window_routing_id_; 228 *route_id = new_window_routing_id_;
224 *main_frame_route_id = new_window_main_frame_routing_id_; 229 *main_frame_route_id = new_window_main_frame_routing_id_;
225 *surface_id = surface_id_; 230 *surface_id = surface_id_;
226 *cloned_session_storage_namespace_id = 0; 231 *cloned_session_storage_namespace_id = 0;
227 } 232 }
228 233
234 bool MockRenderThread::OnControlMessageReceived(const IPC::Message& msg) {
235 ObserverListBase<RenderProcessObserver>::Iterator it(observers_);
236 RenderProcessObserver* observer;
237 while ((observer = it.GetNext()) != NULL) {
238 if (observer->OnControlMessageReceived(msg))
239 return true;
240 }
241 return false;
242 }
243
229 bool MockRenderThread::OnMessageReceived(const IPC::Message& msg) { 244 bool MockRenderThread::OnMessageReceived(const IPC::Message& msg) {
230 // Save the message in the sink. 245 // Save the message in the sink.
231 sink_.OnMessageReceived(msg); 246 sink_.OnMessageReceived(msg);
232 247
233 bool handled = true; 248 bool handled = true;
234 bool msg_is_ok = true; 249 bool msg_is_ok = true;
235 IPC_BEGIN_MESSAGE_MAP_EX(MockRenderThread, msg, msg_is_ok) 250 IPC_BEGIN_MESSAGE_MAP_EX(MockRenderThread, msg, msg_is_ok)
236 IPC_MESSAGE_HANDLER(ViewHostMsg_CreateWidget, OnCreateWidget) 251 IPC_MESSAGE_HANDLER(ViewHostMsg_CreateWidget, OnCreateWidget)
237 IPC_MESSAGE_HANDLER(ViewHostMsg_CreateWindow, OnCreateWindow) 252 IPC_MESSAGE_HANDLER(ViewHostMsg_CreateWindow, OnCreateWindow)
238 IPC_MESSAGE_UNHANDLED(handled = false) 253 IPC_MESSAGE_UNHANDLED(handled = false)
239 IPC_END_MESSAGE_MAP_EX() 254 IPC_END_MESSAGE_MAP_EX()
240 return handled; 255 return handled;
241 } 256 }
242 257
243 #if defined(OS_WIN) 258 #if defined(OS_WIN)
244 void MockRenderThread::OnDuplicateSection( 259 void MockRenderThread::OnDuplicateSection(
245 base::SharedMemoryHandle renderer_handle, 260 base::SharedMemoryHandle renderer_handle,
246 base::SharedMemoryHandle* browser_handle) { 261 base::SharedMemoryHandle* browser_handle) {
247 // We don't have to duplicate the input handles since RenderViewTest does not 262 // We don't have to duplicate the input handles since RenderViewTest does not
248 // separate a browser process from a renderer process. 263 // separate a browser process from a renderer process.
249 *browser_handle = renderer_handle; 264 *browser_handle = renderer_handle;
250 } 265 }
251 #endif // defined(OS_WIN) 266 #endif // defined(OS_WIN)
252 267
253 } // namespace content 268 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698