OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef MANDOLINE_UI_AURA_SURFACE_CONTEXT_FACTORY_H_ | 5 #ifndef MANDOLINE_UI_AURA_SURFACE_CONTEXT_FACTORY_H_ |
6 #define MANDOLINE_UI_AURA_SURFACE_CONTEXT_FACTORY_H_ | 6 #define MANDOLINE_UI_AURA_SURFACE_CONTEXT_FACTORY_H_ |
7 | 7 |
8 #include "components/mus/gles2/mojo_gpu_memory_buffer_manager.h" | 8 #include "components/mus/gles2/mojo_gpu_memory_buffer_manager.h" |
9 #include "components/mus/gles2/raster_thread_helper.h" | 9 #include "components/mus/gles2/raster_thread_helper.h" |
10 #include "mandoline/ui/aura/surface_binding.h" | 10 #include "mandoline/ui/aura/surface_binding.h" |
11 #include "ui/compositor/compositor.h" | 11 #include "ui/compositor/compositor.h" |
12 | 12 |
13 namespace mojo { | 13 namespace mojo { |
14 class Shell; | 14 class Shell; |
15 } | |
16 | |
17 namespace mus { | |
18 class View; | 15 class View; |
19 } | 16 } |
20 | 17 |
21 namespace mandoline { | 18 namespace mandoline { |
22 | 19 |
23 class SurfaceContextFactory : public ui::ContextFactory { | 20 class SurfaceContextFactory : public ui::ContextFactory { |
24 public: | 21 public: |
25 SurfaceContextFactory(mojo::Shell* shell, mus::View* view); | 22 SurfaceContextFactory(mojo::Shell* shell, mojo::View* view); |
26 ~SurfaceContextFactory() override; | 23 ~SurfaceContextFactory() override; |
27 | 24 |
28 private: | 25 private: |
29 // ContextFactory: | 26 // ContextFactory: |
30 void CreateOutputSurface(base::WeakPtr<ui::Compositor> compositor) override; | 27 void CreateOutputSurface(base::WeakPtr<ui::Compositor> compositor) override; |
31 scoped_ptr<ui::Reflector> CreateReflector( | 28 scoped_ptr<ui::Reflector> CreateReflector( |
32 ui::Compositor* mirrored_compositor, | 29 ui::Compositor* mirrored_compositor, |
33 ui::Layer* mirroring_layer) override; | 30 ui::Layer* mirroring_layer) override; |
34 void RemoveReflector(ui::Reflector* reflector) override; | 31 void RemoveReflector(ui::Reflector* reflector) override; |
35 scoped_refptr<cc::ContextProvider> SharedMainThreadContextProvider() override; | 32 scoped_refptr<cc::ContextProvider> SharedMainThreadContextProvider() override; |
36 void RemoveCompositor(ui::Compositor* compositor) override; | 33 void RemoveCompositor(ui::Compositor* compositor) override; |
37 bool DoesCreateTestContexts() override; | 34 bool DoesCreateTestContexts() override; |
38 uint32 GetImageTextureTarget(gfx::BufferFormat format, | 35 uint32 GetImageTextureTarget(gfx::BufferFormat format, |
39 gfx::BufferUsage usage) override; | 36 gfx::BufferUsage usage) override; |
40 cc::SharedBitmapManager* GetSharedBitmapManager() override; | 37 cc::SharedBitmapManager* GetSharedBitmapManager() override; |
41 gpu::GpuMemoryBufferManager* GetGpuMemoryBufferManager() override; | 38 gpu::GpuMemoryBufferManager* GetGpuMemoryBufferManager() override; |
42 cc::TaskGraphRunner* GetTaskGraphRunner() override; | 39 cc::TaskGraphRunner* GetTaskGraphRunner() override; |
43 scoped_ptr<cc::SurfaceIdAllocator> CreateSurfaceIdAllocator() override; | 40 scoped_ptr<cc::SurfaceIdAllocator> CreateSurfaceIdAllocator() override; |
44 void ResizeDisplay(ui::Compositor* compositor, | 41 void ResizeDisplay(ui::Compositor* compositor, |
45 const gfx::Size& size) override; | 42 const gfx::Size& size) override; |
46 | 43 |
47 SurfaceBinding surface_binding_; | 44 SurfaceBinding surface_binding_; |
48 uint32_t next_surface_id_namespace_; | 45 uint32_t next_surface_id_namespace_; |
49 gles2::RasterThreadHelper raster_thread_helper_; | 46 gles2::RasterThreadHelper raster_thread_helper_; |
50 mus::MojoGpuMemoryBufferManager gpu_memory_buffer_manager_; | 47 gles2::MojoGpuMemoryBufferManager gpu_memory_buffer_manager_; |
51 | 48 |
52 DISALLOW_COPY_AND_ASSIGN(SurfaceContextFactory); | 49 DISALLOW_COPY_AND_ASSIGN(SurfaceContextFactory); |
53 }; | 50 }; |
54 | 51 |
55 } // namespace mandoline | 52 } // namespace mandoline |
56 | 53 |
57 #endif // MANDOLINE_UI_AURA_SURFACE_CONTEXT_FACTORY_H_ | 54 #endif // MANDOLINE_UI_AURA_SURFACE_CONTEXT_FACTORY_H_ |
OLD | NEW |