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

Unified Diff: services/ui/surfaces/display_compositor.h

Issue 2543123004: Mus: Move creation of cc::Display to DisplayCompositor (Closed)
Patch Set: More cleanup Created 4 years 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 | « no previous file | services/ui/surfaces/display_compositor.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: services/ui/surfaces/display_compositor.h
diff --git a/services/ui/surfaces/display_compositor.h b/services/ui/surfaces/display_compositor.h
index 7d9bc0084337ad2c30bc73636c4cbfa958d06275..3b29d71f08d21d450b421e4e73457b1b356f0bb0 100644
--- a/services/ui/surfaces/display_compositor.h
+++ b/services/ui/surfaces/display_compositor.h
@@ -31,9 +31,9 @@ class ImageFactory;
}
namespace cc {
-class SurfaceHittest;
+class Display;
class SurfaceManager;
-} // namespace cc
+}
namespace ui {
@@ -89,6 +89,10 @@ class DisplayCompositor : public cc::SurfaceObserver,
private:
friend class test::DisplayCompositorTest;
+ std::unique_ptr<cc::Display> CreateDisplay(
+ const cc::FrameSinkId& frame_sink_id,
+ gpu::SurfaceHandle surface_handle);
+
const cc::SurfaceId& GetRootSurfaceId() const;
// cc::SurfaceObserver implementation.
@@ -102,18 +106,21 @@ class DisplayCompositor : public cc::SurfaceObserver,
// destroyed in order to ensure that all other objects that depend on it have
// access to a valid pointer for the entirety of their liftimes.
cc::SurfaceManager manager_;
+
+ // Will normally point to |manager_| as it provides the interface. For tests
+ // it will be swapped out with a mock implementation.
+ cc::SurfaceReferenceManager* reference_manager_;
+
scoped_refptr<gpu::InProcessCommandBuffer::Service> gpu_service_;
+ std::unique_ptr<gpu::GpuMemoryBufferManager> gpu_memory_buffer_manager_;
+ gpu::ImageFactory* image_factory_;
+
std::unordered_map<cc::FrameSinkId,
std::unique_ptr<GpuCompositorFrameSink>,
cc::FrameSinkIdHash>
compositor_frame_sinks_;
- std::unique_ptr<gpu::GpuMemoryBufferManager> gpu_memory_buffer_manager_;
- gpu::ImageFactory* image_factory_;
- cc::mojom::DisplayCompositorClientPtr client_;
- // Will normally point to |manager_| as it provides the interface. For tests
- // it will be swapped out with a mock implementation.
- cc::SurfaceReferenceManager* reference_manager_;
+ scoped_refptr<base::SingleThreadTaskRunner> task_runner_;
// SurfaceIds that have temporary references from top level root so they
// aren't GC'd before DisplayCompositorClient can add a real reference. This
@@ -127,6 +134,7 @@ class DisplayCompositor : public cc::SurfaceObserver,
base::ThreadChecker thread_checker_;
+ cc::mojom::DisplayCompositorClientPtr client_;
mojo::Binding<cc::mojom::DisplayCompositor> binding_;
DISALLOW_COPY_AND_ASSIGN(DisplayCompositor);
« no previous file with comments | « no previous file | services/ui/surfaces/display_compositor.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698