[Do not revert] Roll-back V8 to version 4.4.63.
[chromium-blink-merge.git] / cc / layers / io_surface_layer.h
blob90bcf3e8323fcab1b128bedf0be976bc880d5956
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_IO_SURFACE_LAYER_H_
6 #define CC_LAYERS_IO_SURFACE_LAYER_H_
8 #include "cc/base/cc_export.h"
9 #include "cc/layers/layer.h"
11 namespace cc {
13 class CC_EXPORT IOSurfaceLayer : public Layer {
14 public:
15 static scoped_refptr<IOSurfaceLayer> Create();
17 void SetIOSurfaceProperties(uint32_t io_surface_id, const gfx::Size& size);
19 scoped_ptr<LayerImpl> CreateLayerImpl(LayerTreeImpl* tree_impl) override;
20 void PushPropertiesTo(LayerImpl* layer) override;
21 bool Update(ResourceUpdateQueue* queue,
22 const OcclusionTracker<Layer>* occlusion) override;
24 protected:
25 bool HasDrawableContent() const override;
26 IOSurfaceLayer();
28 private:
29 ~IOSurfaceLayer() override;
31 uint32_t io_surface_id_;
32 gfx::Size io_surface_size_;
34 DISALLOW_COPY_AND_ASSIGN(IOSurfaceLayer);
37 } // namespace cc
38 #endif // CC_LAYERS_IO_SURFACE_LAYER_H_