Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / content / browser / renderer_host / compositing_iosurface_context_mac.h
index f65c3c4..5468da2 100644 (file)
 #include "base/mac/scoped_nsobject.h"
 #include "base/memory/ref_counted.h"
 #include "base/memory/scoped_ptr.h"
+#include "content/public/browser/gpu_data_manager_observer.h"
 #include "ui/gl/scoped_cgl.h"
 
 namespace content {
 
-enum CoreAnimationStatus {
-  CORE_ANIMATION_DISABLED,
-  CORE_ANIMATION_ENABLED,
-};
-CoreAnimationStatus GetCoreAnimationStatus();
-
-class CompositingIOSurfaceShaderPrograms;
-
 class CompositingIOSurfaceContext
-    : public base::RefCounted<CompositingIOSurfaceContext> {
+    : public base::RefCounted<CompositingIOSurfaceContext>,
+      public content::GpuDataManagerObserver {
  public:
   enum {
     // The number used to look up the context used for async readback and for
@@ -50,42 +44,28 @@ class CompositingIOSurfaceContext
   void PoisonContextAndSharegroup();
   bool HasBeenPoisoned() const { return poisoned_; }
 
-  CompositingIOSurfaceShaderPrograms* shader_program_cache() const {
-    return shader_program_cache_.get();
-  }
-  NSOpenGLContext* nsgl_context() const;
   CGLContextObj cgl_context() const { return cgl_context_; }
-  bool is_vsync_disabled() const { return is_vsync_disabled_; }
   int window_number() const { return window_number_; }
 
-  bool IsVendorIntel();
+  // content::GpuDataManagerObserver implementation.
+  virtual void OnGpuSwitching() OVERRIDE;
 
  private:
   friend class base::RefCounted<CompositingIOSurfaceContext>;
 
   CompositingIOSurfaceContext(
       int window_number,
-      NSOpenGLContext* nsgl_context,
       base::ScopedTypeRef<CGLContextObj> clg_context_strong,
-      CGLContextObj clg_context,
-      bool is_vsync_disabled_,
-      scoped_ptr<CompositingIOSurfaceShaderPrograms> shader_program_cache);
-  ~CompositingIOSurfaceContext();
+      CGLContextObj clg_context);
+  virtual ~CompositingIOSurfaceContext();
 
   int window_number_;
-  base::scoped_nsobject<NSOpenGLContext> nsgl_context_;
   base::ScopedTypeRef<CGLContextObj> cgl_context_strong_;
-  // Weak, backed by |nsgl_context_| or |cgl_context_strong_|.
+  // Weak, backed by |cgl_context_strong_|.
   CGLContextObj cgl_context_;
 
-  bool is_vsync_disabled_;
-  scoped_ptr<CompositingIOSurfaceShaderPrograms> shader_program_cache_;
   bool poisoned_;
 
-  bool initialized_is_intel_;
-  bool is_intel_;
-  GLint screen_;
-
   // The global map from window number and window ordering to
   // context data.
   typedef std::map<int, CompositingIOSurfaceContext*> WindowMap;