Index: Source/core/dom/SimpleLifecycleContext.h |
diff --git a/Source/core/html/canvas/WebGLContextObject.h b/Source/core/dom/SimpleLifecycleContext.h |
similarity index 59% |
copy from Source/core/html/canvas/WebGLContextObject.h |
copy to Source/core/dom/SimpleLifecycleContext.h |
index 1e4d29657542e6edad0615290fffeb2f6e308a98..6557ec746f93264cfffefd7388e8a3ea7965ff47 100644 |
--- a/Source/core/html/canvas/WebGLContextObject.h |
+++ b/Source/core/dom/SimpleLifecycleContext.h |
@@ -1,5 +1,6 @@ |
+ |
/* |
- * Copyright (C) 2011 Apple Inc. All rights reserved. |
+ * Copyright (C) 2013 Google Inc. All Rights Reserved. |
* |
* Redistribution and use in source and binary forms, with or without |
* modification, are permitted provided that the following conditions |
@@ -21,47 +22,44 @@ |
* OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
+ * |
*/ |
-#ifndef WebGLContextObject_h |
-#define WebGLContextObject_h |
+#ifndef SimpleLifecycleContext_h |
+#define SimpleLifecycleContext_h |
-#include "core/html/canvas/WebGLObject.h" |
+#include "core/dom/SimpleLifecycleObserver.h" |
+#include "wtf/HashSet.h" |
+#include "wtf/OwnPtr.h" |
+#include "wtf/PassOwnPtr.h" |
namespace WebCore { |
-class GraphicsContext3D; |
-class WebGLRenderingContext; |
+class SimpleLifecycleNotifier; |
+class SimpleLifecycleObserver; |
-// WebGLContextObject the base class for objects that are owned by a specific |
-// WebGLRenderingContext. |
-class WebGLContextObject : public WebGLObject { |
+class SimpleLifecycleContext { |
public: |
- virtual ~WebGLContextObject(); |
+ SimpleLifecycleContext(); |
+ virtual ~SimpleLifecycleContext(); |
- WebGLRenderingContext* context() const { return m_context; } |
+ virtual bool isContextThread() const { return true; } |
- virtual bool validate(const WebGLContextGroup*, const WebGLRenderingContext* context) const |
- { |
- return context == m_context; |
- } |
+ // Called from the constructor of observers. |
+ void wasObservedBy(SimpleLifecycleObserver*, SimpleLifecycleObserver::Type); |
- void detachContext(); |
+ // Called from the destructor of observers. |
+ void wasUnobservedBy(SimpleLifecycleObserver*, SimpleLifecycleObserver::Type); |
protected: |
- WebGLContextObject(WebGLRenderingContext*); |
- |
- virtual bool hasGroupOrContext() const |
- { |
- return m_context; |
- } |
- |
- virtual GraphicsContext3D* getAGraphicsContext3D() const; |
+ SimpleLifecycleNotifier* lifecycleNotifier(); |
private: |
- WebGLRenderingContext* m_context; |
+ virtual PassOwnPtr<SimpleLifecycleNotifier> createLifecycleNotifier(); |
+ |
+ OwnPtr<SimpleLifecycleNotifier> m_lifecycleNotifier; |
}; |
} // namespace WebCore |
-#endif // WebGLContextObject_h |
+#endif // SimpleLifecycleContext_h |