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; |
} |