summaryrefslogtreecommitdiffstats
path: root/cc/VideoLayerChromium.h
blob: 2712a29406f174df10e1e5acba146e8d50370e86 (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
40
// 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 PassRefPtr<VideoLayerChromium> create(WebKit::WebVideoFrameProvider*);
    virtual ~VideoLayerChromium();

    virtual PassOwnPtr<CCLayerImpl> createCCLayerImpl() OVERRIDE;

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

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