Chromium Code Reviews| Index: cc/layers/layer.cc |
| diff --git a/cc/layers/layer.cc b/cc/layers/layer.cc |
| index 3817115f709780042a40cecba6ec00312185b0b2..b45998e1b375dac52d6ae39e3352e86a141497b5 100644 |
| --- a/cc/layers/layer.cc |
| +++ b/cc/layers/layer.cc |
| @@ -79,7 +79,8 @@ Layer::Layer() |
| clip_parent_(nullptr), |
| replica_layer_(nullptr), |
| raster_scale_(0.f), |
| - client_(nullptr) { |
| + client_(nullptr), |
| + frame_timing_requests_dirty_(false) { |
| layer_animation_controller_ = LayerAnimationController::Create(layer_id_); |
| layer_animation_controller_->AddValueObserver(this); |
| layer_animation_controller_->set_value_provider(this); |
| @@ -1016,6 +1017,11 @@ void Layer::PushPropertiesTo(LayerImpl* layer) { |
| layer_animation_controller_->PushAnimationUpdatesTo( |
| layer->layer_animation_controller()); |
| + if (frame_timing_requests_dirty_) { |
|
danakj
2015/01/23 18:08:45
what's the reason for these dirty flags?
in case
vmpstr
2015/01/23 18:41:57
It's just so we don't keep copying the same vector
danakj
2015/01/23 18:43:29
I see, you need them to stick around for multiple
vmpstr
2015/01/23 18:45:58
They really only need to be on the active layer..
|
| + layer->SetFrameTimingRequests(frame_timing_requests_); |
| + frame_timing_requests_dirty_ = false; |
| + } |
| + |
| // Reset any state that should be cleared for the next update. |
| stacking_order_changed_ = false; |
| update_rect_ = gfx::Rect(); |
| @@ -1294,4 +1300,11 @@ gfx::Transform Layer::draw_transform_from_property_trees( |
| return xform; |
| } |
| +void Layer::SetFrameTimingRequests( |
| + const std::vector<FrameTimingRequest>& requests) { |
| + frame_timing_requests_ = requests; |
| + frame_timing_requests_dirty_ = true; |
| + SetNeedsCommit(); |
| +} |
| + |
| } // namespace cc |