1 // Copyright 2013 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 CC_TEST_TEST_IN_PROCESS_CONTEXT_PROVIDER_H_
6 #define CC_TEST_TEST_IN_PROCESS_CONTEXT_PROVIDER_H_
8 #include "cc/output/context_provider.h"
9 #include "skia/ext/refptr.h"
14 class GLInProcessContext
;
19 scoped_ptr
<gpu::GLInProcessContext
> CreateTestInProcessContext();
21 class TestInProcessContextProvider
: public ContextProvider
{
23 TestInProcessContextProvider();
25 virtual bool BindToCurrentThread() OVERRIDE
;
26 virtual gpu::gles2::GLES2Interface
* ContextGL() OVERRIDE
;
27 virtual gpu::ContextSupport
* ContextSupport() OVERRIDE
;
28 virtual class GrContext
* GrContext() OVERRIDE
;
29 virtual Capabilities
ContextCapabilities() OVERRIDE
;
30 virtual bool IsContextLost() OVERRIDE
;
31 virtual void VerifyContexts() OVERRIDE
;
32 virtual void DeleteCachedResources() OVERRIDE
;
33 virtual bool DestroyedOnMainThread() OVERRIDE
;
34 virtual void SetLostContextCallback(
35 const LostContextCallback
& lost_context_callback
) OVERRIDE
;
36 virtual void SetMemoryPolicyChangedCallback(
37 const MemoryPolicyChangedCallback
& memory_policy_changed_callback
)
41 friend class base::RefCountedThreadSafe
<TestInProcessContextProvider
>;
42 virtual ~TestInProcessContextProvider();
45 scoped_ptr
<gpu::GLInProcessContext
> context_
;
46 skia::RefPtr
<class GrContext
> gr_context_
;
51 #endif // CC_TEST_TEST_IN_PROCESS_CONTEXT_PROVIDER_H_