OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "config.h" | 5 #include "config.h" |
6 | 6 |
7 #include "modules/webgl/WebGLSync.h" | 7 #include "modules/webgl/WebGLSync.h" |
8 | 8 |
9 #include "modules/webgl/WebGL2RenderingContextBase.h" | 9 #include "modules/webgl/WebGL2RenderingContextBase.h" |
10 | 10 |
11 namespace blink { | 11 namespace blink { |
12 | 12 |
13 WebGLSync::~WebGLSync() | 13 WebGLSync::~WebGLSync() |
14 { | 14 { |
15 // Always call detach here to ensure that platform object deletion | 15 // Call detach here to ensure that platform object deletion happens. |
16 // happens with Oilpan enabled. It keeps the code regular to do it | |
17 // with or without Oilpan enabled. | |
18 // | 16 // |
19 // See comment in WebGLBuffer's destructor for additional | 17 // See comment in WebGLBuffer's destructor for additional |
20 // information on why this is done for WebGLSharedObject-derived | 18 // information on why this is done for WebGLSharedObject-derived |
21 // objects. | 19 // objects. |
22 detachAndDeleteObject(); | 20 detachAndDeleteObject(); |
23 } | 21 } |
24 | 22 |
25 WebGLSync::WebGLSync(WebGL2RenderingContextBase* ctx, WGC3Dsync object, GLenum o
bjectType) | 23 WebGLSync::WebGLSync(WebGL2RenderingContextBase* ctx, WGC3Dsync object, GLenum o
bjectType) |
26 : WebGLSharedObject(ctx) | 24 : WebGLSharedObject(ctx) |
27 , m_object(object) | 25 , m_object(object) |
28 , m_objectType(objectType) | 26 , m_objectType(objectType) |
29 { | 27 { |
30 } | 28 } |
31 | 29 |
32 void WebGLSync::deleteObjectImpl(WebGraphicsContext3D* context3d) | 30 void WebGLSync::deleteObjectImpl(WebGraphicsContext3D* context3d) |
33 { | 31 { |
34 context3d->deleteSync(m_object); | 32 context3d->deleteSync(m_object); |
35 m_object = 0; | 33 m_object = 0; |
36 } | 34 } |
37 | 35 |
38 } // namespace blink | 36 } // namespace blink |
OLD | NEW |