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

Side by Side Diff: content/shell/renderer/layout_test/layout_test_render_frame_observer.cc

Issue 2594913002: Replace IPC messages in layout_test_render_frame_observer. (Closed)
Patch Set: Clean up map Created 3 years, 11 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
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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/shell/renderer/layout_test/layout_test_render_frame_observer.h " 5 #include "content/shell/renderer/layout_test/layout_test_render_frame_observer.h "
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "components/test_runner/web_test_interfaces.h" 9 #include "components/test_runner/web_test_interfaces.h"
10 #include "components/test_runner/web_test_runner.h" 10 #include "components/test_runner/web_test_runner.h"
11 #include "content/public/common/associated_interface_registry.h"
11 #include "content/public/renderer/render_frame.h" 12 #include "content/public/renderer/render_frame.h"
12 #include "content/shell/common/shell_messages.h" 13 #include "content/shell/common/shell_messages.h"
13 #include "content/shell/renderer/layout_test/blink_test_runner.h" 14 #include "content/shell/renderer/layout_test/blink_test_runner.h"
14 #include "content/shell/renderer/layout_test/layout_test_render_thread_observer. h" 15 #include "content/shell/renderer/layout_test/layout_test_render_thread_observer. h"
15 #include "ipc/ipc_message_macros.h" 16 #include "ipc/ipc_message_macros.h"
16 #include "third_party/WebKit/public/web/WebLocalFrame.h" 17 #include "third_party/WebKit/public/web/WebLocalFrame.h"
17 18
18 namespace content { 19 namespace content {
19 20
20 LayoutTestRenderFrameObserver::LayoutTestRenderFrameObserver( 21 LayoutTestRenderFrameObserver::LayoutTestRenderFrameObserver(
21 RenderFrame* render_frame) 22 RenderFrame* render_frame)
22 : RenderFrameObserver(render_frame) { 23 : RenderFrameObserver(render_frame), binding_(this) {
23 render_frame->GetWebFrame()->setContentSettingsClient( 24 render_frame->GetWebFrame()->setContentSettingsClient(
24 LayoutTestRenderThreadObserver::GetInstance() 25 LayoutTestRenderThreadObserver::GetInstance()
25 ->test_interfaces() 26 ->test_interfaces()
26 ->TestRunner() 27 ->TestRunner()
27 ->GetWebContentSettings()); 28 ->GetWebContentSettings());
29 render_frame->GetAssociatedInterfaceRegistry()->AddInterface(
30 base::Bind(&LayoutTestRenderFrameObserver::BindRequest,
31 base::Unretained(this)));
28 } 32 }
29 33
30 bool LayoutTestRenderFrameObserver::OnMessageReceived( 34 LayoutTestRenderFrameObserver::~LayoutTestRenderFrameObserver() {}
tibell 2017/01/19 00:29:54 Nit: I believe LayoutTestRenderFrameObserver::~La
Jia 2017/01/20 01:52:15 Done.
31 const IPC::Message& message) {
32 bool handled = true;
33 IPC_BEGIN_MESSAGE_MAP(LayoutTestRenderFrameObserver, message)
34 IPC_MESSAGE_HANDLER(ShellViewMsg_LayoutDumpRequest, OnLayoutDumpRequest)
35 IPC_MESSAGE_HANDLER(ShellViewMsg_ReplicateTestConfiguration,
36 OnReplicateTestConfiguration)
37 IPC_MESSAGE_HANDLER(ShellViewMsg_SetTestConfiguration,
38 OnSetTestConfiguration)
39 IPC_MESSAGE_HANDLER(ShellViewMsg_SetupSecondaryRenderer,
40 OnSetupSecondaryRenderer)
41 IPC_MESSAGE_UNHANDLED(handled = false)
42 IPC_END_MESSAGE_MAP()
43 35
44 return handled; 36 void LayoutTestRenderFrameObserver::BindRequest(
37 mojom::ShellViewAssociatedRequest request) {
38 binding_.Bind(std::move(request));
45 } 39 }
46 40
47 void LayoutTestRenderFrameObserver::OnDestruct() { 41 void LayoutTestRenderFrameObserver::OnDestruct() {
48 delete this; 42 delete this;
49 } 43 }
50 44
51 void LayoutTestRenderFrameObserver::OnLayoutDumpRequest() { 45 void LayoutTestRenderFrameObserver::LayoutDumpRequest() {
52 std::string dump = 46 std::string dump =
53 LayoutTestRenderThreadObserver::GetInstance() 47 LayoutTestRenderThreadObserver::GetInstance()
54 ->test_interfaces() 48 ->test_interfaces()
55 ->TestRunner() 49 ->TestRunner()
56 ->DumpLayout(render_frame()->GetWebFrame()); 50 ->DumpLayout(render_frame()->GetWebFrame());
57 Send(new ShellViewHostMsg_LayoutDumpResponse(routing_id(), dump)); 51 Send(new ShellViewHostMsg_LayoutDumpResponse(routing_id(), dump));
58 } 52 }
59 53
60 void LayoutTestRenderFrameObserver::OnReplicateTestConfiguration( 54 void LayoutTestRenderFrameObserver::ReplicateTestConfiguration(
61 const ShellTestConfiguration& test_config) { 55 const ShellTestConfiguration& test_config) {
62 BlinkTestRunner::Get(render_frame()->GetRenderView()) 56 BlinkTestRunner::Get(render_frame()->GetRenderView())
63 ->OnReplicateTestConfiguration(test_config); 57 ->OnReplicateTestConfiguration(test_config);
64 } 58 }
65 59
66 void LayoutTestRenderFrameObserver::OnSetTestConfiguration( 60 void LayoutTestRenderFrameObserver::SetTestConfiguration(
67 const ShellTestConfiguration& test_config) { 61 const ShellTestConfiguration& test_config) {
68 BlinkTestRunner::Get(render_frame()->GetRenderView()) 62 BlinkTestRunner::Get(render_frame()->GetRenderView())
69 ->OnSetTestConfiguration(test_config); 63 ->OnSetTestConfiguration(test_config);
70 } 64 }
71 65
72 void LayoutTestRenderFrameObserver::OnSetupSecondaryRenderer() { 66 void LayoutTestRenderFrameObserver::SetupSecondaryRenderer() {
73 BlinkTestRunner::Get(render_frame()->GetRenderView()) 67 BlinkTestRunner::Get(render_frame()->GetRenderView())
74 ->OnSetupSecondaryRenderer(); 68 ->OnSetupSecondaryRenderer();
75 } 69 }
76 70
77 } // namespace content 71 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698