Index: cc/test/test_context_provider.cc |
diff --git a/cc/test/test_context_provider.cc b/cc/test/test_context_provider.cc |
index ca7714d30cf9f4ca1b0eaaaeb7c117f7ddd180de..52f6e872ef979ce1f8703e32b7f9399ad4654ab8 100644 |
--- a/cc/test/test_context_provider.cc |
+++ b/cc/test/test_context_provider.cc |
@@ -19,7 +19,20 @@ namespace cc { |
// static |
scoped_refptr<TestContextProvider> TestContextProvider::Create() { |
- return Create(TestWebGraphicsContext3D::Create().Pass()); |
+ return Create(TestWebGraphicsContext3D::Create()); |
+} |
+ |
+// static |
+scoped_refptr<TestContextProvider> TestContextProvider::CreateWorker() { |
+ scoped_refptr<TestContextProvider> worker_context_provider = |
+ Create(TestWebGraphicsContext3D::Create()); |
+ if (!worker_context_provider) |
+ return nullptr; |
+ // Worker contexts are bound to the thread they are created on. |
+ if (!worker_context_provider->BindToCurrentThread()) |
+ return nullptr; |
+ worker_context_provider->SetupLock(); |
+ return worker_context_provider; |
} |
// static |
@@ -44,8 +57,6 @@ TestContextProvider::TestContextProvider( |
} |
TestContextProvider::~TestContextProvider() { |
- DCHECK(main_thread_checker_.CalledOnValidThread() || |
- context_thread_checker_.CalledOnValidThread()); |
} |
bool TestContextProvider::BindToCurrentThread() { |
@@ -198,4 +209,9 @@ void TestContextProvider::SetMaxTransferBufferUsageBytes( |
context3d_->SetMaxTransferBufferUsageBytes(max_transfer_buffer_usage_bytes); |
} |
+bool TestContextProvider::HasBeenDestroyed() { |
+ DCHECK(context_thread_checker_.CalledOnValidThread()); |
+ return destroyed_; |
piman
2015/09/04 22:19:13
I think you need to take destroyed_lock_ here.
|
+} |
+ |
} // namespace cc |