Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3237)

Unified Diff: cc/trees/layer_tree_host_impl.cc

Issue 2185823005: Make RenderViewImpl::OnForceRedraw more robust (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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;
}

Powered by Google App Engine
This is Rietveld 408576698