| Index: content/renderer/gpu/webgraphicscontext3d_command_buffer_impl.cc
|
| ===================================================================
|
| --- content/renderer/gpu/webgraphicscontext3d_command_buffer_impl.cc (revision 97492)
|
| +++ content/renderer/gpu/webgraphicscontext3d_command_buffer_impl.cc (working copy)
|
| @@ -38,7 +38,9 @@
|
| WebGraphicsContext3DCommandBufferImpl::WebGraphicsContext3DCommandBufferImpl()
|
| : context_(NULL),
|
| gl_(NULL),
|
| +#ifndef WTF_USE_THREADED_COMPOSITING
|
| web_view_(NULL),
|
| +#endif
|
| #if defined(OS_MACOSX)
|
| plugin_handle_(NULL),
|
| #endif // defined(OS_MACOSX)
|
| @@ -123,12 +125,14 @@
|
| NULL : (*g_all_contexts.Pointer()->begin())->context_;
|
| }
|
|
|
| + render_directly_to_web_view_ = render_directly_to_web_view;
|
| if (render_directly_to_web_view) {
|
| +#ifndef WTF_USE_THREADED_COMPOSITING
|
| RenderView* renderview = RenderView::FromWebView(web_view);
|
| if (!renderview)
|
| return false;
|
| -
|
| web_view_ = web_view;
|
| +#endif
|
| context_ = RendererGLContext::CreateViewContext(
|
| host,
|
| renderview->routing_id(),
|
| @@ -151,7 +155,9 @@
|
| preferred_extensions,
|
| attribs,
|
| active_url);
|
| +#ifndef WTF_USE_THREADED_COMPOSITING
|
| web_view_ = NULL;
|
| +#endif
|
| }
|
| if (!context_)
|
| return false;
|
| @@ -222,10 +228,12 @@
|
| void WebGraphicsContext3DCommandBufferImpl::prepareTexture() {
|
| // Copies the contents of the off-screen render target into the texture
|
| // used by the compositor.
|
| +#ifndef WTF_USE_THREADED_COMPOSITING
|
| RenderView* renderview =
|
| web_view_ ? RenderView::FromWebView(web_view_) : NULL;
|
| if (renderview)
|
| renderview->OnViewContextSwapBuffersPosted();
|
| +#endif
|
| context_->SwapBuffers();
|
| }
|
|
|
| @@ -233,7 +241,7 @@
|
| cached_width_ = width;
|
| cached_height_ = height;
|
|
|
| - if (web_view_) {
|
| + if (render_directly_to_web_view_) {
|
| #if defined(OS_MACOSX)
|
| context_->ResizeOnscreen(gfx::Size(width, height));
|
| #else
|
| @@ -1004,11 +1012,13 @@
|
| }
|
|
|
| void WebGraphicsContext3DCommandBufferImpl::OnSwapBuffersComplete() {
|
| +#ifndef WTF_USE_THREADED_COMPOSITING
|
| // This may be called after tear-down of the RenderView.
|
| RenderView* renderview =
|
| web_view_ ? RenderView::FromWebView(web_view_) : NULL;
|
| if (renderview)
|
| renderview->OnViewContextSwapBuffersComplete();
|
| +#endif
|
| if (swapbuffers_complete_callback_)
|
| swapbuffers_complete_callback_->onSwapBuffersComplete();
|
| }
|
| @@ -1057,11 +1067,12 @@
|
| if (context_lost_callback_) {
|
| context_lost_callback_->onContextLost();
|
| }
|
| -
|
| +#ifndef WTF_USE_THREADED_COMPOSITING
|
| RenderView* renderview =
|
| web_view_ ? RenderView::FromWebView(web_view_) : NULL;
|
| if (renderview)
|
| renderview->OnViewContextSwapBuffersAborted();
|
| +#endif
|
| }
|
|
|
| #endif // defined(ENABLE_GPU)
|
|
|