diff options
author | danakj@chromium.org <danakj@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-11-28 22:18:13 +0000 |
---|---|---|
committer | danakj@chromium.org <danakj@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-11-28 22:18:13 +0000 |
commit | 664b93c14564c47d4c99cee4a6d14d2386ccbf3f (patch) | |
tree | b014eb6e6aea56eefd0073752a9e70e80a4e400f /cc | |
parent | e9c804d5e5ec760844574a9ab6781e4cf7f7cee0 (diff) | |
download | chromium_src-664b93c14564c47d4c99cee4a6d14d2386ccbf3f.zip chromium_src-664b93c14564c47d4c99cee4a6d14d2386ccbf3f.tar.gz chromium_src-664b93c14564c47d4c99cee4a6d14d2386ccbf3f.tar.bz2 |
cc: Add a test to verify DelegatedRendererLayer owns a RenderSurface when needed.
In the test, the layer is holding quads from a tree that consisted of multiple
layers, and the quads overlap. When the DelegatedRendererLayer has opacity 1,
it does not need to own a surface here. But when it has opacity < 1, then it
does.
R=piman
NOTRY=true
Review URL: https://chromiumcodereview.appspot.com/11421089
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@170070 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'cc')
-rw-r--r-- | cc/delegated_renderer_layer_impl_unittest.cc | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/cc/delegated_renderer_layer_impl_unittest.cc b/cc/delegated_renderer_layer_impl_unittest.cc index 4fb4864..d37ef5b 100644 --- a/cc/delegated_renderer_layer_impl_unittest.cc +++ b/cc/delegated_renderer_layer_impl_unittest.cc @@ -272,6 +272,34 @@ TEST_F(DelegatedRendererLayerImplTestSimple, QuadsFromRootRenderPassAreModifiedF EXPECT_TRANSFORMATION_MATRIX_EQ(gfx::Transform(), frame.renderPasses[1]->quad_list[0]->quadTransform()); } +TEST_F(DelegatedRendererLayerImplTestSimple, DoesNotOwnARenderSurface) +{ + LayerTreeHostImpl::FrameData frame; + EXPECT_TRUE(m_hostImpl->prepareToDraw(frame)); + m_hostImpl->drawLayers(frame); + m_hostImpl->didDrawAllLayers(frame); + + // If the DelegatedRendererLayer is axis aligned and has opacity 1, then + // it has no need to be a renderSurface for the quads it carries. + EXPECT_FALSE(m_delegatedRendererLayerPtr->renderSurface()); +} + +TEST_F(DelegatedRendererLayerImplTestSimple, DoesOwnARenderSurface) +{ + m_delegatedRendererLayerPtr->setOpacity(0.5f); + + LayerTreeHostImpl::FrameData frame; + EXPECT_TRUE(m_hostImpl->prepareToDraw(frame)); + m_hostImpl->drawLayers(frame); + m_hostImpl->didDrawAllLayers(frame); + + // This test case has quads from multiple layers in the delegated renderer, + // so if the DelegatedRendererLayer has opacity < 1, it should end up with + // a render surface. + EXPECT_TRUE(m_delegatedRendererLayerPtr->renderSurface()); + +} + class DelegatedRendererLayerImplTestOwnSurface : public DelegatedRendererLayerImplTestSimple { public: DelegatedRendererLayerImplTestOwnSurface() |