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

Unified Diff: cc/surfaces/surface_manager.cc

Issue 2676373004: Implement service-side surface synchronization (Closed)
Patch Set: Better unit test name Created 3 years, 10 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/surfaces/surface_manager.cc
diff --git a/cc/surfaces/surface_manager.cc b/cc/surfaces/surface_manager.cc
index b03b81e7ba8c8a050c68fe3bfd91ca10e51d8039..c91bf2cb617bef011f317c6cd7e1ed683402c6d1 100644
--- a/cc/surfaces/surface_manager.cc
+++ b/cc/surfaces/surface_manager.cc
@@ -80,6 +80,16 @@ std::string SurfaceManager::SurfaceReferencesToString() {
}
#endif
+void SurfaceManager::SetDependencyTracker(
+ std::unique_ptr<SurfaceDependencyTracker> dependency_tracker) {
+ dependency_tracker_ = std::move(dependency_tracker);
+}
+
+void SurfaceManager::RequestSurfaceResolution(Surface* pending_surface) {
+ if (dependency_tracker_)
+ dependency_tracker_->RequestSurfaceResolution(pending_surface);
+}
+
void SurfaceManager::RegisterSurface(Surface* surface) {
DCHECK(thread_checker_.CalledOnValidThread());
DCHECK(surface);
@@ -597,10 +607,19 @@ void SurfaceManager::SurfaceReferencesToStringImpl(const SurfaceId& surface_id,
*str << surface->surface_id().ToString();
*str << (surface->destroyed() ? " destroyed " : " live ");
- if (surface->HasFrame()) {
+ if (surface->HasPendingFrame()) {
+ // This provides the surface size from the root render pass.
+ const CompositorFrame& frame = surface->GetPendingFrame();
+ *str << "pending "
+ << frame.render_pass_list.back()->output_rect.size().ToString()
+ << " ";
+ }
+
+ if (surface->HasActiveFrame()) {
// This provides the surface size from the root render pass.
- const CompositorFrame& frame = surface->GetEligibleFrame();
- *str << frame.render_pass_list.back()->output_rect.size().ToString();
+ const CompositorFrame& frame = surface->GetActiveFrame();
+ *str << "active "
+ << frame.render_pass_list.back()->output_rect.size().ToString();
}
} else {
*str << surface_id;

Powered by Google App Engine
This is Rietveld 408576698