| Index: cc/texture_layer_unittest.cc
|
| diff --git a/cc/texture_layer_unittest.cc b/cc/texture_layer_unittest.cc
|
| index ff06936539b3ba83ff989577ecdfca9babba1e2b..cada101df200d436995e7125a1c753d38101033d 100644
|
| --- a/cc/texture_layer_unittest.cc
|
| +++ b/cc/texture_layer_unittest.cc
|
| @@ -196,22 +196,27 @@ public:
|
|
|
| struct CommonMailboxObjects {
|
| CommonMailboxObjects()
|
| - : m_mailbox1(64, '1')
|
| - , m_mailbox2(64, '2')
|
| + : m_mailboxName1(64, '1')
|
| + , m_mailboxName2(64, '2')
|
| {
|
| m_releaseMailbox1 = base::Bind(&MockMailboxCallback::Release,
|
| base::Unretained(&m_mockCallback),
|
| - m_mailbox1);
|
| + m_mailboxName1);
|
| m_releaseMailbox2 = base::Bind(&MockMailboxCallback::Release,
|
| base::Unretained(&m_mockCallback),
|
| - m_mailbox2);
|
| + m_mailboxName2);
|
| +
|
| + m_mailbox1 = TextureMailbox(m_mailboxName1, m_releaseMailbox1);
|
| + m_mailbox2 = TextureMailbox(m_mailboxName2, m_releaseMailbox2);
|
| }
|
|
|
| - std::string m_mailbox1;
|
| - std::string m_mailbox2;
|
| + std::string m_mailboxName1;
|
| + std::string m_mailboxName2;
|
| MockMailboxCallback m_mockCallback;
|
| - TextureLayer::MailboxCallback m_releaseMailbox1;
|
| - TextureLayer::MailboxCallback m_releaseMailbox2;
|
| + TextureMailbox::ReleaseCallback m_releaseMailbox1;
|
| + TextureMailbox::ReleaseCallback m_releaseMailbox2;
|
| + TextureMailbox m_mailbox1;
|
| + TextureMailbox m_mailbox2;
|
| };
|
|
|
| class TextureLayerWithMailboxTest : public TextureLayerTest {
|
| @@ -220,7 +225,7 @@ protected:
|
| {
|
| Mock::VerifyAndClearExpectations(&m_testData.m_mockCallback);
|
| EXPECT_CALL(m_testData.m_mockCallback,
|
| - Release(m_testData.m_mailbox1, _)).Times(1);
|
| + Release(m_testData.m_mailboxName1, _)).Times(1);
|
| TextureLayerTest::TearDown();
|
| }
|
|
|
| @@ -239,32 +244,28 @@ TEST_F(TextureLayerWithMailboxTest, replaceMailboxOnMainThreadBeforeCommit)
|
|
|
| EXPECT_CALL(*m_layerTreeHost, acquireLayerTextures()).Times(0);
|
| EXPECT_CALL(*m_layerTreeHost, setNeedsCommit()).Times(AtLeast(1));
|
| - testLayer->setTextureMailbox(m_testData.m_mailbox1,
|
| - m_testData.m_releaseMailbox1);
|
| + testLayer->setTextureMailbox(m_testData.m_mailbox1);
|
| Mock::VerifyAndClearExpectations(m_layerTreeHost.get());
|
|
|
| EXPECT_CALL(*m_layerTreeHost, acquireLayerTextures()).Times(0);
|
| EXPECT_CALL(*m_layerTreeHost, setNeedsCommit()).Times(AtLeast(1));
|
| EXPECT_CALL(m_testData.m_mockCallback,
|
| - Release(m_testData.m_mailbox1, _)).Times(1);
|
| - testLayer->setTextureMailbox(m_testData.m_mailbox2,
|
| - m_testData.m_releaseMailbox2);
|
| + Release(m_testData.m_mailboxName1, _)).Times(1);
|
| + testLayer->setTextureMailbox(m_testData.m_mailbox2);
|
| Mock::VerifyAndClearExpectations(m_layerTreeHost.get());
|
| Mock::VerifyAndClearExpectations(&m_testData.m_mockCallback);
|
|
|
| EXPECT_CALL(*m_layerTreeHost, acquireLayerTextures()).Times(0);
|
| EXPECT_CALL(*m_layerTreeHost, setNeedsCommit()).Times(AtLeast(1));
|
| EXPECT_CALL(m_testData.m_mockCallback,
|
| - Release(m_testData.m_mailbox2, _)).Times(1);
|
| - testLayer->setTextureMailbox(std::string(),
|
| - TextureLayer::MailboxCallback());
|
| + Release(m_testData.m_mailboxName2, _)).Times(1);
|
| + testLayer->setTextureMailbox(TextureMailbox());
|
| Mock::VerifyAndClearExpectations(m_layerTreeHost.get());
|
| Mock::VerifyAndClearExpectations(&m_testData.m_mockCallback);
|
|
|
| // Test destructor.
|
| EXPECT_CALL(*m_layerTreeHost, setNeedsCommit()).Times(AtLeast(1));
|
| - testLayer->setTextureMailbox(m_testData.m_mailbox1,
|
| - m_testData.m_releaseMailbox1);
|
| + testLayer->setTextureMailbox(m_testData.m_mailbox1);
|
| }
|
|
|
| class TextureLayerImplWithMailboxThreadedCallback : public ThreadedTest {
|
| @@ -285,11 +286,12 @@ public:
|
| m_layer = TextureLayer::createForMailbox();
|
| m_layer->setIsDrawable(true);
|
| m_layerTreeHost->setRootLayer(m_layer);
|
| - m_layer->setTextureMailbox(
|
| + TextureMailbox mailbox(
|
| std::string(64, '1'),
|
| base::Bind(
|
| &TextureLayerImplWithMailboxThreadedCallback::releaseCallback,
|
| base::Unretained(this)));
|
| + m_layer->setTextureMailbox(mailbox);
|
| postSetNeedsCommitToMainThread();
|
| }
|
|
|
| @@ -298,8 +300,7 @@ public:
|
| if (m_resetMailbox)
|
| return;
|
|
|
| - m_layer->setTextureMailbox(std::string(),
|
| - TextureLayer::MailboxCallback());
|
| + m_layer->setTextureMailbox(TextureMailbox());
|
| m_resetMailbox = true;
|
| }
|
|
|
| @@ -334,31 +335,26 @@ TEST_F(TextureLayerImplWithMailboxTest, testImplLayerCallbacks)
|
|
|
| // Test setting identical mailbox.
|
| EXPECT_CALL(m_testData.m_mockCallback, Release(_, _)).Times(0);
|
| - implLayer->setTextureMailbox(m_testData.m_mailbox1,
|
| - m_testData.m_releaseMailbox1);
|
| - implLayer->setTextureMailbox(m_testData.m_mailbox1,
|
| - m_testData.m_releaseMailbox1);
|
| + implLayer->setTextureMailbox(m_testData.m_mailbox1);
|
| + implLayer->setTextureMailbox(m_testData.m_mailbox1);
|
| Mock::VerifyAndClearExpectations(&m_testData.m_mockCallback);
|
|
|
| // Test multiple commits without a draw.
|
| EXPECT_CALL(m_testData.m_mockCallback,
|
| - Release(m_testData.m_mailbox1, _)).Times(1);
|
| - implLayer->setTextureMailbox(m_testData.m_mailbox2,
|
| - m_testData.m_releaseMailbox2);
|
| + Release(m_testData.m_mailboxName1, _)).Times(1);
|
| + implLayer->setTextureMailbox(m_testData.m_mailbox2);
|
| Mock::VerifyAndClearExpectations(&m_testData.m_mockCallback);
|
|
|
| // Test resetting the mailbox.
|
| EXPECT_CALL(m_testData.m_mockCallback,
|
| - Release(m_testData.m_mailbox2, _)).Times(1);
|
| - implLayer->setTextureMailbox(std::string(),
|
| - TextureLayer::MailboxCallback());
|
| + Release(m_testData.m_mailboxName2, _)).Times(1);
|
| + implLayer->setTextureMailbox(TextureMailbox());
|
| Mock::VerifyAndClearExpectations(&m_testData.m_mockCallback);
|
|
|
| // Test destructor.
|
| EXPECT_CALL(m_testData.m_mockCallback,
|
| - Release(m_testData.m_mailbox1, _)).Times(1);
|
| - implLayer->setTextureMailbox(m_testData.m_mailbox1,
|
| - m_testData.m_releaseMailbox1);
|
| + Release(m_testData.m_mailboxName1, _)).Times(1);
|
| + implLayer->setTextureMailbox(m_testData.m_mailbox1);
|
| }
|
|
|
| TEST_F(TextureLayerImplWithMailboxTest, testDestructorCallbackOnCreatedResource)
|
| @@ -368,22 +364,18 @@ TEST_F(TextureLayerImplWithMailboxTest, testDestructorCallbackOnCreatedResource)
|
| ASSERT_TRUE(implLayer);
|
|
|
| EXPECT_CALL(m_testData.m_mockCallback,
|
| - Release(m_testData.m_mailbox1, _)).Times(1);
|
| - implLayer->setTextureMailbox(m_testData.m_mailbox1,
|
| - m_testData.m_releaseMailbox1);
|
| + Release(m_testData.m_mailboxName1, _)).Times(1);
|
| + implLayer->setTextureMailbox(m_testData.m_mailbox1);
|
| implLayer->willDraw(m_hostImpl.activeTree()->resource_provider());
|
| implLayer->didDraw(m_hostImpl.activeTree()->resource_provider());
|
| - implLayer->setTextureMailbox(std::string(),
|
| - TextureLayer::MailboxCallback());
|
| + implLayer->setTextureMailbox(TextureMailbox());
|
| }
|
|
|
| TEST_F(TextureLayerImplWithMailboxTest, testCallbackOnInUseResource)
|
| {
|
| ResourceProvider *provider = m_hostImpl.activeTree()->resource_provider();
|
| ResourceProvider::ResourceId id =
|
| - provider->createResourceFromTextureMailbox(
|
| - m_testData.m_mailbox1,
|
| - m_testData.m_releaseMailbox1);
|
| + provider->createResourceFromTextureMailbox(m_testData.m_mailbox1);
|
| provider->allocateForTesting(id);
|
|
|
| // Transfer some resources to the parent.
|
| @@ -396,7 +388,7 @@ TEST_F(TextureLayerImplWithMailboxTest, testCallbackOnInUseResource)
|
| provider->deleteResource(id);
|
| Mock::VerifyAndClearExpectations(&m_testData.m_mockCallback);
|
| EXPECT_CALL(m_testData.m_mockCallback,
|
| - Release(m_testData.m_mailbox1, _)).Times(1);
|
| + Release(m_testData.m_mailboxName1, _)).Times(1);
|
| provider->receiveFromParent(list);
|
| }
|
|
|
|
|