Chromium Code Reviews| Index: Source/core/html/canvas/WebGLSharedWebGraphicsContext3D.h |
| diff --git a/Source/core/html/canvas/WebGLSharedWebGraphicsContext3D.h b/Source/core/html/canvas/WebGLSharedWebGraphicsContext3D.h |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..fe8dc4f6d96aec6072b5fe21a0da1181afdb3707 |
| --- /dev/null |
| +++ b/Source/core/html/canvas/WebGLSharedWebGraphicsContext3D.h |
| @@ -0,0 +1,50 @@ |
| +// Copyright 2014 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +#ifndef WebGLSharedWebGraphicsContext3D_h |
| +#define WebGLSharedWebGraphicsContext3D_h |
| + |
| +#include "wtf/Forward.h" |
| +#include "wtf/RefCounted.h" |
| +#include "wtf/RefPtr.h" |
| + |
| +namespace blink { |
| + |
| +class WebGraphicsContext3D; |
| +class DrawingBuffer; |
| + |
| +#if ENABLE(OILPAN) |
| +// The attached WebGLContextObjects are finalized using the |
| +// blink::WebGraphicsContext3D object of this object's DrawingBuffer. |
| +// Naturally the DrawingBuffer must then be kept alive until those |
| +// finalizers have run. With Oilpan, accomplish that by having the |
| +// WebGLContextObjects keep a RefPtr<> to an off-heap object that |
| +// safely handles the eventual release of the underlying |
| +// DrawingBuffer. |
| +class WebGLSharedWebGraphicsContext3D FINAL : public RefCounted<WebGLSharedWebGraphicsContext3D> { |
| +public: |
| + static PassRefPtr<WebGLSharedWebGraphicsContext3D> create(PassRefPtr<DrawingBuffer>); |
| + |
| + ~WebGLSharedWebGraphicsContext3D(); |
| + |
| + // Disposing and updating the underlying DrawingBuffer; |
| + // needed when handling loss and restoration of graphics contexts. |
| + void dispose(); |
| + void update(PassRefPtr<DrawingBuffer>); |
| + |
| + DrawingBuffer* drawingBuffer() const; |
| + |
| + blink::WebGraphicsContext3D* webContext() const; |
| +private: |
| + explicit WebGLSharedWebGraphicsContext3D(PassRefPtr<DrawingBuffer>); |
| + |
| + RefPtr<DrawingBuffer> m_buffer; |
| +}; |
| +#endif |
| + |
| + |
| + |
|
haraken
2014/07/22 03:46:10
Unnecessary empty lines.
sof
2014/07/22 06:15:21
Removed.
|
| +} |
| + |
| +#endif // WebGLSharedWebGraphicsContext3D_h |