| Index: ui/gl/gl_surface_glx.h
|
| diff --git a/ui/gl/gl_surface_glx.h b/ui/gl/gl_surface_glx.h
|
| index 355b65d1c45e71a2b6ba1450cbaef9cbbad5b1a7..8e7bd1c0c784ff4a75ce61720f97998f5044c309 100644
|
| --- a/ui/gl/gl_surface_glx.h
|
| +++ b/ui/gl/gl_surface_glx.h
|
| @@ -69,9 +69,41 @@ class GL_EXPORT NativeViewGLSurfaceGLX : public GLSurfaceGLX {
|
| NativeViewGLSurfaceGLX();
|
| virtual ~NativeViewGLSurfaceGLX();
|
|
|
| - gfx::AcceleratedWidget window_;
|
| -
|
| private:
|
| + // The handle for the drawable to make current or swap.
|
| + gfx::AcceleratedWidget GetDrawableHandle() const;
|
| +
|
| + // Window passed in at creation. Always valid.
|
| + gfx::AcceleratedWidget parent_window_;
|
| +
|
| +#if defined(TOOLKIT_GTK)
|
| + // Some NVIDIA drivers don't allow deleting GLX windows separately from their
|
| + // parent X windows. Work around this by creating a child X window to the
|
| + // window passed in to the constructor, creating the GLX window against the
|
| + // child window, and then destroying the child window to destroy the GLX
|
| + // window.
|
| + // http://crbug.com/145600
|
| + void CreateChildWindow();
|
| + void DestroyChildWindow();
|
| +
|
| + // Destroy the child window when both the front and back buffers are
|
| + // deallocated.
|
| + virtual bool SetBackbufferAllocation(bool allocated) OVERRIDE;
|
| + virtual void SetFrontbufferAllocation(bool allocated) OVERRIDE;
|
| + void AdjustBufferAllocation();
|
| +
|
| + // Child window which is used with GLX, and is discarded when it is
|
| + // backgrounded.
|
| + gfx::AcceleratedWidget child_window_;
|
| +
|
| + // Dummy 1x1 window which is supplied to glXMakeCurrent when making
|
| + // the context current while its output surface is destroyed.
|
| + gfx::AcceleratedWidget dummy_window_;
|
| +
|
| + bool backbuffer_allocated_;
|
| + bool frontbuffer_allocated_;
|
| +#endif
|
| +
|
| void* config_;
|
| gfx::Size size_;
|
|
|
|
|