[safe browsing] Push missing download BINHASH histograms.
[chromium-blink-merge.git] / cc / layers / texture_layer_client.h
blob47d6ae0e174309337b92350900d0aa6c4c061f20
1 // Copyright 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef CC_LAYERS_TEXTURE_LAYER_CLIENT_H_
6 #define CC_LAYERS_TEXTURE_LAYER_CLIENT_H_
8 #include "cc/resources/single_release_callback.h"
10 namespace cc {
11 class ResourceUpdateQueue;
12 class TextureMailbox;
14 class TextureLayerClient {
15 public:
16 // Called to prepare this layer's texture for compositing.
17 // Returns the texture ID to be used for compositing.
18 virtual unsigned PrepareTexture() = 0;
20 // Returns true and provides a mailbox if a new frame is available.
21 // Returns false if no new data is available
22 // and the old mailbox is to be reused.
23 virtual bool PrepareTextureMailbox(
24 TextureMailbox* mailbox,
25 scoped_ptr<SingleReleaseCallback>* release_callback,
26 bool use_shared_memory) = 0;
28 protected:
29 virtual ~TextureLayerClient() {}
32 } // namespace cc
34 #endif // CC_LAYERS_TEXTURE_LAYER_CLIENT_H_