Chromium Code Reviews| 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 |