Chromium Code Reviews| 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 77a44b6700d7c8eec52d93e61e40621bb1f4023c..74746f457fd54f05d96b45f8a71a105fc50d8a59 100644 |
| --- a/cc/trees/layer_tree_host_impl.cc |
| +++ b/cc/trees/layer_tree_host_impl.cc |
| @@ -628,6 +628,11 @@ void LayerTreeHostImpl::QueueSwapPromiseForMainThreadScrollUpdate( |
| std::move(swap_promise)); |
| } |
| +void LayerTreeHostImpl::QueueForcedRedrawSwapPromise( |
| + std::unique_ptr<SwapPromise> swap_promise) { |
| + forced_redraw_swap_promises_.push_back(std::move(swap_promise)); |
|
piman
2016/07/28 20:54:09
This would bypass the activation, meaning, you may
|
| +} |
| + |
| void LayerTreeHostImpl::TrackDamageForAllSurfaces( |
| const LayerImplList& render_surface_layer_list) { |
| // For now, we use damage tracking to compute a global scissor. To do this, we |
| @@ -1839,6 +1844,12 @@ bool LayerTreeHostImpl::SwapBuffers(const LayerTreeHostImpl::FrameData& frame) { |
| 0, 0); |
| } |
| } |
| + |
| + for (const auto& promise : forced_redraw_swap_promises_) { |
| + promise->DidSwap(&metadata); |
| + } |
| + forced_redraw_swap_promises_.clear(); |
| + |
| renderer_->SwapBuffers(std::move(metadata)); |
| return true; |
| } |