| OLD | NEW |
| (Empty) |
| 1 // Copyright 2010 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. | |
| 4 | |
| 5 #include "cc/layers/video_layer.h" | |
| 6 | |
| 7 #include "cc/layers/video_layer_impl.h" | |
| 8 | |
| 9 namespace cc { | |
| 10 | |
| 11 scoped_refptr<VideoLayer> VideoLayer::Create( | |
| 12 VideoFrameProvider* provider, | |
| 13 media::VideoRotation video_rotation) { | |
| 14 return make_scoped_refptr(new VideoLayer(provider, video_rotation)); | |
| 15 } | |
| 16 | |
| 17 VideoLayer::VideoLayer(VideoFrameProvider* provider, | |
| 18 media::VideoRotation video_rotation) | |
| 19 : provider_(provider), video_rotation_(video_rotation) { | |
| 20 DCHECK(provider_); | |
| 21 } | |
| 22 | |
| 23 VideoLayer::~VideoLayer() {} | |
| 24 | |
| 25 scoped_ptr<LayerImpl> VideoLayer::CreateLayerImpl(LayerTreeImpl* tree_impl) { | |
| 26 scoped_ptr<VideoLayerImpl> impl = | |
| 27 VideoLayerImpl::Create(tree_impl, id(), provider_, video_rotation_); | |
| 28 return impl.Pass(); | |
| 29 } | |
| 30 | |
| 31 bool VideoLayer::Update(ResourceUpdateQueue* queue, | |
| 32 const OcclusionTracker<Layer>* occlusion) { | |
| 33 bool updated = Layer::Update(queue, occlusion); | |
| 34 | |
| 35 // Video layer doesn't update any resources from the main thread side, | |
| 36 // but repaint rects need to be sent to the VideoLayerImpl via commit. | |
| 37 // | |
| 38 // This is the inefficient legacy redraw path for videos. It's better to | |
| 39 // communicate this directly to the VideoLayerImpl. | |
| 40 updated |= !update_rect_.IsEmpty(); | |
| 41 | |
| 42 return updated; | |
| 43 } | |
| 44 | |
| 45 } // namespace cc | |
| OLD | NEW |