chromium/third_party/blink/renderer/platform/graphics/gpu/shared_gpu_context_test.cc

// Copyright 2016 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "third_party/blink/renderer/platform/graphics/gpu/shared_gpu_context.h"

#include <memory>

#include "base/task/single_thread_task_runner.h"
#include "base/test/null_task_runner.h"
#include "components/viz/test/test_gles2_interface.h"
#include "gpu/command_buffer/client/gles2_interface.h"
#include "gpu/command_buffer/common/capabilities.h"
#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "third_party/blink/renderer/platform/graphics/canvas_2d_layer_bridge.h"
#include "third_party/blink/renderer/platform/graphics/canvas_resource_provider.h"
#include "third_party/blink/renderer/platform/graphics/static_bitmap_image.h"
#include "third_party/blink/renderer/platform/graphics/test/fake_canvas_resource_host.h"
#include "third_party/blink/renderer/platform/graphics/test/fake_gles2_interface.h"
#include "third_party/blink/renderer/platform/graphics/test/fake_web_graphics_context_3d_provider.h"
#include "third_party/blink/renderer/platform/graphics/test/gpu_test_utils.h"
#include "third_party/blink/renderer/platform/testing/testing_platform_support.h"
#include "third_party/blink/renderer/platform/wtf/allocator/allocator.h"
#include "third_party/blink/renderer/platform/wtf/functional.h"
#include "third_party/khronos/GLES2/gl2ext.h"

_;
Test;

namespace blink {

namespace {

class AcceleratedCompositingTestPlatform
    : public blink::TestingPlatformSupport {};

template <class GLES2InterfaceType>
class SharedGpuContextTestBase : public Test {};

class TestGLES2Interface : public FakeGLES2Interface {};

class SharedGpuContextTest
    : public SharedGpuContextTestBase<TestGLES2Interface> {};

class MailboxMockGLES2Interface : public TestGLES2Interface {};

// Test fixure that simulate a graphics context creation failure, when using gpu
// compositing.
class BadSharedGpuContextTest : public Test {};

// Test fixure that simulate not using gpu compositing.
class SoftwareCompositingTest : public Test {};

class SharedGpuContextTestViz : public Test {};

TEST_F(SharedGpuContextTest, contextLossAutoRecovery) {}

TEST_F(SharedGpuContextTest, Canvas2DLayerBridgeAutoRecovery) {}

TEST_F(SharedGpuContextTest, IsValidWithoutRestoring) {}

TEST_F(BadSharedGpuContextTest, IsValidWithoutRestoring) {}

TEST_F(BadSharedGpuContextTest, AllowSoftwareToAcceleratedCanvasUpgrade) {}

TEST_F(BadSharedGpuContextTest, AccelerateImageBufferSurfaceCreationFails) {}

TEST_F(SharedGpuContextTest, CompositingMode) {}

TEST_F(BadSharedGpuContextTest, CompositingMode) {}

TEST_F(SoftwareCompositingTest, CompositingMode) {}

TEST_F(SharedGpuContextTestViz, AccelerateImageBufferSurfaceAutoRecovery) {}

}  // unnamed namespace

}  // namespace blink