| OLD | NEW |
| 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 28 matching lines...) Expand all Loading... |
| 47 reply_deserializer_->SerializeOutputParameters(*msg); | 48 reply_deserializer_->SerializeOutputParameters(*msg); |
| 48 reply_deserializer_.reset(); | 49 reply_deserializer_.reset(); |
| 49 } | 50 } |
| 50 } else { | 51 } else { |
| 51 if (msg->is_sync()) { | 52 if (msg->is_sync()) { |
| 52 // We actually need to handle deleting the reply deserializer for sync | 53 // We actually need to handle deleting the reply deserializer for sync |
| 53 // messages. | 54 // messages. |
| 54 reply_deserializer_.reset( | 55 reply_deserializer_.reset( |
| 55 static_cast<IPC::SyncMessage*>(msg)->GetReplyDeserializer()); | 56 static_cast<IPC::SyncMessage*>(msg)->GetReplyDeserializer()); |
| 56 } | 57 } |
| 57 OnMessageReceived(*msg); | 58 if (msg->routing_id() == MSG_ROUTING_CONTROL) |
| 59 OnControlMessageReceived(*msg); |
| 60 else |
| 61 OnMessageReceived(*msg); |
| 58 } | 62 } |
| 59 delete msg; | 63 delete msg; |
| 60 return true; | 64 return true; |
| 61 } | 65 } |
| 62 | 66 |
| 63 base::MessageLoop* MockRenderThread::GetMessageLoop() { | 67 base::MessageLoop* MockRenderThread::GetMessageLoop() { |
| 64 return NULL; | 68 return NULL; |
| 65 } | 69 } |
| 66 | 70 |
| 67 IPC::SyncChannel* MockRenderThread::GetChannel() { | 71 IPC::SyncChannel* MockRenderThread::GetChannel() { |
| (...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 117 } | 121 } |
| 118 } | 122 } |
| 119 NOTREACHED() << "filter to be removed not found"; | 123 NOTREACHED() << "filter to be removed not found"; |
| 120 } | 124 } |
| 121 | 125 |
| 122 void MockRenderThread::SetOutgoingMessageFilter( | 126 void MockRenderThread::SetOutgoingMessageFilter( |
| 123 IPC::ChannelProxy::OutgoingMessageFilter* filter) { | 127 IPC::ChannelProxy::OutgoingMessageFilter* filter) { |
| 124 } | 128 } |
| 125 | 129 |
| 126 void MockRenderThread::AddObserver(RenderProcessObserver* observer) { | 130 void MockRenderThread::AddObserver(RenderProcessObserver* observer) { |
| 131 observers_.AddObserver(observer); |
| 127 } | 132 } |
| 128 | 133 |
| 129 void MockRenderThread::RemoveObserver(RenderProcessObserver* observer) { | 134 void MockRenderThread::RemoveObserver(RenderProcessObserver* observer) { |
| 135 observers_.RemoveObserver(observer); |
| 130 } | 136 } |
| 131 | 137 |
| 132 void MockRenderThread::SetResourceDispatcherDelegate( | 138 void MockRenderThread::SetResourceDispatcherDelegate( |
| 133 ResourceDispatcherDelegate* delegate) { | 139 ResourceDispatcherDelegate* delegate) { |
| 134 } | 140 } |
| 135 | 141 |
| 136 void MockRenderThread::WidgetHidden() { | 142 void MockRenderThread::WidgetHidden() { |
| 137 } | 143 } |
| 138 | 144 |
| 139 void MockRenderThread::WidgetRestored() { | 145 void MockRenderThread::WidgetRestored() { |
| (...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 219 int* route_id, | 225 int* route_id, |
| 220 int* main_frame_route_id, | 226 int* main_frame_route_id, |
| 221 int* surface_id, | 227 int* surface_id, |
| 222 int64* cloned_session_storage_namespace_id) { | 228 int64* cloned_session_storage_namespace_id) { |
| 223 *route_id = new_window_routing_id_; | 229 *route_id = new_window_routing_id_; |
| 224 *main_frame_route_id = new_window_main_frame_routing_id_; | 230 *main_frame_route_id = new_window_main_frame_routing_id_; |
| 225 *surface_id = surface_id_; | 231 *surface_id = surface_id_; |
| 226 *cloned_session_storage_namespace_id = 0; | 232 *cloned_session_storage_namespace_id = 0; |
| 227 } | 233 } |
| 228 | 234 |
| 235 bool MockRenderThread::OnControlMessageReceived(const IPC::Message& msg) { |
| 236 ObserverListBase<RenderProcessObserver>::Iterator it(observers_); |
| 237 RenderProcessObserver* observer; |
| 238 while ((observer = it.GetNext()) != NULL) { |
| 239 if (observer->OnControlMessageReceived(msg)) |
| 240 return true; |
| 241 } |
| 242 return OnMessageReceived(msg); |
| 243 } |
| 244 |
| 229 bool MockRenderThread::OnMessageReceived(const IPC::Message& msg) { | 245 bool MockRenderThread::OnMessageReceived(const IPC::Message& msg) { |
| 230 // Save the message in the sink. | 246 // Save the message in the sink. |
| 231 sink_.OnMessageReceived(msg); | 247 sink_.OnMessageReceived(msg); |
| 232 | 248 |
| 233 bool handled = true; | 249 bool handled = true; |
| 234 bool msg_is_ok = true; | 250 bool msg_is_ok = true; |
| 235 IPC_BEGIN_MESSAGE_MAP_EX(MockRenderThread, msg, msg_is_ok) | 251 IPC_BEGIN_MESSAGE_MAP_EX(MockRenderThread, msg, msg_is_ok) |
| 236 IPC_MESSAGE_HANDLER(ViewHostMsg_CreateWidget, OnCreateWidget) | 252 IPC_MESSAGE_HANDLER(ViewHostMsg_CreateWidget, OnCreateWidget) |
| 237 IPC_MESSAGE_HANDLER(ViewHostMsg_CreateWindow, OnCreateWindow) | 253 IPC_MESSAGE_HANDLER(ViewHostMsg_CreateWindow, OnCreateWindow) |
| 238 IPC_MESSAGE_UNHANDLED(handled = false) | 254 IPC_MESSAGE_UNHANDLED(handled = false) |
| 239 IPC_END_MESSAGE_MAP_EX() | 255 IPC_END_MESSAGE_MAP_EX() |
| 240 return handled; | 256 return handled; |
| 241 } | 257 } |
| 242 | 258 |
| 243 #if defined(OS_WIN) | 259 #if defined(OS_WIN) |
| 244 void MockRenderThread::OnDuplicateSection( | 260 void MockRenderThread::OnDuplicateSection( |
| 245 base::SharedMemoryHandle renderer_handle, | 261 base::SharedMemoryHandle renderer_handle, |
| 246 base::SharedMemoryHandle* browser_handle) { | 262 base::SharedMemoryHandle* browser_handle) { |
| 247 // We don't have to duplicate the input handles since RenderViewTest does not | 263 // We don't have to duplicate the input handles since RenderViewTest does not |
| 248 // separate a browser process from a renderer process. | 264 // separate a browser process from a renderer process. |
| 249 *browser_handle = renderer_handle; | 265 *browser_handle = renderer_handle; |
| 250 } | 266 } |
| 251 #endif // defined(OS_WIN) | 267 #endif // defined(OS_WIN) |
| 252 | 268 |
| 253 } // namespace content | 269 } // namespace content |
| OLD | NEW |