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..e12eb4d6009ca7f09f979e6505a8c37916aed097 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() { |