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.
4
5#include <stdio.h>
6#include <cmath>
7#include <string>
8#include <vector>
9
10#include "content/public/test/unittest_test_suite.h"
11#include "testing/gtest/include/gtest/gtest.h"
12#include "ui/gl/gl_surface.h"
13#include "webkit/common/gpu/webgraphicscontext3d_in_process_command_buffer_impl.h"
14
15namespace {
16
17using webkit::gpu::WebGraphicsContext3DInProcessCommandBufferImpl;
18
19class ContextTestBase : public testing::Test {
20 public:
21  virtual void SetUp() {
22    blink::WebGraphicsContext3D::Attributes attributes;
23    bool lose_context_when_out_of_memory = false;
24    typedef WebGraphicsContext3DInProcessCommandBufferImpl WGC3DIPCBI;
25    context_ = WGC3DIPCBI::CreateOffscreenContext(
26        attributes, lose_context_when_out_of_memory);
27    context_->InitializeOnCurrentThread();
28    context_support_ = context_->GetContextSupport();
29  }
30
31  virtual void TearDown() {
32    context_.reset(NULL);
33  }
34
35 protected:
36  scoped_ptr<WebGraphicsContext3DInProcessCommandBufferImpl> context_;
37  gpu::ContextSupport* context_support_;
38};
39
40}  // namespace
41
42// Include the actual tests.
43#define CONTEXT_TEST_F TEST_F
44#include "content/common/gpu/client/gpu_context_tests.h"
45