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

Unified Diff: services/ui/ws/frame_generator.h

Issue 2632273003: Move ReferencedSurfaceTracker into GpuCompositorFrameSink. (Closed)
Patch Set: Fix iterator invalidation. Created 3 years, 11 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
« no previous file with comments | « services/ui/surfaces/gpu_compositor_frame_sink.cc ('k') | services/ui/ws/frame_generator.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: services/ui/ws/frame_generator.h
diff --git a/services/ui/ws/frame_generator.h b/services/ui/ws/frame_generator.h
index db05f1fbd44d69e48149a3f111d435b97707db73..9b7e742e43daa45c2722114a5c2576d404f0b2db 100644
--- a/services/ui/ws/frame_generator.h
+++ b/services/ui/ws/frame_generator.h
@@ -10,7 +10,6 @@
#include "base/macros.h"
#include "base/timer/timer.h"
#include "cc/ipc/display_compositor.mojom.h"
-#include "cc/surfaces/embedded_surface_tracker.h"
#include "cc/surfaces/frame_sink_id.h"
#include "cc/surfaces/surface_id.h"
#include "cc/surfaces/surface_id_allocator.h"
@@ -52,19 +51,8 @@ class FrameGenerator : public ServerWindowTracker,
// Schedules a redraw for the provided region.
void OnAcceleratedWidgetAvailable(gfx::AcceleratedWidget widget);
- // Adds a reference to new surface with |surface_id| for |window|. This
- // reference is to ensure the surface is not deleted while it's still being
- // displayed. The display root surface has a reference from the top level
- // root. All child surfaces are embedded by the display root and receive a
- // reference from it.
- //
- // If a new display root Surface is created, then all child surfaces will
- // receive a reference from the new display root so they are not deleted with
- // the old display root.
- //
- // If there is an existing reference to an old surface with the same
- // FrameSinkId then that reference will be removed after the next
- // CompositorFrame is submitted.
+ // If |window| corresponds to the active WM for the display then update
+ // |window_manager_surface_id_|.
void OnSurfaceCreated(const cc::SurfaceId& surface_id, ServerWindow* window);
private:
@@ -76,9 +64,6 @@ class FrameGenerator : public ServerWindowTracker,
void ReclaimResources(const cc::ReturnedResourceArray& resources) override;
void WillDrawSurface() override;
- // Updates the display surface SurfaceId using new value in |local_frame_id_|.
- void UpdateDisplaySurfaceId();
-
// Generates the CompositorFrame.
cc::CompositorFrame GenerateCompositorFrame(const gfx::Rect& output_rect);
@@ -99,8 +84,7 @@ class FrameGenerator : public ServerWindowTracker,
cc::mojom::MojoCompositorFrameSinkPtr compositor_frame_sink_;
cc::mojom::DisplayPrivatePtr display_private_;
- // Tracks surface references for embedded surfaces.
- cc::EmbeddedSurfaceTracker surface_tracker_;
+ cc::SurfaceId window_manager_surface_id_;
mojo::Binding<cc::mojom::MojoCompositorFrameSinkClient> binding_;
« no previous file with comments | « services/ui/surfaces/gpu_compositor_frame_sink.cc ('k') | services/ui/ws/frame_generator.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698