OLD | NEW |
---|---|
(Empty) | |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | |
2 // Use of this source code is governed by a BSD-style license that can be | |
3 // found in the LICENSE file. | |
4 | |
5 #ifndef WebGLSharedWebGraphicsContext3D_h | |
6 #define WebGLSharedWebGraphicsContext3D_h | |
7 | |
8 #include "wtf/Forward.h" | |
9 #include "wtf/RefCounted.h" | |
10 #include "wtf/RefPtr.h" | |
11 | |
12 namespace blink { | |
13 | |
14 class WebGraphicsContext3D; | |
15 class DrawingBuffer; | |
16 | |
17 #if ENABLE(OILPAN) | |
18 // The attached WebGLContextObjects are finalized using the | |
19 // blink::WebGraphicsContext3D object of this object's DrawingBuffer. | |
20 // Naturally the DrawingBuffer must then be kept alive until those | |
21 // finalizers have run. With Oilpan, accomplish that by having the | |
22 // WebGLContextObjects keep a RefPtr<> to an off-heap object that | |
23 // safely handles the eventual release of the underlying | |
24 // DrawingBuffer. | |
25 class WebGLSharedWebGraphicsContext3D FINAL : public RefCounted<WebGLSharedWebGr aphicsContext3D> { | |
26 public: | |
27 static PassRefPtr<WebGLSharedWebGraphicsContext3D> create(PassRefPtr<Drawing Buffer>); | |
28 | |
29 ~WebGLSharedWebGraphicsContext3D(); | |
30 | |
31 // Disposing and updating the underlying DrawingBuffer; | |
32 // needed when handling loss and restoration of graphics contexts. | |
33 void dispose(); | |
34 void update(PassRefPtr<DrawingBuffer>); | |
35 | |
36 DrawingBuffer* drawingBuffer() const; | |
37 | |
38 blink::WebGraphicsContext3D* webContext() const; | |
39 private: | |
40 explicit WebGLSharedWebGraphicsContext3D(PassRefPtr<DrawingBuffer>); | |
41 | |
42 RefPtr<DrawingBuffer> m_buffer; | |
43 }; | |
44 #endif | |
45 | |
46 | |
47 | |
haraken
2014/07/22 03:46:10
Unnecessary empty lines.
sof
2014/07/22 06:15:21
Removed.
| |
48 } | |
49 | |
50 #endif // WebGLSharedWebGraphicsContext3D_h | |
OLD | NEW |