Index: cc/test/layer_tree_test_common.cc |
=================================================================== |
--- cc/test/layer_tree_test_common.cc (revision 165906) |
+++ cc/test/layer_tree_test_common.cc (working copy) |
@@ -89,9 +89,9 @@ |
return FakeWebCompositorOutputSurface::create(CompositorFakeWebGraphicsContext3DWithTextureTracking::create(WebGraphicsContext3D::Attributes()).PassAs<WebKit::WebGraphicsContext3D>()).PassAs<WebKit::WebCompositorOutputSurface>(); |
} |
-scoped_ptr<MockLayerTreeHostImpl> MockLayerTreeHostImpl::create(TestHooks* testHooks, const LayerTreeSettings& settings, LayerTreeHostImplClient* client, Proxy* proxy) |
+scoped_ptr<MockLayerTreeHostImpl> MockLayerTreeHostImpl::create(TestHooks* testHooks, const LayerTreeSettings& settings, LayerTreeHostImplClient* client) |
{ |
- return make_scoped_ptr(new MockLayerTreeHostImpl(testHooks, settings, client, proxy)); |
+ return make_scoped_ptr(new MockLayerTreeHostImpl(testHooks, settings, client)); |
} |
void MockLayerTreeHostImpl::beginCommit() |
@@ -132,8 +132,8 @@ |
return base::TimeDelta::FromMilliseconds(16); |
} |
-MockLayerTreeHostImpl::MockLayerTreeHostImpl(TestHooks* testHooks, const LayerTreeSettings& settings, LayerTreeHostImplClient* client, Proxy* proxy) |
- : LayerTreeHostImpl(settings, client, proxy) |
+MockLayerTreeHostImpl::MockLayerTreeHostImpl(TestHooks* testHooks, const LayerTreeSettings& settings, LayerTreeHostImplClient* client) |
+ : LayerTreeHostImpl(settings, client) |
, m_testHooks(testHooks) |
{ |
} |
@@ -141,10 +141,10 @@ |
// Adapts LayerTreeHost for test. Injects MockLayerTreeHostImpl. |
class MockLayerTreeHost : public cc::LayerTreeHost { |
public: |
- static scoped_ptr<MockLayerTreeHost> create(TestHooks* testHooks, cc::LayerTreeHostClient* client, scoped_refptr<cc::Layer> rootLayer, const cc::LayerTreeSettings& settings, scoped_ptr<cc::Thread> implThread) |
+ static scoped_ptr<MockLayerTreeHost> create(TestHooks* testHooks, cc::LayerTreeHostClient* client, scoped_refptr<cc::Layer> rootLayer, const cc::LayerTreeSettings& settings) |
{ |
scoped_ptr<MockLayerTreeHost> layerTreeHost(new MockLayerTreeHost(testHooks, client, settings)); |
- bool success = layerTreeHost->initialize(implThread.Pass()); |
+ bool success = layerTreeHost->initialize(); |
EXPECT_TRUE(success); |
layerTreeHost->setRootLayer(rootLayer); |
@@ -158,7 +158,7 @@ |
virtual scoped_ptr<cc::LayerTreeHostImpl> createLayerTreeHostImpl(cc::LayerTreeHostImplClient* client) |
{ |
- return MockLayerTreeHostImpl::create(m_testHooks, settings(), client, proxy()).PassAs<cc::LayerTreeHostImpl>(); |
+ return MockLayerTreeHostImpl::create(m_testHooks, settings(), client).PassAs<cc::LayerTreeHostImpl>(); |
} |
virtual void didAddAnimation() OVERRIDE |
@@ -275,7 +275,6 @@ |
, m_finished(false) |
, m_scheduled(false) |
, m_started(false) |
- , m_implThread(0) |
{ |
} |
@@ -347,13 +346,11 @@ |
void ThreadedTest::doBeginTest() |
{ |
+ DCHECK(Proxy::isMainThread()); |
m_client = ThreadedMockLayerTreeHostClient::create(this); |
scoped_refptr<Layer> rootLayer = Layer::create(); |
- scoped_ptr<cc::Thread> implCCThread(NULL); |
- if (m_implThread) |
- implCCThread = cc::ThreadImpl::createForDifferentThread(m_implThread->message_loop_proxy()); |
- m_layerTreeHost = MockLayerTreeHost::create(this, m_client.get(), rootLayer, m_settings, implCCThread.Pass()); |
+ m_layerTreeHost = MockLayerTreeHost::create(this, m_client.get(), rootLayer, m_settings); |
ASSERT_TRUE(m_layerTreeHost.get()); |
rootLayer->setLayerTreeHost(m_layerTreeHost.get()); |
m_layerTreeHost->setSurfaceReady(); |
@@ -387,12 +384,13 @@ |
void ThreadedTest::realEndTest() |
{ |
+ DCHECK(Proxy::isMainThread()); |
MessageLoop::current()->Quit(); |
} |
void ThreadedTest::dispatchSetNeedsAnimate() |
{ |
- DCHECK(!proxy() || proxy()->isMainThread()); |
+ DCHECK(Proxy::isMainThread()); |
if (m_finished) |
return; |
@@ -403,7 +401,7 @@ |
void ThreadedTest::dispatchAddInstantAnimation() |
{ |
- DCHECK(!proxy() || proxy()->isMainThread()); |
+ DCHECK(Proxy::isMainThread()); |
if (m_finished) |
return; |
@@ -414,7 +412,7 @@ |
void ThreadedTest::dispatchAddAnimation(Layer* layerToReceiveAnimation) |
{ |
- DCHECK(!proxy() || proxy()->isMainThread()); |
+ DCHECK(Proxy::isMainThread()); |
if (m_finished) |
return; |
@@ -425,7 +423,7 @@ |
void ThreadedTest::dispatchSetNeedsAnimateAndCommit() |
{ |
- DCHECK(!proxy() || proxy()->isMainThread()); |
+ DCHECK(Proxy::isMainThread()); |
if (m_finished) |
return; |
@@ -438,7 +436,7 @@ |
void ThreadedTest::dispatchSetNeedsCommit() |
{ |
- DCHECK(!proxy() || proxy()->isMainThread()); |
+ DCHECK(Proxy::isMainThread()); |
if (m_finished) |
return; |
@@ -449,7 +447,7 @@ |
void ThreadedTest::dispatchAcquireLayerTextures() |
{ |
- DCHECK(!proxy() || proxy()->isMainThread()); |
+ DCHECK(Proxy::isMainThread()); |
if (m_finished) |
return; |
@@ -460,7 +458,7 @@ |
void ThreadedTest::dispatchSetNeedsRedraw() |
{ |
- DCHECK(!proxy() || proxy()->isMainThread()); |
+ DCHECK(Proxy::isMainThread()); |
if (m_finished) |
return; |
@@ -471,7 +469,7 @@ |
void ThreadedTest::dispatchSetVisible(bool visible) |
{ |
- DCHECK(!proxy() || proxy()->isMainThread()); |
+ DCHECK(Proxy::isMainThread()); |
if (m_finished) |
return; |
@@ -489,7 +487,7 @@ |
void ThreadedTest::dispatchDidAddAnimation() |
{ |
- DCHECK(!proxy() || proxy()->isMainThread()); |
+ DCHECK(Proxy::isMainThread()); |
if (m_finished) |
return; |
@@ -507,21 +505,25 @@ |
if (threaded) { |
m_implThread.reset(new base::Thread("ThreadedTest")); |
ASSERT_TRUE(m_implThread->Start()); |
+ m_implCCThread = cc::ThreadImpl::createForDifferentThread(m_implThread->message_loop_proxy()); |
+ cc::Proxy::setImplThread(m_implCCThread.get()); |
} |
- m_mainCCThread = cc::ThreadImpl::createForCurrentThread(); |
- m_mainThreadProxy = ScopedThreadProxy::create(m_mainCCThread.get()); |
+ DCHECK(Proxy::isMainThread()); |
+ m_mainThreadProxy = ScopedThreadProxy::create(Proxy::mainThread()); |
initializeSettings(m_settings); |
- m_mainCCThread->postTask(base::Bind(&ThreadedTest::doBeginTest, base::Unretained(this))); |
+ cc::Proxy::mainThread()->postTask(base::Bind(&ThreadedTest::doBeginTest, base::Unretained(this))); |
m_timeout.Reset(base::Bind(&ThreadedTest::timeout, base::Unretained(this))); |
- m_mainCCThread->postDelayedTask(m_timeout.callback(), 5000); |
+ cc::Proxy::mainThread()->postDelayedTask(m_timeout.callback(), 5000); |
MessageLoop::current()->Run(); |
if (m_layerTreeHost.get() && m_layerTreeHost->rootLayer()) |
m_layerTreeHost->rootLayer()->setLayerTreeHost(0); |
m_layerTreeHost.reset(); |
+ cc::Proxy::setImplThread(0); |
+ |
m_timeout.Cancel(); |
ASSERT_FALSE(m_layerTreeHost.get()); |