Index: android_webview/browser/hardware_renderer.cc |
diff --git a/android_webview/browser/hardware_renderer.cc b/android_webview/browser/hardware_renderer.cc |
index fc5f4d69992ea0003132f3c8716886e69e9464e5..eb048a5a4697a1e83a4f6b83b138eb9b5c666f84 100644 |
--- a/android_webview/browser/hardware_renderer.cc |
+++ b/android_webview/browser/hardware_renderer.cc |
@@ -6,6 +6,7 @@ |
#include "android_webview/browser/aw_gl_surface.h" |
#include "android_webview/browser/child_frame.h" |
+#include "android_webview/browser/context_provider_in_process.h" |
#include "android_webview/browser/deferred_gpu_command_service.h" |
#include "android_webview/browser/parent_compositor_draw_constraints.h" |
#include "android_webview/browser/parent_output_surface.h" |
@@ -22,7 +23,6 @@ |
#include "cc/scheduler/begin_frame_source.h" |
#include "cc/trees/layer_tree_host.h" |
#include "cc/trees/layer_tree_settings.h" |
-#include "gpu/blink/webgraphicscontext3d_in_process_command_buffer_impl.h" |
#include "gpu/command_buffer/client/gl_in_process_context.h" |
#include "gpu/command_buffer/common/gles2_cmd_utils.h" |
#include "ui/gfx/frame_time.h" |
@@ -30,54 +30,9 @@ |
#include "ui/gfx/geometry/rect_f.h" |
#include "ui/gfx/transform.h" |
#include "ui/gl/gl_bindings.h" |
-#include "webkit/common/gpu/context_provider_in_process.h" |
namespace android_webview { |
-namespace { |
- |
-using gpu_blink::WebGraphicsContext3DImpl; |
-using gpu_blink::WebGraphicsContext3DInProcessCommandBufferImpl; |
- |
-scoped_refptr<cc::ContextProvider> CreateContext( |
- scoped_refptr<gfx::GLSurface> surface, |
- scoped_refptr<gpu::InProcessCommandBuffer::Service> service) { |
- const gfx::GpuPreference gpu_preference = gfx::PreferDiscreteGpu; |
- |
- blink::WebGraphicsContext3D::Attributes attributes; |
- attributes.antialias = false; |
- attributes.depth = false; |
- attributes.stencil = false; |
- attributes.shareResources = true; |
- attributes.noAutomaticFlushes = true; |
- gpu::gles2::ContextCreationAttribHelper attribs_for_gles2; |
- WebGraphicsContext3DImpl::ConvertAttributes( |
- attributes, &attribs_for_gles2); |
- attribs_for_gles2.lose_context_when_out_of_memory = true; |
- |
- scoped_ptr<gpu::GLInProcessContext> context(gpu::GLInProcessContext::Create( |
- service, |
- surface, |
- surface->IsOffscreen(), |
- gfx::kNullAcceleratedWidget, |
- surface->GetSize(), |
- NULL /* share_context */, |
- false /* share_resources */, |
- attribs_for_gles2, |
- gpu_preference, |
- gpu::GLInProcessContextSharedMemoryLimits(), |
- nullptr, |
- nullptr)); |
- DCHECK(context.get()); |
- |
- return webkit::gpu::ContextProviderInProcess::Create( |
- WebGraphicsContext3DInProcessCommandBufferImpl::WrapContext( |
- context.Pass(), attributes), |
- "Parent-Compositor"); |
-} |
- |
-} // namespace |
- |
HardwareRenderer::HardwareRenderer(SharedRendererState* state) |
: shared_renderer_state_(state), |
last_egl_context_(eglGetCurrentContext()), |
@@ -240,8 +195,9 @@ void HardwareRenderer::DrawGL(bool stencil_enabled, |
void HardwareRenderer::RequestNewOutputSurface() { |
scoped_refptr<cc::ContextProvider> context_provider = |
- CreateContext(gl_surface_, |
- DeferredGpuCommandService::GetInstance()); |
+ ContextProviderInProcess::Create(gl_surface_, |
+ DeferredGpuCommandService::GetInstance(), |
+ "Parent-Compositor"); |
scoped_ptr<ParentOutputSurface> output_surface_holder( |
new ParentOutputSurface(context_provider)); |
output_surface_ = output_surface_holder.get(); |