Index: cc/test/test_context_provider.cc |
diff --git a/cc/test/test_context_provider.cc b/cc/test/test_context_provider.cc |
deleted file mode 100644 |
index 90df22a2f40a8dea283ccdf00f0cf87fb2b2f7ee..0000000000000000000000000000000000000000 |
--- a/cc/test/test_context_provider.cc |
+++ /dev/null |
@@ -1,199 +0,0 @@ |
-// Copyright 2013 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#include "cc/test/test_context_provider.h" |
- |
-#include <set> |
-#include <vector> |
- |
-#include "base/bind.h" |
-#include "base/callback_helpers.h" |
-#include "base/logging.h" |
-#include "cc/test/test_gles2_interface.h" |
-#include "third_party/skia/include/gpu/GrContext.h" |
-#include "third_party/skia/include/gpu/gl/SkNullGLContext.h" |
- |
-namespace cc { |
- |
-// static |
-scoped_refptr<TestContextProvider> TestContextProvider::Create() { |
- return Create(TestWebGraphicsContext3D::Create().Pass()); |
-} |
- |
-// static |
-scoped_refptr<TestContextProvider> TestContextProvider::Create( |
- scoped_ptr<TestWebGraphicsContext3D> context) { |
- if (!context) |
- return NULL; |
- return new TestContextProvider(context.Pass()); |
-} |
- |
-TestContextProvider::TestContextProvider( |
- scoped_ptr<TestWebGraphicsContext3D> context) |
- : context3d_(context.Pass()), |
- context_gl_(new TestGLES2Interface(context3d_.get())), |
- bound_(false), |
- destroyed_(false), |
- weak_ptr_factory_(this) { |
- DCHECK(main_thread_checker_.CalledOnValidThread()); |
- DCHECK(context3d_); |
- context_thread_checker_.DetachFromThread(); |
- context3d_->set_test_support(&support_); |
-} |
- |
-TestContextProvider::~TestContextProvider() { |
- DCHECK(main_thread_checker_.CalledOnValidThread() || |
- context_thread_checker_.CalledOnValidThread()); |
-} |
- |
-bool TestContextProvider::BindToCurrentThread() { |
- // This is called on the thread the context will be used. |
- DCHECK(context_thread_checker_.CalledOnValidThread()); |
- |
- if (bound_) |
- return true; |
- |
- if (context3d_->isContextLost()) { |
- base::AutoLock lock(destroyed_lock_); |
- destroyed_ = true; |
- return false; |
- } |
- bound_ = true; |
- |
- context3d_->set_context_lost_callback( |
- base::Bind(&TestContextProvider::OnLostContext, |
- base::Unretained(this))); |
- |
- return true; |
-} |
- |
-void TestContextProvider::DetachFromThread() { |
- context_thread_checker_.DetachFromThread(); |
-} |
- |
-ContextProvider::Capabilities TestContextProvider::ContextCapabilities() { |
- DCHECK(bound_); |
- DCHECK(context_thread_checker_.CalledOnValidThread()); |
- |
- return context3d_->test_capabilities(); |
-} |
- |
-gpu::gles2::GLES2Interface* TestContextProvider::ContextGL() { |
- DCHECK(context3d_); |
- DCHECK(bound_); |
- DCHECK(context_thread_checker_.CalledOnValidThread()); |
- |
- return context_gl_.get(); |
-} |
- |
-gpu::ContextSupport* TestContextProvider::ContextSupport() { |
- return &support_; |
-} |
- |
-class GrContext* TestContextProvider::GrContext() { |
- DCHECK(bound_); |
- DCHECK(context_thread_checker_.CalledOnValidThread()); |
- |
- if (gr_context_) |
- return gr_context_.get(); |
- |
- skia::RefPtr<class SkGLContext> gl_context = |
- skia::AdoptRef(SkNullGLContext::Create(kNone_GrGLStandard)); |
- gl_context->makeCurrent(); |
- gr_context_ = skia::AdoptRef(GrContext::Create( |
- kOpenGL_GrBackend, reinterpret_cast<GrBackendContext>(gl_context->gl()))); |
- |
- // If GlContext is already lost, also abandon the new GrContext. |
- if (IsContextLost()) |
- gr_context_->abandonContext(); |
- |
- return gr_context_.get(); |
-} |
- |
-void TestContextProvider::SetupLock() { |
-} |
- |
-base::Lock* TestContextProvider::GetLock() { |
- return &context_lock_; |
-} |
- |
-bool TestContextProvider::IsContextLost() { |
- DCHECK(bound_); |
- DCHECK(context_thread_checker_.CalledOnValidThread()); |
- |
- return context3d_->isContextLost(); |
-} |
- |
-void TestContextProvider::VerifyContexts() { |
- DCHECK(bound_); |
- DCHECK(context_thread_checker_.CalledOnValidThread()); |
- |
- if (context3d_->isContextLost()) { |
- base::AutoLock lock(destroyed_lock_); |
- destroyed_ = true; |
- } |
-} |
- |
-void TestContextProvider::DeleteCachedResources() { |
-} |
- |
-bool TestContextProvider::DestroyedOnMainThread() { |
- DCHECK(main_thread_checker_.CalledOnValidThread()); |
- |
- base::AutoLock lock(destroyed_lock_); |
- return destroyed_; |
-} |
- |
-void TestContextProvider::OnLostContext() { |
- DCHECK(context_thread_checker_.CalledOnValidThread()); |
- { |
- base::AutoLock lock(destroyed_lock_); |
- if (destroyed_) |
- return; |
- destroyed_ = true; |
- } |
- if (!lost_context_callback_.is_null()) |
- base::ResetAndReturn(&lost_context_callback_).Run(); |
- if (gr_context_) |
- gr_context_->abandonContext(); |
-} |
- |
-TestWebGraphicsContext3D* TestContextProvider::TestContext3d() { |
- DCHECK(bound_); |
- DCHECK(context_thread_checker_.CalledOnValidThread()); |
- |
- return context3d_.get(); |
-} |
- |
-TestWebGraphicsContext3D* TestContextProvider::UnboundTestContext3d() { |
- return context3d_.get(); |
-} |
- |
-void TestContextProvider::SetMemoryAllocation( |
- const ManagedMemoryPolicy& policy) { |
- if (memory_policy_changed_callback_.is_null()) |
- return; |
- memory_policy_changed_callback_.Run(policy); |
-} |
- |
-void TestContextProvider::SetLostContextCallback( |
- const LostContextCallback& cb) { |
- DCHECK(context_thread_checker_.CalledOnValidThread()); |
- DCHECK(lost_context_callback_.is_null() || cb.is_null()); |
- lost_context_callback_ = cb; |
-} |
- |
-void TestContextProvider::SetMemoryPolicyChangedCallback( |
- const MemoryPolicyChangedCallback& cb) { |
- DCHECK(context_thread_checker_.CalledOnValidThread()); |
- DCHECK(memory_policy_changed_callback_.is_null() || cb.is_null()); |
- memory_policy_changed_callback_ = cb; |
-} |
- |
-void TestContextProvider::SetMaxTransferBufferUsageBytes( |
- size_t max_transfer_buffer_usage_bytes) { |
- context3d_->SetMaxTransferBufferUsageBytes(max_transfer_buffer_usage_bytes); |
-} |
- |
-} // namespace cc |