| Index: content/test/test_render_view_host.cc
|
| diff --git a/content/test/test_render_view_host.cc b/content/test/test_render_view_host.cc
|
| index ec9bea112b4c9ee1cb0d779b980a6ac530254a91..7f59729fe37b5e37ea2d061dc7e163ec9983122d 100644
|
| --- a/content/test/test_render_view_host.cc
|
| +++ b/content/test/test_render_view_host.cc
|
| @@ -33,6 +33,10 @@
|
| #include "ui/compositor/compositor.h"
|
| #include "ui/gfx/geometry/rect.h"
|
|
|
| +#if defined(OS_ANDROID)
|
| +#include "content/browser/renderer_host/context_provider_factory_impl_android.h"
|
| +#endif
|
| +
|
| namespace content {
|
|
|
| void InitNavigateParams(FrameHostMsg_DidCommitProvisionalLoad_Params* params,
|
| @@ -63,10 +67,13 @@ TestRenderWidgetHostView::TestRenderWidgetHostView(RenderWidgetHost* rwh)
|
| is_occluded_(false),
|
| did_swap_compositor_frame_(false) {
|
| #if defined(OS_ANDROID)
|
| - surface_id_allocator_.reset(
|
| - new cc::SurfaceIdAllocator(AllocateSurfaceClientId()));
|
| - GetSurfaceManager()->RegisterSurfaceClientId(
|
| - surface_id_allocator_->client_id());
|
| + // Not all tests initialize or need a context provider factory.
|
| + if (ContextProviderFactoryImpl::GetInstance()) {
|
| + surface_id_allocator_.reset(
|
| + new cc::SurfaceIdAllocator(AllocateSurfaceClientId()));
|
| + GetSurfaceManager()->RegisterSurfaceClientId(
|
| + surface_id_allocator_->client_id());
|
| + }
|
| #else
|
| // Not all tests initialize or need an image transport factory.
|
| if (ImageTransportFactory::GetInstance()) {
|
| @@ -81,9 +88,15 @@ TestRenderWidgetHostView::TestRenderWidgetHostView(RenderWidgetHost* rwh)
|
| }
|
|
|
| TestRenderWidgetHostView::~TestRenderWidgetHostView() {
|
| - if (GetSurfaceManager()) {
|
| - GetSurfaceManager()->InvalidateSurfaceClientId(
|
| - surface_id_allocator_->client_id());
|
| + cc::SurfaceManager* manager = nullptr;
|
| +#if defined(OS_ANDROID)
|
| + if (ContextProviderFactoryImpl::GetInstance())
|
| + manager = GetSurfaceManager();
|
| +#else
|
| + manager = GetSurfaceManager();
|
| +#endif
|
| + if (manager) {
|
| + manager->InvalidateSurfaceClientId(surface_id_allocator_->client_id());
|
| }
|
| }
|
|
|
|
|