123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- // Copyright 2017 The Chromium Authors. All rights reserved.
- // Use of this source code is governed by a BSD-style license that can be
- // found in the LICENSE file.
- #ifndef UI_COMPOSITOR_TEST_FAKE_CONTEXT_FACTORY_H_
- #define UI_COMPOSITOR_TEST_FAKE_CONTEXT_FACTORY_H_
- #include "base/memory/raw_ptr.h"
- #include "cc/test/test_task_graph_runner.h"
- #include "components/viz/common/display/renderer_settings.h"
- #include "components/viz/test/test_gpu_memory_buffer_manager.h"
- #include "ui/compositor/compositor.h"
- namespace cc {
- class FakeLayerTreeFrameSink;
- class TestTaskGraphRunner;
- class TestGpuMemoryBufferManager;
- }
- namespace viz {
- class CompositorFrame;
- class ContextProvider;
- }
- namespace ui {
- class FakeContextFactory : public ui::ContextFactory {
- public:
- FakeContextFactory();
- FakeContextFactory(const FakeContextFactory&) = delete;
- FakeContextFactory& operator=(const FakeContextFactory&) = delete;
- ~FakeContextFactory() override;
- const viz::CompositorFrame& GetLastCompositorFrame() const;
- // ui::ContextFactory:
- void CreateLayerTreeFrameSink(
- base::WeakPtr<ui::Compositor> compositor) override;
- scoped_refptr<viz::ContextProvider> SharedMainThreadContextProvider()
- override;
- scoped_refptr<viz::RasterContextProvider>
- SharedMainThreadRasterContextProvider() override;
- void RemoveCompositor(ui::Compositor* compositor) override;
- gpu::GpuMemoryBufferManager* GetGpuMemoryBufferManager() override;
- cc::TaskGraphRunner* GetTaskGraphRunner() override;
- protected:
- const viz::RendererSettings& renderer_settings() const {
- return renderer_settings_;
- }
- private:
- raw_ptr<cc::FakeLayerTreeFrameSink> frame_sink_ = nullptr;
- cc::TestTaskGraphRunner task_graph_runner_;
- viz::TestGpuMemoryBufferManager gpu_memory_buffer_manager_;
- viz::RendererSettings renderer_settings_;
- };
- } // namespace ui
- #endif // UI_COMPOSITOR_TEST_FAKE_CONTEXT_FACTORY_H_
|