Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(25)

Side by Side Diff: cc/layer_tree_host_impl_unittest.cc

Issue 11017044: Remove root layer specialness in calculateDrawTransforms (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: removed bogus comment Created 8 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2011 The Chromium Authors. All rights reserved. 1 // Copyright 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "config.h" 5 #include "config.h"
6 6
7 #include "cc/layer_tree_host_impl.h" 7 #include "cc/layer_tree_host_impl.h"
8 8
9 #include "base/command_line.h" 9 #include "base/command_line.h"
10 #include "base/hash_tables.h" 10 #include "base/hash_tables.h"
(...skipping 1769 matching lines...) Expand 10 before | Expand all | Expand 10 after
1780 } 1780 }
1781 1781
1782 TEST_P(LayerTreeHostImplTest, viewportCovered) 1782 TEST_P(LayerTreeHostImplTest, viewportCovered)
1783 { 1783 {
1784 m_hostImpl->initializeRenderer(createContext()); 1784 m_hostImpl->initializeRenderer(createContext());
1785 m_hostImpl->setBackgroundColor(SK_ColorGRAY); 1785 m_hostImpl->setBackgroundColor(SK_ColorGRAY);
1786 1786
1787 IntSize viewportSize(1000, 1000); 1787 IntSize viewportSize(1000, 1000);
1788 m_hostImpl->setViewportSize(viewportSize, viewportSize); 1788 m_hostImpl->setViewportSize(viewportSize, viewportSize);
1789 1789
1790 m_hostImpl->setRootLayer(BlendStateCheckLayer::create(1, m_hostImpl->resourc eProvider())); 1790 m_hostImpl->setRootLayer(LayerImpl::create(1));
1791 BlendStateCheckLayer* root = static_cast<BlendStateCheckLayer*>(m_hostImpl-> rootLayer()); 1791 m_hostImpl->rootLayer()->addChild(BlendStateCheckLayer::create(2, m_hostImpl ->resourceProvider()));
1792 root->setExpectation(false, true); 1792 BlendStateCheckLayer* child = static_cast<BlendStateCheckLayer*>(m_hostImpl- >rootLayer()->children()[0]);
1793 root->setContentsOpaque(true); 1793 child->setExpectation(false, false);
1794 child->setContentsOpaque(true);
1794 1795
1795 // No gutter rects 1796 // No gutter rects
1796 { 1797 {
1797 IntRect layerRect(0, 0, 1000, 1000); 1798 IntRect layerRect(0, 0, 1000, 1000);
1798 root->setPosition(layerRect.location()); 1799 child->setPosition(layerRect.location());
1799 root->setBounds(layerRect.size()); 1800 child->setBounds(layerRect.size());
1800 root->setContentBounds(layerRect.size()); 1801 child->setContentBounds(layerRect.size());
1801 root->setQuadRect(IntRect(IntPoint(), layerRect.size())); 1802 child->setQuadRect(IntRect(IntPoint(), layerRect.size()));
1802 root->setQuadVisibleRect(IntRect(IntPoint(), layerRect.size())); 1803 child->setQuadVisibleRect(IntRect(IntPoint(), layerRect.size()));
1803 1804
1804 LayerTreeHostImpl::FrameData frame; 1805 LayerTreeHostImpl::FrameData frame;
1805 EXPECT_TRUE(m_hostImpl->prepareToDraw(frame)); 1806 EXPECT_TRUE(m_hostImpl->prepareToDraw(frame));
1806 ASSERT_EQ(1u, frame.renderPasses.size()); 1807 ASSERT_EQ(1u, frame.renderPasses.size());
1807 1808
1808 size_t numGutterQuads = 0; 1809 size_t numGutterQuads = 0;
1809 for (size_t i = 0; i < frame.renderPasses[0]->quadList().size(); ++i) 1810 for (size_t i = 0; i < frame.renderPasses[0]->quadList().size(); ++i)
1810 numGutterQuads += (frame.renderPasses[0]->quadList()[i]->material() == DrawQuad::SolidColor) ? 1 : 0; 1811 numGutterQuads += (frame.renderPasses[0]->quadList()[i]->material() == DrawQuad::SolidColor) ? 1 : 0;
1811 EXPECT_EQ(0u, numGutterQuads); 1812 EXPECT_EQ(0u, numGutterQuads);
1812 EXPECT_EQ(1u, frame.renderPasses[0]->quadList().size()); 1813 EXPECT_EQ(1u, frame.renderPasses[0]->quadList().size());
1813 1814
1814 verifyQuadsExactlyCoverRect(frame.renderPasses[0]->quadList(), IntRect(- layerRect.location(), viewportSize)); 1815 verifyQuadsExactlyCoverRect(frame.renderPasses[0]->quadList(), IntRect(I ntPoint::zero(), viewportSize));
1815 m_hostImpl->didDrawAllLayers(frame); 1816 m_hostImpl->didDrawAllLayers(frame);
1816 } 1817 }
1817 1818
1818 // Empty visible content area (fullscreen gutter rect) 1819 // Empty visible content area (fullscreen gutter rect)
1819 { 1820 {
1820 IntRect layerRect(0, 0, 0, 0); 1821 IntRect layerRect(0, 0, 0, 0);
1821 root->setPosition(layerRect.location()); 1822 child->setPosition(layerRect.location());
1822 root->setBounds(layerRect.size()); 1823 child->setBounds(layerRect.size());
1823 root->setContentBounds(layerRect.size()); 1824 child->setContentBounds(layerRect.size());
1824 root->setQuadRect(IntRect(IntPoint(), layerRect.size())); 1825 child->setQuadRect(IntRect(IntPoint(), layerRect.size()));
1825 root->setQuadVisibleRect(IntRect(IntPoint(), layerRect.size())); 1826 child->setQuadVisibleRect(IntRect(IntPoint(), layerRect.size()));
1826 1827
1827 LayerTreeHostImpl::FrameData frame; 1828 LayerTreeHostImpl::FrameData frame;
1828 EXPECT_TRUE(m_hostImpl->prepareToDraw(frame)); 1829 EXPECT_TRUE(m_hostImpl->prepareToDraw(frame));
1829 ASSERT_EQ(1u, frame.renderPasses.size()); 1830 ASSERT_EQ(1u, frame.renderPasses.size());
1830 m_hostImpl->didDrawAllLayers(frame); 1831 m_hostImpl->didDrawAllLayers(frame);
1831 1832
1832 size_t numGutterQuads = 0; 1833 size_t numGutterQuads = 0;
1833 for (size_t i = 0; i < frame.renderPasses[0]->quadList().size(); ++i) 1834 for (size_t i = 0; i < frame.renderPasses[0]->quadList().size(); ++i)
1834 numGutterQuads += (frame.renderPasses[0]->quadList()[i]->material() == DrawQuad::SolidColor) ? 1 : 0; 1835 numGutterQuads += (frame.renderPasses[0]->quadList()[i]->material() == DrawQuad::SolidColor) ? 1 : 0;
1835 EXPECT_EQ(1u, numGutterQuads); 1836 EXPECT_EQ(1u, numGutterQuads);
1836 EXPECT_EQ(1u, frame.renderPasses[0]->quadList().size()); 1837 EXPECT_EQ(1u, frame.renderPasses[0]->quadList().size());
1837 1838
1838 verifyQuadsExactlyCoverRect(frame.renderPasses[0]->quadList(), IntRect(- layerRect.location(), viewportSize)); 1839 verifyQuadsExactlyCoverRect(frame.renderPasses[0]->quadList(), IntRect(I ntPoint::zero(), viewportSize));
1839 m_hostImpl->didDrawAllLayers(frame); 1840 m_hostImpl->didDrawAllLayers(frame);
1840 } 1841 }
1841 1842
1842 // Content area in middle of clip rect (four surrounding gutter rects) 1843 // Content area in middle of clip rect (four surrounding gutter rects)
1843 { 1844 {
1844 IntRect layerRect(500, 500, 200, 200); 1845 IntRect layerRect(500, 500, 200, 200);
1845 root->setPosition(layerRect.location()); 1846 child->setPosition(layerRect.location());
1846 root->setBounds(layerRect.size()); 1847 child->setBounds(layerRect.size());
1847 root->setContentBounds(layerRect.size()); 1848 child->setContentBounds(layerRect.size());
1848 root->setQuadRect(IntRect(IntPoint(), layerRect.size())); 1849 child->setQuadRect(IntRect(IntPoint(), layerRect.size()));
1849 root->setQuadVisibleRect(IntRect(IntPoint(), layerRect.size())); 1850 child->setQuadVisibleRect(IntRect(IntPoint(), layerRect.size()));
1850 1851
1851 LayerTreeHostImpl::FrameData frame; 1852 LayerTreeHostImpl::FrameData frame;
1852 EXPECT_TRUE(m_hostImpl->prepareToDraw(frame)); 1853 EXPECT_TRUE(m_hostImpl->prepareToDraw(frame));
1853 ASSERT_EQ(1u, frame.renderPasses.size()); 1854 ASSERT_EQ(1u, frame.renderPasses.size());
1854 1855
1855 size_t numGutterQuads = 0; 1856 size_t numGutterQuads = 0;
1856 for (size_t i = 0; i < frame.renderPasses[0]->quadList().size(); ++i) 1857 for (size_t i = 0; i < frame.renderPasses[0]->quadList().size(); ++i)
1857 numGutterQuads += (frame.renderPasses[0]->quadList()[i]->material() == DrawQuad::SolidColor) ? 1 : 0; 1858 numGutterQuads += (frame.renderPasses[0]->quadList()[i]->material() == DrawQuad::SolidColor) ? 1 : 0;
1858 EXPECT_EQ(4u, numGutterQuads); 1859 EXPECT_EQ(4u, numGutterQuads);
1859 EXPECT_EQ(5u, frame.renderPasses[0]->quadList().size()); 1860 EXPECT_EQ(5u, frame.renderPasses[0]->quadList().size());
1860 1861
1861 verifyQuadsExactlyCoverRect(frame.renderPasses[0]->quadList(), IntRect(- layerRect.location(), viewportSize)); 1862 verifyQuadsExactlyCoverRect(frame.renderPasses[0]->quadList(), IntRect(I ntPoint::zero(), viewportSize));
1862 m_hostImpl->didDrawAllLayers(frame); 1863 m_hostImpl->didDrawAllLayers(frame);
1863 } 1864 }
1864 1865
1865 } 1866 }
1866 1867
1867 1868
1868 class ReshapeTrackerContext: public FakeWebGraphicsContext3D { 1869 class ReshapeTrackerContext: public FakeWebGraphicsContext3D {
1869 public: 1870 public:
1870 ReshapeTrackerContext() : m_reshapeCalled(false) { } 1871 ReshapeTrackerContext() : m_reshapeCalled(false) { }
1871 1872
(...skipping 2504 matching lines...) Expand 10 before | Expand all | Expand 10 after
4376 verifyRenderPassTestData(removeRenderPassesCases[testCaseIndex], testDat a); 4377 verifyRenderPassTestData(removeRenderPassesCases[testCaseIndex], testDat a);
4377 testCaseIndex++; 4378 testCaseIndex++;
4378 } 4379 }
4379 } 4380 }
4380 4381
4381 INSTANTIATE_TEST_CASE_P(LayerTreeHostImplTests, 4382 INSTANTIATE_TEST_CASE_P(LayerTreeHostImplTests,
4382 LayerTreeHostImplTest, 4383 LayerTreeHostImplTest,
4383 ::testing::Values(false, true)); 4384 ::testing::Values(false, true));
4384 4385
4385 } // namespace 4386 } // namespace
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698