Index: webkit/renderer/compositor_bindings/web_external_texture_layer_impl.h |
diff --git a/webkit/renderer/compositor_bindings/web_external_texture_layer_impl.h b/webkit/renderer/compositor_bindings/web_external_texture_layer_impl.h |
index dfe75a64b698fc3c9991568f28a70cbf97195100..de7916fa6eba3133405be570d20b8fb4b5e91f4e 100644 |
--- a/webkit/renderer/compositor_bindings/web_external_texture_layer_impl.h |
+++ b/webkit/renderer/compositor_bindings/web_external_texture_layer_impl.h |
@@ -7,6 +7,7 @@ |
#include "base/bind.h" |
#include "base/memory/scoped_ptr.h" |
+#include "base/memory/scoped_vector.h" |
#include "cc/layers/texture_layer_client.h" |
#include "cc/resources/texture_mailbox.h" |
#include "third_party/WebKit/public/platform/WebExternalTextureLayer.h" |
@@ -20,6 +21,7 @@ struct WebExternalTextureMailbox; |
namespace webkit { |
class WebLayerImpl; |
+class WebExternalBitmapImpl; |
class WebExternalTextureLayerImpl |
: public WebKit::WebExternalTextureLayer, |
@@ -49,13 +51,19 @@ class WebExternalTextureLayerImpl |
virtual bool PrepareTextureMailbox(cc::TextureMailbox* mailbox) OVERRIDE; |
private: |
- void DidReleaseMailbox(const WebKit::WebExternalTextureMailbox& mailbox, |
- unsigned sync_point, |
- bool lost_resource); |
+ static void DidReleaseMailbox( |
+ base::WeakPtr<WebExternalTextureLayerImpl> layer, |
+ const WebKit::WebExternalTextureMailbox& mailbox, |
+ WebExternalBitmapImpl* bitmap, |
+ unsigned sync_point, |
+ bool lost_resource); |
+ |
+ WebExternalBitmapImpl* AllocateBitmap(); |
WebKit::WebExternalTextureLayerClient* client_; |
scoped_ptr<WebLayerImpl> layer_; |
bool uses_mailbox_; |
+ ScopedVector<WebExternalBitmapImpl> free_bitmaps_; |
DISALLOW_COPY_AND_ASSIGN(WebExternalTextureLayerImpl); |
}; |