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
3 // found in the LICENSE file.
5 #ifndef UI_COMPOSITOR_TEST_IN_PROCESS_CONTEXT_FACTORY_H_
6 #define UI_COMPOSITOR_TEST_IN_PROCESS_CONTEXT_FACTORY_H_
8 #include "ui/compositor/compositor.h"
16 class ContextProviderInProcess
;
22 class InProcessContextFactory
: public ContextFactory
{
24 InProcessContextFactory();
25 virtual ~InProcessContextFactory();
27 // ContextFactory implementation
28 virtual scoped_ptr
<cc::OutputSurface
> CreateOutputSurface(
29 Compositor
* compositor
,
30 bool software_fallback
) OVERRIDE
;
32 virtual scoped_refptr
<Reflector
> CreateReflector(
33 Compositor
* mirrored_compositor
,
34 Layer
* mirroring_layer
) OVERRIDE
;
35 virtual void RemoveReflector(scoped_refptr
<Reflector
> reflector
) OVERRIDE
;
37 virtual scoped_refptr
<cc::ContextProvider
> SharedMainThreadContextProvider()
39 virtual void RemoveCompositor(Compositor
* compositor
) OVERRIDE
;
40 virtual bool DoesCreateTestContexts() OVERRIDE
;
41 virtual cc::SharedBitmapManager
* GetSharedBitmapManager() OVERRIDE
;
42 virtual base::MessageLoopProxy
* GetCompositorMessageLoop() OVERRIDE
;
45 scoped_ptr
<base::Thread
> compositor_thread_
;
46 scoped_refptr
<webkit::gpu::ContextProviderInProcess
>
47 shared_main_thread_contexts_
;
48 scoped_ptr
<cc::SharedBitmapManager
> shared_bitmap_manager_
;
50 DISALLOW_COPY_AND_ASSIGN(InProcessContextFactory
);
55 #endif // UI_COMPOSITOR_TEST_IN_PROCESS_CONTEXT_FACTORY_H_