Index: cc/trees/layer_tree_host_impl.cc |
diff --git a/cc/trees/layer_tree_host_impl.cc b/cc/trees/layer_tree_host_impl.cc |
index 44b21adf28012b42de61ff5649204e3a34025348..f444cecc58b12c6717ace74729c9236d1cd4dc5f 100644 |
--- a/cc/trees/layer_tree_host_impl.cc |
+++ b/cc/trees/layer_tree_host_impl.cc |
@@ -1676,6 +1676,9 @@ void LayerTreeHostImpl::WillBeginImplFrame(const BeginFrameArgs& args) { |
// we are beginning now. |
SetNeedsRedraw(); |
} |
+ |
+ for (auto& it : video_frame_controllers_) |
+ it->OnBeginFrame(args); |
} |
void LayerTreeHostImpl::UpdateViewportContainerSizes() { |
@@ -3093,6 +3096,21 @@ void LayerTreeHostImpl::SetNeedsRedrawForScrollbarAnimation() { |
SetNeedsRedraw(); |
} |
+void LayerTreeHostImpl::AddVideoFrameController( |
+ VideoFrameController* controller) { |
+ bool was_empty = video_frame_controllers_.empty(); |
+ video_frame_controllers_.insert(controller); |
+ if (was_empty) |
+ client_->SetVideoNeedsBeginFrames(true); |
+} |
+ |
+void LayerTreeHostImpl::RemoveVideoFrameController( |
+ VideoFrameController* controller) { |
+ video_frame_controllers_.erase(controller); |
+ if (video_frame_controllers_.empty()) |
+ client_->SetVideoNeedsBeginFrames(false); |
+} |
+ |
void LayerTreeHostImpl::SetTreePriority(TreePriority priority) { |
if (!tile_manager_) |
return; |