1f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved. 2f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 3f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)// found in the LICENSE file. 4f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) 5f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)#ifndef GPU_COMMAND_BUFFER_SERVICE_GPU_SERVICE_TEST_H_ 6f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)#define GPU_COMMAND_BUFFER_SERVICE_GPU_SERVICE_TEST_H_ 7f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) 8f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)#include "base/memory/ref_counted.h" 9f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)#include "base/memory/scoped_ptr.h" 10f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)#include "testing/gmock/include/gmock/gmock.h" 11f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)#include "testing/gtest/include/gtest/gtest.h" 12f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)#include "ui/gl/gl_mock.h" 13f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) 14f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)namespace gfx { 15f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)class GLContextStubWithExtensions; 16f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)} 17f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) 18f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)namespace gpu { 19f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)namespace gles2 { 20f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) 21f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)// Base class for tests that need mock GL bindings. 22f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)class GpuServiceTest : public testing::Test { 23f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) public: 24f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) GpuServiceTest(); 25f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) virtual ~GpuServiceTest(); 26f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) 27f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) protected: 28116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch void SetUpWithGLVersion(const char* gl_version, const char* gl_extensions); 29f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) virtual void SetUp() OVERRIDE; 30f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) virtual void TearDown() OVERRIDE; 31f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) 32f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) scoped_ptr< ::testing::StrictMock< ::gfx::MockGLInterface> > gl_; 33f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) 34f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) private: 35f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) bool ran_setup_; 36f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) bool ran_teardown_; 37f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) scoped_refptr<gfx::GLContextStubWithExtensions> context_; 38f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)}; 39f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) 40f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)} // namespace gles2 41f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)} // namespace gpu 42f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) 43f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)#endif // GPU_COMMAND_BUFFER_SERVICE_MAILBOX_SYNCHRONIZER_H_ 44