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

Side by Side Diff: content/test/layouttest_support.cc

Issue 17068011: Revert "Implement WebFrameClient in RenderFrame and proxy all calls to RenderView (for now)." (r207… (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 6 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
« no previous file with comments | « content/renderer/render_view_impl.cc ('k') | no next file » | 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/layouttest_support.h" 5 #include "content/public/test/layouttest_support.h"
6 6
7 #include "base/callback.h" 7 #include "base/callback.h"
8 #include "base/lazy_instance.h" 8 #include "base/lazy_instance.h"
9 #include "content/browser/renderer_host/render_widget_host_impl.h" 9 #include "content/browser/renderer_host/render_widget_host_impl.h"
10 #include "content/common/gpu/image_transport_surface.h" 10 #include "content/common/gpu/image_transport_surface.h"
11 #include "content/renderer/render_thread_impl.h" 11 #include "content/renderer/render_thread_impl.h"
12 #include "content/renderer/render_view_impl.h" 12 #include "content/renderer/render_view_impl.h"
13 #include "content/renderer/renderer_webkitplatformsupport_impl.h" 13 #include "content/renderer/renderer_webkitplatformsupport_impl.h"
14 #include "third_party/WebKit/Tools/DumpRenderTree/chromium/TestRunner/public/Web FrameTestProxy.h" 14 #include "third_party/WebKit/public/platform/WebGamepads.h"
15 #include "third_party/WebKit/Tools/DumpRenderTree/chromium/TestRunner/public/Web TestProxy.h" 15 #include "third_party/WebKit/Tools/DumpRenderTree/chromium/TestRunner/public/Web TestProxy.h"
16 #include "third_party/WebKit/public/platform/WebGamepads.h"
17 16
18 #if defined(OS_WIN) && !defined(USE_AURA) 17 #if defined(OS_WIN) && !defined(USE_AURA)
19 #include "content/browser/web_contents/web_contents_drag_win.h" 18 #include "content/browser/web_contents/web_contents_drag_win.h"
20 #endif 19 #endif
21 20
22 #if defined(OS_MACOSX) 21 #if defined(OS_MACOSX)
23 #include "content/browser/renderer_host/popup_menu_helper_mac.h" 22 #include "content/browser/renderer_host/popup_menu_helper_mac.h"
24 #endif 23 #endif
25 24
26 using WebKit::WebGamepads; 25 using WebKit::WebGamepads;
27 using WebKit::WebRect; 26 using WebKit::WebRect;
28 using WebKit::WebSize; 27 using WebKit::WebSize;
29 using WebTestRunner::WebFrameTestProxy;
30 using WebTestRunner::WebTestProxy; 28 using WebTestRunner::WebTestProxy;
31 using WebTestRunner::WebTestProxyBase; 29 using WebTestRunner::WebTestProxyBase;
32 30
33 namespace content { 31 namespace content {
34 32
35 namespace { 33 namespace {
36 34
37 base::LazyInstance<base::Callback<void(RenderView*, WebTestProxyBase*)> >::Leaky 35 base::LazyInstance<base::Callback<void(RenderView*, WebTestProxyBase*)> >::Leaky
38 g_callback = LAZY_INSTANCE_INITIALIZER; 36 g_callback = LAZY_INSTANCE_INITIALIZER;
39 37
40 RenderViewImpl* CreateWebTestProxy(RenderViewImplParams* params) { 38 RenderViewImpl* CreateWebTestProxy(RenderViewImplParams* params) {
41 typedef WebTestProxy<RenderViewImpl, RenderViewImplParams*> ProxyType; 39 typedef WebTestProxy<RenderViewImpl, RenderViewImplParams*> ProxyType;
42 ProxyType* render_view_proxy = new ProxyType( 40 ProxyType* render_view_proxy = new ProxyType(
43 reinterpret_cast<RenderViewImplParams*>(params)); 41 reinterpret_cast<RenderViewImplParams*>(params));
44 if (g_callback == 0) 42 if (g_callback == 0)
45 return render_view_proxy; 43 return render_view_proxy;
46 g_callback.Get().Run( 44 g_callback.Get().Run(
47 static_cast<RenderView*>(render_view_proxy), render_view_proxy); 45 static_cast<RenderView*>(render_view_proxy), render_view_proxy);
48 return render_view_proxy; 46 return render_view_proxy;
49 } 47 }
50 48
51 RenderFrameImpl* CreateWebFrameTestProxy(
52 RenderViewImpl* render_view,
53 int32 routing_id) {
54 typedef WebTestProxy<RenderViewImpl, RenderViewImplParams*> ViewProxy;
55 typedef WebFrameTestProxy<RenderFrameImpl, RenderViewImpl*, int32> FrameProxy;
56
57 ViewProxy* render_view_proxy = static_cast<ViewProxy*>(render_view);
58 FrameProxy* render_frame_proxy = new FrameProxy(render_view, routing_id);
59 render_frame_proxy->setBaseProxy(render_view_proxy);
60 return render_frame_proxy;
61 }
62
63 } // namespace 49 } // namespace
64 50
65 51
66 void EnableWebTestProxyCreation( 52 void EnableWebTestProxyCreation(
67 const base::Callback<void(RenderView*, WebTestProxyBase*)>& callback) { 53 const base::Callback<void(RenderView*, WebTestProxyBase*)>& callback) {
68 g_callback.Get() = callback; 54 g_callback.Get() = callback;
69 RenderViewImpl::InstallCreateHook(CreateWebTestProxy); 55 RenderViewImpl::InstallCreateHook(CreateWebTestProxy);
70 RenderFrameImpl::InstallCreateHook(CreateWebFrameTestProxy);
71 } 56 }
72 57
73 void SetMockGamepads(const WebGamepads& pads) { 58 void SetMockGamepads(const WebGamepads& pads) {
74 RendererWebKitPlatformSupportImpl::SetMockGamepadsForTesting(pads); 59 RendererWebKitPlatformSupportImpl::SetMockGamepadsForTesting(pads);
75 } 60 }
76 61
77 void EnableRendererLayoutTestMode() { 62 void EnableRendererLayoutTestMode() {
78 RenderThreadImpl::current()->set_layout_test_mode(true); 63 RenderThreadImpl::current()->set_layout_test_mode(true);
79 } 64 }
80 65
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
126 void DisableAutoResizeMode(RenderView* render_view, const WebSize& new_size) { 111 void DisableAutoResizeMode(RenderView* render_view, const WebSize& new_size) {
127 static_cast<RenderViewImpl*>(render_view) 112 static_cast<RenderViewImpl*>(render_view)
128 ->DisableAutoResizeForTesting(new_size); 113 ->DisableAutoResizeForTesting(new_size);
129 } 114 }
130 115
131 scoped_refptr<base::MessageLoopProxy> GetMediaThreadMessageLoopProxy() { 116 scoped_refptr<base::MessageLoopProxy> GetMediaThreadMessageLoopProxy() {
132 return RenderThreadImpl::current()->GetMediaThreadMessageLoopProxy(); 117 return RenderThreadImpl::current()->GetMediaThreadMessageLoopProxy();
133 } 118 }
134 119
135 } // namespace content 120 } // namespace content
OLDNEW
« no previous file with comments | « content/renderer/render_view_impl.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698