| Index: content/test/layouttest_support.cc
|
| diff --git a/content/test/layouttest_support.cc b/content/test/layouttest_support.cc
|
| index 760914279f22134ba3dd54854eaaf88f8ef7a49c..5ec52f637b519467b6ddf013663c7ba3cf6cd587 100644
|
| --- a/content/test/layouttest_support.cc
|
| +++ b/content/test/layouttest_support.cc
|
| @@ -59,21 +59,28 @@
|
|
|
| namespace {
|
|
|
| -base::LazyInstance<ViewProxyCreationCallback>::Leaky
|
| - g_view_test_proxy_callback = LAZY_INSTANCE_INITIALIZER;
|
| -
|
| -base::LazyInstance<FrameProxyCreationCallback>::Leaky
|
| - g_frame_test_proxy_callback = LAZY_INSTANCE_INITIALIZER;
|
| +base::LazyInstance<
|
| + base::Callback<void(RenderView*, test_runner::WebTestProxyBase*)>>::Leaky
|
| + g_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_view_test_proxy_callback == 0)
|
| + if (g_callback == 0)
|
| return render_view_proxy;
|
| - g_view_test_proxy_callback.Get().Run(render_view_proxy, render_view_proxy);
|
| + g_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(
|
| @@ -82,9 +89,8 @@
|
| RenderFrameImpl, const RenderFrameImpl::CreateParams&> FrameProxy;
|
|
|
| FrameProxy* render_frame_proxy = new FrameProxy(params);
|
| - if (g_frame_test_proxy_callback == 0)
|
| - return render_frame_proxy;
|
| - g_frame_test_proxy_callback.Get().Run(render_frame_proxy, render_frame_proxy);
|
| + render_frame_proxy->set_base_proxy(GetWebTestProxyBase(params.render_view));
|
| +
|
| return render_frame_proxy;
|
| }
|
|
|
| @@ -107,10 +113,9 @@
|
| } // namespace
|
|
|
| void EnableWebTestProxyCreation(
|
| - 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;
|
| + const base::Callback<void(RenderView*, test_runner::WebTestProxyBase*)>&
|
| + callback) {
|
| + g_callback.Get() = callback;
|
| RenderViewImpl::InstallCreateHook(CreateWebTestProxy);
|
| RenderFrameImpl::InstallCreateHook(CreateWebFrameTestProxy);
|
| }
|
|
|