| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 UI_COMPOSITOR_TEST_IN_PROCESS_CONTEXT_FACTORY_H_ | 5 #ifndef UI_COMPOSITOR_TEST_IN_PROCESS_CONTEXT_FACTORY_H_ |
| 6 #define UI_COMPOSITOR_TEST_IN_PROCESS_CONTEXT_FACTORY_H_ | 6 #define UI_COMPOSITOR_TEST_IN_PROCESS_CONTEXT_FACTORY_H_ |
| 7 | 7 |
| 8 #include <stdint.h> | 8 #include <stdint.h> |
| 9 #include <memory> | 9 #include <memory> |
| 10 | 10 |
| (...skipping 23 matching lines...) Expand all Loading... |
| 34 InProcessContextFactory(bool context_factory_for_test, | 34 InProcessContextFactory(bool context_factory_for_test, |
| 35 cc::SurfaceManager* surface_manager); | 35 cc::SurfaceManager* surface_manager); |
| 36 ~InProcessContextFactory() override; | 36 ~InProcessContextFactory() override; |
| 37 | 37 |
| 38 // If true (the default) an OutputSurface is created that does not display | 38 // If true (the default) an OutputSurface is created that does not display |
| 39 // anything. Set to false if you want to see results on the screen. | 39 // anything. Set to false if you want to see results on the screen. |
| 40 void set_use_test_surface(bool use_test_surface) { | 40 void set_use_test_surface(bool use_test_surface) { |
| 41 use_test_surface_ = use_test_surface; | 41 use_test_surface_ = use_test_surface; |
| 42 } | 42 } |
| 43 | 43 |
| 44 // This is used to call OnLostResources on all clients, to ensure they stop |
| 45 // using the SharedMainThreadContextProvider. |
| 46 void SendOnLostResources(); |
| 47 |
| 44 // ContextFactory implementation | 48 // ContextFactory implementation |
| 45 void CreateOutputSurface(base::WeakPtr<Compositor> compositor) override; | 49 void CreateOutputSurface(base::WeakPtr<Compositor> compositor) override; |
| 46 | 50 |
| 47 std::unique_ptr<Reflector> CreateReflector(Compositor* mirrored_compositor, | 51 std::unique_ptr<Reflector> CreateReflector(Compositor* mirrored_compositor, |
| 48 Layer* mirroring_layer) override; | 52 Layer* mirroring_layer) override; |
| 49 void RemoveReflector(Reflector* reflector) override; | 53 void RemoveReflector(Reflector* reflector) override; |
| 50 | 54 |
| 51 scoped_refptr<cc::ContextProvider> SharedMainThreadContextProvider() override; | 55 scoped_refptr<cc::ContextProvider> SharedMainThreadContextProvider() override; |
| 52 void RemoveCompositor(Compositor* compositor) override; | 56 void RemoveCompositor(Compositor* compositor) override; |
| 53 bool DoesCreateTestContexts() override; | 57 bool DoesCreateTestContexts() override; |
| 54 uint32_t GetImageTextureTarget(gfx::BufferFormat format, | 58 uint32_t GetImageTextureTarget(gfx::BufferFormat format, |
| 55 gfx::BufferUsage usage) override; | 59 gfx::BufferUsage usage) override; |
| 56 cc::SharedBitmapManager* GetSharedBitmapManager() override; | 60 cc::SharedBitmapManager* GetSharedBitmapManager() override; |
| 57 gpu::GpuMemoryBufferManager* GetGpuMemoryBufferManager() override; | 61 gpu::GpuMemoryBufferManager* GetGpuMemoryBufferManager() override; |
| 58 cc::TaskGraphRunner* GetTaskGraphRunner() override; | 62 cc::TaskGraphRunner* GetTaskGraphRunner() override; |
| 59 std::unique_ptr<cc::SurfaceIdAllocator> CreateSurfaceIdAllocator() override; | 63 std::unique_ptr<cc::SurfaceIdAllocator> CreateSurfaceIdAllocator() override; |
| 60 cc::SurfaceManager* GetSurfaceManager() override; | 64 cc::SurfaceManager* GetSurfaceManager() override; |
| 61 void ResizeDisplay(ui::Compositor* compositor, | 65 void ResizeDisplay(ui::Compositor* compositor, |
| 62 const gfx::Size& size) override; | 66 const gfx::Size& size) override; |
| 63 void SetAuthoritativeVSyncInterval(ui::Compositor* compositor, | 67 void SetAuthoritativeVSyncInterval(ui::Compositor* compositor, |
| 64 base::TimeDelta interval) override {} | 68 base::TimeDelta interval) override {} |
| 65 void SetOutputIsSecure(ui::Compositor* compositor, bool secure) override {} | 69 void SetOutputIsSecure(ui::Compositor* compositor, bool secure) override {} |
| 70 void AddObserver(ContextFactoryObserver* observer) override; |
| 71 void RemoveObserver(ContextFactoryObserver* observer) override; |
| 66 | 72 |
| 67 private: | 73 private: |
| 68 scoped_refptr<InProcessContextProvider> shared_main_thread_contexts_; | 74 scoped_refptr<InProcessContextProvider> shared_main_thread_contexts_; |
| 69 scoped_refptr<InProcessContextProvider> shared_worker_context_provider_; | 75 scoped_refptr<InProcessContextProvider> shared_worker_context_provider_; |
| 70 cc::TestSharedBitmapManager shared_bitmap_manager_; | 76 cc::TestSharedBitmapManager shared_bitmap_manager_; |
| 71 cc::TestGpuMemoryBufferManager gpu_memory_buffer_manager_; | 77 cc::TestGpuMemoryBufferManager gpu_memory_buffer_manager_; |
| 72 cc::TestImageFactory image_factory_; | 78 cc::TestImageFactory image_factory_; |
| 73 cc::TestTaskGraphRunner task_graph_runner_; | 79 cc::TestTaskGraphRunner task_graph_runner_; |
| 74 uint32_t next_surface_id_namespace_; | 80 uint32_t next_surface_id_namespace_; |
| 75 bool use_test_surface_; | 81 bool use_test_surface_; |
| 76 bool context_factory_for_test_; | 82 bool context_factory_for_test_; |
| 77 cc::SurfaceManager* surface_manager_; | 83 cc::SurfaceManager* surface_manager_; |
| 84 base::ObserverList<ContextFactoryObserver> observer_list_; |
| 78 | 85 |
| 79 base::hash_map<Compositor*, std::unique_ptr<cc::Display>> | 86 base::hash_map<Compositor*, std::unique_ptr<cc::Display>> |
| 80 per_compositor_data_; | 87 per_compositor_data_; |
| 81 | 88 |
| 82 DISALLOW_COPY_AND_ASSIGN(InProcessContextFactory); | 89 DISALLOW_COPY_AND_ASSIGN(InProcessContextFactory); |
| 83 }; | 90 }; |
| 84 | 91 |
| 85 } // namespace ui | 92 } // namespace ui |
| 86 | 93 |
| 87 #endif // UI_COMPOSITOR_TEST_IN_PROCESS_CONTEXT_FACTORY_H_ | 94 #endif // UI_COMPOSITOR_TEST_IN_PROCESS_CONTEXT_FACTORY_H_ |
| OLD | NEW |