Chromium Code Reviews| Index: webkit/compositor_bindings/web_external_texture_layer_impl.h |
| diff --git a/webkit/compositor_bindings/web_external_texture_layer_impl.h b/webkit/compositor_bindings/web_external_texture_layer_impl.h |
| index e468a35f00b89f3f74f1ce44eab46a4458b46276..1cb82914e693f1a3f710063671d83147c9a54ae7 100644 |
| --- a/webkit/compositor_bindings/web_external_texture_layer_impl.h |
| +++ b/webkit/compositor_bindings/web_external_texture_layer_impl.h |
| @@ -5,8 +5,10 @@ |
| #ifndef WebExternalTextureLayerImpl_h |
| #define WebExternalTextureLayerImpl_h |
| +#include "base/bind.h" |
| #include "base/memory/scoped_ptr.h" |
| #include "cc/texture_layer_client.h" |
| +#include "cc/texture_mailbox.h" |
| #include "third_party/WebKit/Source/Platform/chromium/public/WebExternalTextureLayer.h" |
| #include "webkit/compositor_bindings/webkit_compositor_bindings_export.h" |
| @@ -14,16 +16,21 @@ namespace WebKit { |
| class WebLayerImpl; |
| struct WebFloatRect; |
| +class Mailbox; |
| -class WebExternalTextureLayerImpl : public WebExternalTextureLayer, |
| - public cc::TextureLayerClient { |
| +class WebExternalTextureLayerImpl |
| + : public WebExternalTextureLayer, |
| + public cc::TextureLayerClient, |
| + public base::SupportsWeakPtr<WebExternalTextureLayerImpl> { |
| public: |
| WEBKIT_COMPOSITOR_BINDINGS_EXPORT explicit WebExternalTextureLayerImpl( |
| - WebExternalTextureLayerClient*); |
| + WebExternalTextureLayerClient*, |
| + bool mailbox); |
| virtual ~WebExternalTextureLayerImpl(); |
| // WebExternalTextureLayer implementation. |
| virtual WebLayer* layer(); |
| + virtual void clearTexture(); |
| virtual void setTextureId(unsigned); |
| virtual void setFlipped(bool); |
| virtual void setUVRect(const WebFloatRect&); |
| @@ -35,10 +42,14 @@ class WebExternalTextureLayerImpl : public WebExternalTextureLayer, |
| // TextureLayerClient implementation. |
| virtual unsigned prepareTexture(cc::ResourceUpdateQueue&) OVERRIDE; |
| virtual WebGraphicsContext3D* context() OVERRIDE; |
| + virtual bool prepareTextureMailbox(cc::TextureMailbox*) OVERRIDE; |
| + void mailboxReleased(const Mailbox &mailbox, unsigned syncPoint); |
|
piman
2013/03/14 19:54:58
Does this need to be public?
alexst (slow to review)
2013/03/14 20:37:06
Done.
|
| private: |
|
piman
2013/03/14 19:54:58
nit: keep blank line before 'private:'
The one aft
alexst (slow to review)
2013/03/14 20:37:06
Done.
|
| + |
| WebExternalTextureLayerClient* client_; |
| scoped_ptr<WebLayerImpl> layer_; |
| + bool uses_mailbox_; |
| }; |
| } |