| 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 8b8ed9cf137fc0230a316305c58a1bbd05a19773..01ab7b4b525ff05ce6f199a4b2f33bf0bc943836 100644
|
| --- a/cc/trees/layer_tree_host_impl.cc
|
| +++ b/cc/trees/layer_tree_host_impl.cc
|
| @@ -165,7 +165,9 @@ DEFINE_SCOPED_UMA_HISTOGRAM_TIMER(PendingTreeDurationHistogramTimer,
|
| "Scheduling.%s.PendingTreeDuration");
|
|
|
| LayerTreeHostImpl::FrameData::FrameData()
|
| - : render_surface_layer_list(nullptr), has_no_damage(false) {}
|
| + : render_surface_layer_list(nullptr),
|
| + has_no_damage(false),
|
| + may_contain_video(false) {}
|
|
|
| LayerTreeHostImpl::FrameData::~FrameData() {}
|
|
|
| @@ -912,6 +914,8 @@ DrawResult LayerTreeHostImpl::CalculateRenderPasses(
|
| DCHECK_EQ(active_tree_.get(), it->layer_tree_impl());
|
|
|
| frame->will_draw_layers.push_back(*it);
|
| + if (it->may_contain_video())
|
| + frame->may_contain_video = true;
|
|
|
| it->AppendQuads(target_render_pass, &append_quads_data);
|
| }
|
| @@ -1100,6 +1104,7 @@ DrawResult LayerTreeHostImpl::PrepareToDraw(FrameData* frame) {
|
| frame->render_passes.clear();
|
| frame->will_draw_layers.clear();
|
| frame->has_no_damage = false;
|
| + frame->may_contain_video = false;
|
|
|
| if (active_tree_->RootRenderSurface()) {
|
| gfx::Rect device_viewport_damage_rect = viewport_damage_rect_;
|
| @@ -1824,6 +1829,7 @@ bool LayerTreeHostImpl::SwapBuffers(const LayerTreeHostImpl::FrameData& frame) {
|
| return false;
|
| }
|
| CompositorFrameMetadata metadata = MakeCompositorFrameMetadata();
|
| + metadata.may_contain_video = frame.may_contain_video;
|
| active_tree()->FinishSwapPromises(&metadata);
|
| for (auto& latency : metadata.latency_info) {
|
| TRACE_EVENT_WITH_FLOW1("input,benchmark",
|
|
|