Index: cc/texture_layer_client.h |
diff --git a/cc/texture_layer_client.h b/cc/texture_layer_client.h |
index 638cbb270ce9b24689d5095baf174ade4f4d1a13..4edbe9f5860ee010c32a90f0351a557379e49c15 100644 |
--- a/cc/texture_layer_client.h |
+++ b/cc/texture_layer_client.h |
@@ -1,3 +1,31 @@ |
// Copyright 2012 The Chromium Authors. All rights reserved. |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
+ |
+#ifndef TextureLayerChromiumClient_h |
+#define TextureLayerChromiumClient_h |
+ |
+namespace WebKit { |
+class WebGraphicsContext3D; |
+} |
+ |
+namespace cc { |
+class CCTextureUpdateQueue; |
+ |
+class TextureLayerChromiumClient { |
+public: |
+ // Called to prepare this layer's texture for compositing. The client may queue a texture |
+ // upload or copy on the CCTextureUpdateQueue. |
+ // Returns the texture ID to be used for compositing. |
+ virtual unsigned prepareTexture(CCTextureUpdateQueue&) = 0; |
+ |
+ // Returns the context that is providing the texture. Used for rate limiting and detecting lost context. |
+ virtual WebKit::WebGraphicsContext3D* context() = 0; |
+ |
+protected: |
+ virtual ~TextureLayerChromiumClient() { } |
+}; |
+ |
+} |
+ |
+#endif // TextureLayerChromiumClient_h |