| // 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 WebCore { |
| 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 |