Index: content/test/layouttest_support.cc |
diff --git a/content/test/layouttest_support.cc b/content/test/layouttest_support.cc |
index 5ec52f637b519467b6ddf013663c7ba3cf6cd587..760914279f22134ba3dd54854eaaf88f8ef7a49c 100644 |
--- a/content/test/layouttest_support.cc |
+++ b/content/test/layouttest_support.cc |
@@ -59,38 +59,32 @@ namespace content { |
namespace { |
-base::LazyInstance< |
- base::Callback<void(RenderView*, test_runner::WebTestProxyBase*)>>::Leaky |
- g_callback = LAZY_INSTANCE_INITIALIZER; |
+base::LazyInstance<ViewProxyCreationCallback>::Leaky |
+ g_view_test_proxy_callback = LAZY_INSTANCE_INITIALIZER; |
+ |
+base::LazyInstance<FrameProxyCreationCallback>::Leaky |
+ g_frame_test_proxy_callback = LAZY_INSTANCE_INITIALIZER; |
RenderViewImpl* CreateWebTestProxy(CompositorDependencies* compositor_deps, |
const ViewMsg_New_Params& params) { |
typedef test_runner::WebTestProxy<RenderViewImpl, CompositorDependencies*, |
const ViewMsg_New_Params&> ProxyType; |
ProxyType* render_view_proxy = new ProxyType(compositor_deps, params); |
- if (g_callback == 0) |
+ if (g_view_test_proxy_callback == 0) |
return render_view_proxy; |
- g_callback.Get().Run(render_view_proxy, render_view_proxy); |
+ g_view_test_proxy_callback.Get().Run(render_view_proxy, render_view_proxy); |
return render_view_proxy; |
} |
-test_runner::WebTestProxyBase* GetWebTestProxyBase( |
- RenderViewImpl* render_view) { |
- typedef test_runner::WebTestProxy<RenderViewImpl, const ViewMsg_New_Params&> |
- ViewProxy; |
- |
- ViewProxy* render_view_proxy = static_cast<ViewProxy*>(render_view); |
- return static_cast<test_runner::WebTestProxyBase*>(render_view_proxy); |
-} |
- |
RenderFrameImpl* CreateWebFrameTestProxy( |
const RenderFrameImpl::CreateParams& params) { |
typedef test_runner::WebFrameTestProxy< |
RenderFrameImpl, const RenderFrameImpl::CreateParams&> FrameProxy; |
FrameProxy* render_frame_proxy = new FrameProxy(params); |
- render_frame_proxy->set_base_proxy(GetWebTestProxyBase(params.render_view)); |
- |
+ if (g_frame_test_proxy_callback == 0) |
+ return render_frame_proxy; |
+ g_frame_test_proxy_callback.Get().Run(render_frame_proxy, render_frame_proxy); |
return render_frame_proxy; |
} |
@@ -113,9 +107,10 @@ void RegisterSideloadedTypefaces(SkFontMgr* fontmgr) { |
} // namespace |
void EnableWebTestProxyCreation( |
- const base::Callback<void(RenderView*, test_runner::WebTestProxyBase*)>& |
- callback) { |
- g_callback.Get() = callback; |
+ const ViewProxyCreationCallback& view_proxy_creation_callback, |
+ const FrameProxyCreationCallback& frame_proxy_creation_callback) { |
+ g_view_test_proxy_callback.Get() = view_proxy_creation_callback; |
+ g_frame_test_proxy_callback.Get() = frame_proxy_creation_callback; |
RenderViewImpl::InstallCreateHook(CreateWebTestProxy); |
RenderFrameImpl::InstallCreateHook(CreateWebFrameTestProxy); |
} |