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

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

Issue 2450353004: Move ViewHostMsg_CreateWidget to mojom (Closed)
Patch Set: Addressed @tsepez's comment Created 4 years, 1 month 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
« no previous file with comments | « content/public/test/mock_render_thread.h ('k') | content/renderer/render_view_impl.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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/logging.h" 7 #include "base/logging.h"
8 #include "base/single_thread_task_runner.h" 8 #include "base/single_thread_task_runner.h"
9 #include "base/threading/thread_task_runner_handle.h" 9 #include "base/threading/thread_task_runner_handle.h"
10 #include "build/build_config.h" 10 #include "build/build_config.h"
(...skipping 30 matching lines...) Expand all
41 41
42 void CreateNewWindow(mojom::CreateNewWindowParamsPtr params, 42 void CreateNewWindow(mojom::CreateNewWindowParamsPtr params,
43 const CreateNewWindowCallback& callback) override { 43 const CreateNewWindowCallback& callback) override {
44 // NOTE: This implementation of mojom::RenderMessageFilter is used client- 44 // NOTE: This implementation of mojom::RenderMessageFilter is used client-
45 // side only. Because sync mojom methods have a different interface for 45 // side only. Because sync mojom methods have a different interface for
46 // bindings- and client-side, we only implement the client-side interface 46 // bindings- and client-side, we only implement the client-side interface
47 // on this object. 47 // on this object.
48 NOTREACHED(); 48 NOTREACHED();
49 } 49 }
50 50
51 // Note that
52 bool CreateNewWindow(mojom::CreateNewWindowParamsPtr params, 51 bool CreateNewWindow(mojom::CreateNewWindowParamsPtr params,
53 mojom::CreateNewWindowReplyPtr* reply) override { 52 mojom::CreateNewWindowReplyPtr* reply) override {
54 *reply = mojom::CreateNewWindowReply::New(); 53 *reply = mojom::CreateNewWindowReply::New();
55 thread_->OnCreateWindow(*params, reply->get()); 54 thread_->OnCreateWindow(*params, reply->get());
56 return true; 55 return true;
57 } 56 }
58 57
58 void CreateNewWidget(int32_t opener_id,
59 blink::WebPopupType popup_type,
60 const CreateNewWidgetCallback& callback) override {
61 // See comment in CreateNewWindow().
62 NOTREACHED();
63 }
64
65 bool CreateNewWidget(int32_t opener_id,
66 blink::WebPopupType popup_type,
67 int32_t* route_id) override {
68 thread_->OnCreateWidget(opener_id, popup_type, route_id);
69 return true;
70 }
71
59 private: 72 private:
60 MockRenderThread* const thread_; 73 MockRenderThread* const thread_;
61 }; 74 };
62 75
63 } // namespace 76 } // namespace
64 77
65 MockRenderThread::MockRenderThread() 78 MockRenderThread::MockRenderThread()
66 : routing_id_(0), 79 : routing_id_(0),
67 opener_id_(0), 80 opener_id_(0),
68 new_window_routing_id_(0), 81 new_window_routing_id_(0),
(...skipping 180 matching lines...) Expand 10 before | Expand all | Expand 10 after
249 remote_interfaces_->Bind(std::move(remote_interface_provider)); 262 remote_interfaces_->Bind(std::move(remote_interface_provider));
250 } 263 }
251 return remote_interfaces_.get(); 264 return remote_interfaces_.get();
252 } 265 }
253 266
254 void MockRenderThread::SendCloseMessage() { 267 void MockRenderThread::SendCloseMessage() {
255 ViewMsg_Close msg(routing_id_); 268 ViewMsg_Close msg(routing_id_);
256 RenderViewImpl::FromRoutingID(routing_id_)->OnMessageReceived(msg); 269 RenderViewImpl::FromRoutingID(routing_id_)->OnMessageReceived(msg);
257 } 270 }
258 271
259 // The Widget expects to be returned valid route_id. 272 // The Widget expects to be returned a valid route_id.
260 void MockRenderThread::OnCreateWidget(int opener_id, 273 void MockRenderThread::OnCreateWidget(int opener_id,
261 blink::WebPopupType popup_type, 274 blink::WebPopupType popup_type,
262 int* route_id) { 275 int* route_id) {
263 opener_id_ = opener_id; 276 opener_id_ = opener_id;
264 *route_id = routing_id_; 277 *route_id = routing_id_;
265 } 278 }
266 279
267 // The Frame expects to be returned a valid route_id different from its own. 280 // The Frame expects to be returned a valid route_id different from its own.
268 void MockRenderThread::OnCreateChildFrame( 281 void MockRenderThread::OnCreateChildFrame(
269 const FrameHostMsg_CreateChildFrame_Params& params, 282 const FrameHostMsg_CreateChildFrame_Params& params,
270 int* new_render_frame_id) { 283 int* new_render_frame_id) {
271 *new_render_frame_id = new_frame_routing_id_++; 284 *new_render_frame_id = new_frame_routing_id_++;
272 } 285 }
273 286
274 bool MockRenderThread::OnControlMessageReceived(const IPC::Message& msg) { 287 bool MockRenderThread::OnControlMessageReceived(const IPC::Message& msg) {
275 for (auto& observer : observers_) { 288 for (auto& observer : observers_) {
276 if (observer.OnControlMessageReceived(msg)) 289 if (observer.OnControlMessageReceived(msg))
277 return true; 290 return true;
278 } 291 }
279 return OnMessageReceived(msg); 292 return OnMessageReceived(msg);
280 } 293 }
281 294
282 bool MockRenderThread::OnMessageReceived(const IPC::Message& msg) { 295 bool MockRenderThread::OnMessageReceived(const IPC::Message& msg) {
283 // Save the message in the sink. 296 // Save the message in the sink.
284 sink_.OnMessageReceived(msg); 297 sink_.OnMessageReceived(msg);
285 298
286 bool handled = true; 299 bool handled = true;
287 IPC_BEGIN_MESSAGE_MAP(MockRenderThread, msg) 300 IPC_BEGIN_MESSAGE_MAP(MockRenderThread, msg)
288 IPC_MESSAGE_HANDLER(ViewHostMsg_CreateWidget, OnCreateWidget)
289 IPC_MESSAGE_HANDLER(FrameHostMsg_CreateChildFrame, OnCreateChildFrame) 301 IPC_MESSAGE_HANDLER(FrameHostMsg_CreateChildFrame, OnCreateChildFrame)
290 IPC_MESSAGE_UNHANDLED(handled = false) 302 IPC_MESSAGE_UNHANDLED(handled = false)
291 IPC_END_MESSAGE_MAP() 303 IPC_END_MESSAGE_MAP()
292 return handled; 304 return handled;
293 } 305 }
294 306
295 #if defined(OS_WIN) 307 #if defined(OS_WIN)
296 void MockRenderThread::OnDuplicateSection( 308 void MockRenderThread::OnDuplicateSection(
297 base::SharedMemoryHandle renderer_handle, 309 base::SharedMemoryHandle renderer_handle,
298 base::SharedMemoryHandle* browser_handle) { 310 base::SharedMemoryHandle* browser_handle) {
299 // We don't have to duplicate the input handles since RenderViewTest does not 311 // We don't have to duplicate the input handles since RenderViewTest does not
300 // separate a browser process from a renderer process. 312 // separate a browser process from a renderer process.
301 *browser_handle = renderer_handle; 313 *browser_handle = renderer_handle;
302 } 314 }
303 #endif // defined(OS_WIN) 315 #endif // defined(OS_WIN)
304 316
305 // The View expects to be returned a valid route_id different from its own. 317 // The View expects to be returned a valid route_id different from its own.
306 void MockRenderThread::OnCreateWindow( 318 void MockRenderThread::OnCreateWindow(
307 const mojom::CreateNewWindowParams& params, 319 const mojom::CreateNewWindowParams& params,
308 mojom::CreateNewWindowReply* reply) { 320 mojom::CreateNewWindowReply* reply) {
309 reply->route_id = new_window_routing_id_; 321 reply->route_id = new_window_routing_id_;
310 reply->main_frame_route_id = new_window_main_frame_routing_id_; 322 reply->main_frame_route_id = new_window_main_frame_routing_id_;
311 reply->main_frame_widget_route_id = new_window_main_frame_widget_routing_id_; 323 reply->main_frame_widget_route_id = new_window_main_frame_widget_routing_id_;
312 reply->cloned_session_storage_namespace_id = 0; 324 reply->cloned_session_storage_namespace_id = 0;
313 } 325 }
314 326
315 } // namespace content 327 } // namespace content
OLDNEW
« no previous file with comments | « content/public/test/mock_render_thread.h ('k') | content/renderer/render_view_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698