summaryrefslogtreecommitdiffstats
path: root/cc/VideoLayerChromium.h
blob: 0ecdd0f6f6a1a0f4a0c19bdf67c3f95f108a0ac8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
// Copyright 2010 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 VideoLayerChromium_h
#define VideoLayerChromium_h

#if USE(ACCELERATED_COMPOSITING)

#include "LayerChromium.h"

namespace WebKit {
class WebVideoFrameProvider;
}

namespace cc {

class CCVideoLayerImpl;

// A Layer that contains a Video element.
class VideoLayerChromium : public LayerChromium {
public:
    static scoped_refptr<VideoLayerChromium> create(WebKit::WebVideoFrameProvider*);

    virtual PassOwnPtr<CCLayerImpl> createCCLayerImpl() OVERRIDE;

private:
    explicit VideoLayerChromium(WebKit::WebVideoFrameProvider*);
    virtual ~VideoLayerChromium();

    // This pointer is only for passing to CCVideoLayerImpl's constructor. It should never be dereferenced by this class.
    WebKit::WebVideoFrameProvider* m_provider;
};

}
#endif // USE(ACCELERATED_COMPOSITING)

#endif