Index: gpu/gles2_conform_support/egl/surface.h |
diff --git a/gpu/gles2_conform_support/egl/surface.h b/gpu/gles2_conform_support/egl/surface.h |
index 3db553efe566c17a753e4a6b4350f6112be3785b..3f429bd8096747041f197633e786957ccace833a 100644 |
--- a/gpu/gles2_conform_support/egl/surface.h |
+++ b/gpu/gles2_conform_support/egl/surface.h |
@@ -8,19 +8,31 @@ |
#include <EGL/egl.h> |
#include "base/macros.h" |
- |
+#include "base/memory/ref_counted.h" |
+namespace gfx { |
+class GLSurface; |
+} |
namespace egl { |
+class Config; |
-class Surface { |
+class Surface : public base::RefCountedThreadSafe<Surface> { |
public: |
- explicit Surface(EGLNativeWindowType win); |
- ~Surface(); |
- |
- EGLNativeWindowType window() { return window_; } |
+ explicit Surface(gfx::GLSurface* gl_surface, const Config* config); |
+ void set_is_current_in_some_thread(bool flag) { |
+ is_current_in_some_thread_ = flag; |
+ } |
+ bool is_current_in_some_thread() const { return is_current_in_some_thread_; } |
+ gfx::GLSurface* gl_surface() const; |
+ const Config* config() const; |
+ static bool ValidatePbufferAttributeList(const EGLint* attrib_list); |
+ static bool ValidateWindowAttributeList(const EGLint* attrib_list); |
private: |
- EGLNativeWindowType window_; |
- |
+ friend class base::RefCountedThreadSafe<Surface>; |
+ ~Surface(); |
+ bool is_current_in_some_thread_; |
+ scoped_refptr<gfx::GLSurface> gl_surface_; |
+ const Config* config_; |
DISALLOW_COPY_AND_ASSIGN(Surface); |
}; |