1 // Copyright (c) 2012 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 PPAPI_SHARED_IMPL_TEST_GLOBALS_H_
6 #define PPAPI_SHARED_IMPL_TEST_GLOBALS_H_
8 #include "base/compiler_specific.h"
9 #include "ppapi/shared_impl/callback_tracker.h"
10 #include "ppapi/shared_impl/ppapi_globals.h"
11 #include "ppapi/shared_impl/resource_tracker.h"
12 #include "ppapi/shared_impl/var_tracker.h"
16 class TestVarTracker
: public VarTracker
{
19 virtual ~TestVarTracker() {}
20 virtual ArrayBufferVar
* CreateArrayBuffer(uint32 size_in_bytes
) OVERRIDE
{
23 virtual void DidDeleteInstance(PP_Instance instance
) OVERRIDE
{
27 // Implementation of PpapiGlobals for tests that don't need either the host- or
28 // plugin-specific implementations.
29 class TestGlobals
: public PpapiGlobals
{
32 TestGlobals(PpapiGlobals::ForTest
);
33 virtual ~TestGlobals();
35 // PpapiGlobals implementation.
36 virtual ResourceTracker
* GetResourceTracker() OVERRIDE
;
37 virtual VarTracker
* GetVarTracker() OVERRIDE
;
38 virtual CallbackTracker
* GetCallbackTrackerForInstance(
39 PP_Instance instance
) OVERRIDE
;
40 virtual thunk::PPB_Instance_API
* GetInstanceAPI(
41 PP_Instance instance
) OVERRIDE
;
42 virtual thunk::ResourceCreationAPI
* GetResourceCreationAPI(
43 PP_Instance instance
) OVERRIDE
;
44 virtual PP_Module
GetModuleForInstance(PP_Instance instance
) OVERRIDE
;
45 virtual std::string
GetCmdLine() OVERRIDE
;
46 virtual void PreCacheFontForFlash(const void* logfontw
) OVERRIDE
;
47 virtual base::Lock
* GetProxyLock() OVERRIDE
;
48 virtual void LogWithSource(PP_Instance instance
,
49 PP_LogLevel_Dev level
,
50 const std::string
& source
,
51 const std::string
& value
) OVERRIDE
;
52 virtual void BroadcastLogWithSource(PP_Module module
,
53 PP_LogLevel_Dev level
,
54 const std::string
& source
,
55 const std::string
& value
) OVERRIDE
;
58 ResourceTracker resource_tracker_
;
59 TestVarTracker var_tracker_
;
60 scoped_refptr
<CallbackTracker
> callback_tracker_
;
62 DISALLOW_COPY_AND_ASSIGN(TestGlobals
);
67 #endif // PPAPI_SHARED_IMPL_TEST_GLOBALS_H_