- add sources.
[platform/framework/web/crosswalk.git] / src / gpu / command_buffer / service / gles2_cmd_decoder_mock.h
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.
4
5 // This file contains the mock GLES2Decoder class.
6
7 #ifndef GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_DECODER_MOCK_H_
8 #define GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_DECODER_MOCK_H_
9
10 #include <vector>
11
12 #include "gpu/command_buffer/common/mailbox.h"
13 #include "gpu/command_buffer/service/gles2_cmd_decoder.h"
14 #include "base/callback_forward.h"
15 #include "testing/gmock/include/gmock/gmock.h"
16 #include "ui/gfx/size.h"
17
18 namespace gfx {
19 class GLContext;
20 class GLSurface;
21 }
22
23 namespace gpu {
24 class StreamTextureManager;
25
26 namespace gles2 {
27
28 class ContextGroup;
29 class ErrorState;
30 class QueryManager;
31
32 class MockGLES2Decoder : public GLES2Decoder {
33  public:
34   MockGLES2Decoder();
35   virtual ~MockGLES2Decoder();
36
37   MOCK_METHOD6(Initialize,
38                bool(const scoped_refptr<gfx::GLSurface>& surface,
39                     const scoped_refptr<gfx::GLContext>& context,
40                     bool offscreen,
41                     const gfx::Size& size,
42                     const DisallowedFeatures& disallowed_features,
43                     const std::vector<int32>& attribs));
44   MOCK_METHOD1(Destroy, void(bool have_context));
45   MOCK_METHOD1(SetSurface, void(const scoped_refptr<gfx::GLSurface>& surface));
46   MOCK_METHOD1(ProduceFrontBuffer, bool(const Mailbox& mailbox));
47   MOCK_METHOD1(ResizeOffscreenFrameBuffer, bool(const gfx::Size& size));
48   MOCK_METHOD0(MakeCurrent, bool());
49   MOCK_METHOD0(ReleaseCurrent, void());
50   MOCK_METHOD1(GetServiceIdForTesting, uint32(uint32 client_id));
51   MOCK_METHOD0(GetGLES2Util, GLES2Util*());
52   MOCK_METHOD0(GetGLSurface, gfx::GLSurface*());
53   MOCK_METHOD0(GetGLContext, gfx::GLContext*());
54   MOCK_METHOD0(GetContextGroup, ContextGroup*());
55   MOCK_METHOD0(ProcessPendingQueries, bool());
56   MOCK_METHOD0(HasMoreIdleWork, bool());
57   MOCK_METHOD0(PerformIdleWork, void());
58   MOCK_CONST_METHOD0(RestoreState, void());
59   MOCK_CONST_METHOD0(RestoreActiveTexture, void());
60   MOCK_CONST_METHOD0(RestoreAllTextureUnitBindings, void());
61   MOCK_CONST_METHOD1(RestoreAttribute, void(unsigned index));
62   MOCK_CONST_METHOD0(RestoreBufferBindings, void());
63   MOCK_CONST_METHOD0(RestoreFramebufferBindings, void());
64   MOCK_CONST_METHOD0(RestoreGlobalState, void());
65   MOCK_CONST_METHOD0(RestoreProgramBindings, void());
66   MOCK_CONST_METHOD0(RestoreRenderbufferBindings, void());
67   MOCK_CONST_METHOD1(RestoreTextureState, void(unsigned service_id));
68   MOCK_CONST_METHOD1(RestoreTextureUnitBindings, void(unsigned unit));
69   MOCK_METHOD0(GetQueryManager, gpu::gles2::QueryManager*());
70   MOCK_METHOD0(GetVertexArrayManager, gpu::gles2::VertexArrayManager*());
71   MOCK_METHOD1(
72       SetResizeCallback, void(const base::Callback<void(gfx::Size, float)>&));
73   MOCK_METHOD0(GetAsyncPixelTransferDelegate,
74       AsyncPixelTransferDelegate*());
75   MOCK_METHOD0(GetAsyncPixelTransferManager,
76       AsyncPixelTransferManager*());
77   MOCK_METHOD0(ResetAsyncPixelTransferManagerForTest, void());
78   MOCK_METHOD1(SetAsyncPixelTransferManagerForTest,
79       void(AsyncPixelTransferManager*));
80   MOCK_METHOD3(DoCommand, error::Error(unsigned int command,
81                                        unsigned int arg_count,
82                                        const void* cmd_data));
83   MOCK_METHOD2(GetServiceTextureId, bool(uint32 client_texture_id,
84                                          uint32* service_texture_id));
85   MOCK_METHOD0(GetContextLostReason, error::ContextLostReason());
86   MOCK_CONST_METHOD1(GetCommandName, const char*(unsigned int command_id));
87   MOCK_METHOD9(ClearLevel, bool(
88       unsigned service_id,
89       unsigned bind_target,
90       unsigned target,
91       int level,
92       unsigned format,
93       unsigned type,
94       int width,
95       int height,
96       bool is_texture_immutable));
97   MOCK_METHOD0(GetErrorState, ErrorState *());
98
99   MOCK_METHOD0(GetLogger, Logger*());
100   MOCK_METHOD1(SetShaderCacheCallback,
101                void(const ShaderCacheCallback& callback));
102   MOCK_METHOD1(SetWaitSyncPointCallback,
103                void(const WaitSyncPointCallback& callback));
104   MOCK_METHOD1(WaitForReadPixels,
105                void(base::Closure callback));
106   MOCK_METHOD0(GetTextureUploadCount, uint32());
107   MOCK_METHOD0(GetTotalTextureUploadTime, base::TimeDelta());
108   MOCK_METHOD0(GetTotalProcessingCommandsTime, base::TimeDelta());
109   MOCK_METHOD1(AddProcessingCommandsTime, void(base::TimeDelta));
110   MOCK_METHOD0(WasContextLost, bool());
111   MOCK_METHOD0(WasContextLostByRobustnessExtension, bool());
112   MOCK_METHOD1(LoseContext, void(uint32 reset_status));
113
114   DISALLOW_COPY_AND_ASSIGN(MockGLES2Decoder);
115 };
116
117 }  // namespace gles2
118 }  // namespace gpu
119
120 #endif  // GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_DECODER_MOCK_H_