OLD | NEW |
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 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
100 settings.minimumOcclusionTrackingSize = IntSize(); | 100 settings.minimumOcclusionTrackingSize = IntSize(); |
101 | 101 |
102 scoped_ptr<LayerTreeHostImpl> myHostImpl = LayerTreeHostImpl::create(set
tings, this); | 102 scoped_ptr<LayerTreeHostImpl> myHostImpl = LayerTreeHostImpl::create(set
tings, this); |
103 | 103 |
104 myHostImpl->initializeRenderer(graphicsContext.Pass()); | 104 myHostImpl->initializeRenderer(graphicsContext.Pass()); |
105 myHostImpl->setViewportSize(IntSize(10, 10), IntSize(10, 10)); | 105 myHostImpl->setViewportSize(IntSize(10, 10), IntSize(10, 10)); |
106 | 106 |
107 root->setAnchorPoint(FloatPoint(0, 0)); | 107 root->setAnchorPoint(FloatPoint(0, 0)); |
108 root->setPosition(FloatPoint(0, 0)); | 108 root->setPosition(FloatPoint(0, 0)); |
109 root->setBounds(IntSize(10, 10)); | 109 root->setBounds(IntSize(10, 10)); |
110 root->setContentBounds(IntSize(10, 10)); | |
111 root->setVisibleContentRect(IntRect(0, 0, 10, 10)); | 110 root->setVisibleContentRect(IntRect(0, 0, 10, 10)); |
112 root->setDrawsContent(true); | 111 root->setDrawsContent(true); |
113 myHostImpl->setRootLayer(root.Pass()); | 112 myHostImpl->setRootLayer(root.Pass()); |
114 return myHostImpl.Pass(); | 113 return myHostImpl.Pass(); |
115 } | 114 } |
116 | 115 |
117 static void expectClearedScrollDeltasRecursive(LayerImpl* layer) | 116 static void expectClearedScrollDeltasRecursive(LayerImpl* layer) |
118 { | 117 { |
119 ASSERT_EQ(layer->scrollDelta(), IntSize()); | 118 ASSERT_EQ(layer->scrollDelta(), IntSize()); |
120 for (size_t i = 0; i < layer->children().size(); ++i) | 119 for (size_t i = 0; i < layer->children().size(); ++i) |
(...skipping 15 matching lines...) Expand all Loading... |
136 ASSERT_EQ(timesEncountered, 1); | 135 ASSERT_EQ(timesEncountered, 1); |
137 } | 136 } |
138 | 137 |
139 void setupScrollAndContentsLayers(const IntSize& contentSize) | 138 void setupScrollAndContentsLayers(const IntSize& contentSize) |
140 { | 139 { |
141 scoped_ptr<LayerImpl> root = LayerImpl::create(1); | 140 scoped_ptr<LayerImpl> root = LayerImpl::create(1); |
142 root->setScrollable(true); | 141 root->setScrollable(true); |
143 root->setScrollPosition(IntPoint(0, 0)); | 142 root->setScrollPosition(IntPoint(0, 0)); |
144 root->setMaxScrollPosition(contentSize); | 143 root->setMaxScrollPosition(contentSize); |
145 root->setBounds(contentSize); | 144 root->setBounds(contentSize); |
146 root->setContentBounds(contentSize); | |
147 root->setPosition(FloatPoint(0, 0)); | 145 root->setPosition(FloatPoint(0, 0)); |
148 root->setAnchorPoint(FloatPoint(0, 0)); | 146 root->setAnchorPoint(FloatPoint(0, 0)); |
149 | 147 |
150 scoped_ptr<LayerImpl> contents = LayerImpl::create(2); | 148 scoped_ptr<LayerImpl> contents = LayerImpl::create(2); |
151 contents->setDrawsContent(true); | 149 contents->setDrawsContent(true); |
152 contents->setBounds(contentSize); | 150 contents->setBounds(contentSize); |
153 contents->setContentBounds(contentSize); | |
154 contents->setPosition(FloatPoint(0, 0)); | 151 contents->setPosition(FloatPoint(0, 0)); |
155 contents->setAnchorPoint(FloatPoint(0, 0)); | 152 contents->setAnchorPoint(FloatPoint(0, 0)); |
156 root->addChild(contents.Pass()); | 153 root->addChild(contents.Pass()); |
157 m_hostImpl->setRootLayer(root.Pass()); | 154 m_hostImpl->setRootLayer(root.Pass()); |
158 } | 155 } |
159 | 156 |
160 static scoped_ptr<LayerImpl> createScrollableLayer(int id, const IntSize& si
ze) | 157 static scoped_ptr<LayerImpl> createScrollableLayer(int id, const IntSize& si
ze) |
161 { | 158 { |
162 scoped_ptr<LayerImpl> layer = LayerImpl::create(id); | 159 scoped_ptr<LayerImpl> layer = LayerImpl::create(id); |
163 layer->setScrollable(true); | 160 layer->setScrollable(true); |
164 layer->setDrawsContent(true); | 161 layer->setDrawsContent(true); |
165 layer->setBounds(size); | 162 layer->setBounds(size); |
166 layer->setContentBounds(size); | |
167 layer->setMaxScrollPosition(IntSize(size.width() * 2, size.height() * 2)
); | 163 layer->setMaxScrollPosition(IntSize(size.width() * 2, size.height() * 2)
); |
168 return layer.Pass(); | 164 return layer.Pass(); |
169 } | 165 } |
170 | 166 |
171 void initializeRendererAndDrawFrame() | 167 void initializeRendererAndDrawFrame() |
172 { | 168 { |
173 m_hostImpl->initializeRenderer(createContext()); | 169 m_hostImpl->initializeRenderer(createContext()); |
174 LayerTreeHostImpl::FrameData frame; | 170 LayerTreeHostImpl::FrameData frame; |
175 EXPECT_TRUE(m_hostImpl->prepareToDraw(frame)); | 171 EXPECT_TRUE(m_hostImpl->prepareToDraw(frame)); |
176 m_hostImpl->drawLayers(frame); | 172 m_hostImpl->drawLayers(frame); |
(...skipping 640 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
817 } | 813 } |
818 | 814 |
819 protected: | 815 protected: |
820 explicit DidDrawCheckLayer(int id) | 816 explicit DidDrawCheckLayer(int id) |
821 : TiledLayerImpl(id) | 817 : TiledLayerImpl(id) |
822 , m_didDrawCalled(false) | 818 , m_didDrawCalled(false) |
823 , m_willDrawCalled(false) | 819 , m_willDrawCalled(false) |
824 { | 820 { |
825 setAnchorPoint(FloatPoint(0, 0)); | 821 setAnchorPoint(FloatPoint(0, 0)); |
826 setBounds(IntSize(10, 10)); | 822 setBounds(IntSize(10, 10)); |
827 setContentBounds(IntSize(10, 10)); | |
828 setDrawsContent(true); | 823 setDrawsContent(true); |
829 setSkipsDraw(false); | 824 setSkipsDraw(false); |
830 setVisibleContentRect(IntRect(0, 0, 10, 10)); | 825 setVisibleContentRect(IntRect(0, 0, 10, 10)); |
831 | 826 |
832 scoped_ptr<LayerTilingData> tiler = LayerTilingData::create(IntSize(100,
100), LayerTilingData::HasBorderTexels); | 827 scoped_ptr<LayerTilingData> tiler = LayerTilingData::create(IntSize(100,
100), LayerTilingData::HasBorderTexels); |
833 tiler->setBounds(contentBounds()); | 828 tiler->setBounds(contentBounds()); |
834 setTilingData(*tiler.get()); | 829 setTilingData(*tiler.get()); |
835 } | 830 } |
836 | 831 |
837 private: | 832 private: |
838 bool m_didDrawCalled; | 833 bool m_didDrawCalled; |
839 bool m_willDrawCalled; | 834 bool m_willDrawCalled; |
840 }; | 835 }; |
841 | 836 |
842 TEST_P(LayerTreeHostImplTest, didDrawNotCalledOnHiddenLayer) | 837 TEST_P(LayerTreeHostImplTest, didDrawNotCalledOnHiddenLayer) |
843 { | 838 { |
844 // The root layer is always drawn, so run this test on a child layer that | 839 // The root layer is always drawn, so run this test on a child layer that |
845 // will be masked out by the root layer's bounds. | 840 // will be masked out by the root layer's bounds. |
846 m_hostImpl->setRootLayer(DidDrawCheckLayer::create(1)); | 841 m_hostImpl->setRootLayer(DidDrawCheckLayer::create(1)); |
847 DidDrawCheckLayer* root = static_cast<DidDrawCheckLayer*>(m_hostImpl->rootLa
yer()); | 842 DidDrawCheckLayer* root = static_cast<DidDrawCheckLayer*>(m_hostImpl->rootLa
yer()); |
848 root->setMasksToBounds(true); | 843 root->setMasksToBounds(true); |
849 | 844 |
850 root->addChild(DidDrawCheckLayer::create(2)); | 845 root->addChild(DidDrawCheckLayer::create(2)); |
851 DidDrawCheckLayer* layer = static_cast<DidDrawCheckLayer*>(root->children()[
0]); | 846 DidDrawCheckLayer* layer = static_cast<DidDrawCheckLayer*>(root->children()[
0]); |
852 // Ensure visibleContentRect for layer is empty | 847 // Ensure visibleContentRect for layer is empty |
853 layer->setPosition(FloatPoint(100, 100)); | 848 layer->setPosition(FloatPoint(100, 100)); |
854 layer->setBounds(IntSize(10, 10)); | 849 layer->setBounds(IntSize(10, 10)); |
855 layer->setContentBounds(IntSize(10, 10)); | |
856 | 850 |
857 LayerTreeHostImpl::FrameData frame; | 851 LayerTreeHostImpl::FrameData frame; |
858 | 852 |
859 EXPECT_FALSE(layer->willDrawCalled()); | 853 EXPECT_FALSE(layer->willDrawCalled()); |
860 EXPECT_FALSE(layer->didDrawCalled()); | 854 EXPECT_FALSE(layer->didDrawCalled()); |
861 | 855 |
862 EXPECT_TRUE(m_hostImpl->prepareToDraw(frame)); | 856 EXPECT_TRUE(m_hostImpl->prepareToDraw(frame)); |
863 m_hostImpl->drawLayers(frame); | 857 m_hostImpl->drawLayers(frame); |
864 m_hostImpl->didDrawAllLayers(frame); | 858 m_hostImpl->didDrawAllLayers(frame); |
865 | 859 |
(...skipping 26 matching lines...) Expand all Loading... |
892 m_hostImpl->setRootLayer(DidDrawCheckLayer::create(1)); | 886 m_hostImpl->setRootLayer(DidDrawCheckLayer::create(1)); |
893 DidDrawCheckLayer* root = static_cast<DidDrawCheckLayer*>(m_hostImpl->rootLa
yer()); | 887 DidDrawCheckLayer* root = static_cast<DidDrawCheckLayer*>(m_hostImpl->rootLa
yer()); |
894 | 888 |
895 root->addChild(DidDrawCheckLayer::create(2)); | 889 root->addChild(DidDrawCheckLayer::create(2)); |
896 DidDrawCheckLayer* occludedLayer = static_cast<DidDrawCheckLayer*>(root->chi
ldren()[0]); | 890 DidDrawCheckLayer* occludedLayer = static_cast<DidDrawCheckLayer*>(root->chi
ldren()[0]); |
897 | 891 |
898 root->addChild(DidDrawCheckLayer::create(3)); | 892 root->addChild(DidDrawCheckLayer::create(3)); |
899 DidDrawCheckLayer* topLayer = static_cast<DidDrawCheckLayer*>(root->children
()[1]); | 893 DidDrawCheckLayer* topLayer = static_cast<DidDrawCheckLayer*>(root->children
()[1]); |
900 // This layer covers the occludedLayer above. Make this layer large so it ca
n occlude. | 894 // This layer covers the occludedLayer above. Make this layer large so it ca
n occlude. |
901 topLayer->setBounds(bigSize); | 895 topLayer->setBounds(bigSize); |
902 topLayer->setContentBounds(bigSize); | |
903 topLayer->setContentsOpaque(true); | 896 topLayer->setContentsOpaque(true); |
904 | 897 |
905 LayerTreeHostImpl::FrameData frame; | 898 LayerTreeHostImpl::FrameData frame; |
906 | 899 |
907 EXPECT_FALSE(occludedLayer->willDrawCalled()); | 900 EXPECT_FALSE(occludedLayer->willDrawCalled()); |
908 EXPECT_FALSE(occludedLayer->didDrawCalled()); | 901 EXPECT_FALSE(occludedLayer->didDrawCalled()); |
909 EXPECT_FALSE(topLayer->willDrawCalled()); | 902 EXPECT_FALSE(topLayer->willDrawCalled()); |
910 EXPECT_FALSE(topLayer->didDrawCalled()); | 903 EXPECT_FALSE(topLayer->didDrawCalled()); |
911 | 904 |
912 EXPECT_TRUE(m_hostImpl->prepareToDraw(frame)); | 905 EXPECT_TRUE(m_hostImpl->prepareToDraw(frame)); |
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1033 // Test the configuration where a non-composited root layer is embedded in a | 1026 // Test the configuration where a non-composited root layer is embedded in a |
1034 // scrollable outer layer. | 1027 // scrollable outer layer. |
1035 IntSize surfaceSize(10, 10); | 1028 IntSize surfaceSize(10, 10); |
1036 | 1029 |
1037 scoped_ptr<LayerImpl> contentLayer = LayerImpl::create(1); | 1030 scoped_ptr<LayerImpl> contentLayer = LayerImpl::create(1); |
1038 contentLayer->setUseLCDText(true); | 1031 contentLayer->setUseLCDText(true); |
1039 contentLayer->setDrawsContent(true); | 1032 contentLayer->setDrawsContent(true); |
1040 contentLayer->setPosition(FloatPoint(0, 0)); | 1033 contentLayer->setPosition(FloatPoint(0, 0)); |
1041 contentLayer->setAnchorPoint(FloatPoint(0, 0)); | 1034 contentLayer->setAnchorPoint(FloatPoint(0, 0)); |
1042 contentLayer->setBounds(surfaceSize); | 1035 contentLayer->setBounds(surfaceSize); |
1043 contentLayer->setContentBounds(IntSize(surfaceSize.width() * 2, surfaceSize.
height() * 2)); | 1036 contentLayer->setContentsScale(2, 2); |
1044 | 1037 |
1045 scoped_ptr<LayerImpl> scrollLayer = LayerImpl::create(2); | 1038 scoped_ptr<LayerImpl> scrollLayer = LayerImpl::create(2); |
1046 scrollLayer->setScrollable(true); | 1039 scrollLayer->setScrollable(true); |
1047 scrollLayer->setMaxScrollPosition(surfaceSize); | 1040 scrollLayer->setMaxScrollPosition(surfaceSize); |
1048 scrollLayer->setBounds(surfaceSize); | 1041 scrollLayer->setBounds(surfaceSize); |
1049 scrollLayer->setContentBounds(surfaceSize); | |
1050 scrollLayer->setPosition(FloatPoint(0, 0)); | 1042 scrollLayer->setPosition(FloatPoint(0, 0)); |
1051 scrollLayer->setAnchorPoint(FloatPoint(0, 0)); | 1043 scrollLayer->setAnchorPoint(FloatPoint(0, 0)); |
1052 scrollLayer->addChild(contentLayer.Pass()); | 1044 scrollLayer->addChild(contentLayer.Pass()); |
1053 | 1045 |
1054 m_hostImpl->setRootLayer(scrollLayer.Pass()); | 1046 m_hostImpl->setRootLayer(scrollLayer.Pass()); |
1055 m_hostImpl->setViewportSize(surfaceSize, surfaceSize); | 1047 m_hostImpl->setViewportSize(surfaceSize, surfaceSize); |
1056 initializeRendererAndDrawFrame(); | 1048 initializeRendererAndDrawFrame(); |
1057 | 1049 |
1058 EXPECT_EQ(m_hostImpl->scrollBegin(IntPoint(5, 5), InputHandlerClient::Wheel)
, InputHandlerClient::ScrollStarted); | 1050 EXPECT_EQ(m_hostImpl->scrollBegin(IntPoint(5, 5), InputHandlerClient::Wheel)
, InputHandlerClient::ScrollStarted); |
1059 m_hostImpl->scrollBy(IntPoint(), IntSize(0, 10)); | 1051 m_hostImpl->scrollBy(IntPoint(), IntSize(0, 10)); |
1060 m_hostImpl->scrollEnd(); | 1052 m_hostImpl->scrollEnd(); |
1061 EXPECT_TRUE(m_didRequestRedraw); | 1053 EXPECT_TRUE(m_didRequestRedraw); |
1062 EXPECT_TRUE(m_didRequestCommit); | 1054 EXPECT_TRUE(m_didRequestCommit); |
1063 } | 1055 } |
1064 | 1056 |
1065 TEST_P(LayerTreeHostImplTest, scrollChildCallsCommitAndRedraw) | 1057 TEST_P(LayerTreeHostImplTest, scrollChildCallsCommitAndRedraw) |
1066 { | 1058 { |
1067 IntSize surfaceSize(10, 10); | 1059 IntSize surfaceSize(10, 10); |
1068 scoped_ptr<LayerImpl> root = LayerImpl::create(1); | 1060 scoped_ptr<LayerImpl> root = LayerImpl::create(1); |
1069 root->setBounds(surfaceSize); | 1061 root->setBounds(surfaceSize); |
1070 root->setContentBounds(surfaceSize); | |
1071 root->addChild(createScrollableLayer(2, surfaceSize)); | 1062 root->addChild(createScrollableLayer(2, surfaceSize)); |
1072 m_hostImpl->setRootLayer(root.Pass()); | 1063 m_hostImpl->setRootLayer(root.Pass()); |
1073 m_hostImpl->setViewportSize(surfaceSize, surfaceSize); | 1064 m_hostImpl->setViewportSize(surfaceSize, surfaceSize); |
1074 initializeRendererAndDrawFrame(); | 1065 initializeRendererAndDrawFrame(); |
1075 | 1066 |
1076 EXPECT_EQ(m_hostImpl->scrollBegin(IntPoint(5, 5), InputHandlerClient::Wheel)
, InputHandlerClient::ScrollStarted); | 1067 EXPECT_EQ(m_hostImpl->scrollBegin(IntPoint(5, 5), InputHandlerClient::Wheel)
, InputHandlerClient::ScrollStarted); |
1077 m_hostImpl->scrollBy(IntPoint(), IntSize(0, 10)); | 1068 m_hostImpl->scrollBy(IntPoint(), IntSize(0, 10)); |
1078 m_hostImpl->scrollEnd(); | 1069 m_hostImpl->scrollEnd(); |
1079 EXPECT_TRUE(m_didRequestRedraw); | 1070 EXPECT_TRUE(m_didRequestRedraw); |
1080 EXPECT_TRUE(m_didRequestCommit); | 1071 EXPECT_TRUE(m_didRequestCommit); |
(...skipping 167 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1248 EXPECT_EQ(child->drawTransform().m22(), newPageScale); | 1239 EXPECT_EQ(child->drawTransform().m22(), newPageScale); |
1249 EXPECT_EQ(grandChild->drawTransform().m11(), newPageScale); | 1240 EXPECT_EQ(grandChild->drawTransform().m11(), newPageScale); |
1250 EXPECT_EQ(grandChild->drawTransform().m22(), newPageScale); | 1241 EXPECT_EQ(grandChild->drawTransform().m22(), newPageScale); |
1251 } | 1242 } |
1252 | 1243 |
1253 TEST_P(LayerTreeHostImplTest, scrollChildAndChangePageScaleOnMainThread) | 1244 TEST_P(LayerTreeHostImplTest, scrollChildAndChangePageScaleOnMainThread) |
1254 { | 1245 { |
1255 IntSize surfaceSize(10, 10); | 1246 IntSize surfaceSize(10, 10); |
1256 scoped_ptr<LayerImpl> root = LayerImpl::create(1); | 1247 scoped_ptr<LayerImpl> root = LayerImpl::create(1); |
1257 root->setBounds(surfaceSize); | 1248 root->setBounds(surfaceSize); |
1258 root->setContentBounds(surfaceSize); | |
1259 // Also mark the root scrollable so it becomes the root scroll layer. | 1249 // Also mark the root scrollable so it becomes the root scroll layer. |
1260 root->setScrollable(true); | 1250 root->setScrollable(true); |
1261 int scrollLayerId = 2; | 1251 int scrollLayerId = 2; |
1262 root->addChild(createScrollableLayer(scrollLayerId, surfaceSize)); | 1252 root->addChild(createScrollableLayer(scrollLayerId, surfaceSize)); |
1263 m_hostImpl->setRootLayer(root.Pass()); | 1253 m_hostImpl->setRootLayer(root.Pass()); |
1264 m_hostImpl->setViewportSize(surfaceSize, surfaceSize); | 1254 m_hostImpl->setViewportSize(surfaceSize, surfaceSize); |
1265 initializeRendererAndDrawFrame(); | 1255 initializeRendererAndDrawFrame(); |
1266 | 1256 |
1267 LayerImpl* child = m_hostImpl->rootLayer()->children()[0]; | 1257 LayerImpl* child = m_hostImpl->rootLayer()->children()[0]; |
1268 | 1258 |
(...skipping 298 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1567 : LayerImpl(id) | 1557 : LayerImpl(id) |
1568 , m_blend(false) | 1558 , m_blend(false) |
1569 , m_hasRenderSurface(false) | 1559 , m_hasRenderSurface(false) |
1570 , m_quadsAppended(false) | 1560 , m_quadsAppended(false) |
1571 , m_quadRect(5, 5, 5, 5) | 1561 , m_quadRect(5, 5, 5, 5) |
1572 , m_quadVisibleRect(5, 5, 5, 5) | 1562 , m_quadVisibleRect(5, 5, 5, 5) |
1573 , m_resourceId(resourceProvider->createResource(Renderer::ContentPool, I
ntSize(1, 1), GL_RGBA, ResourceProvider::TextureUsageAny)) | 1563 , m_resourceId(resourceProvider->createResource(Renderer::ContentPool, I
ntSize(1, 1), GL_RGBA, ResourceProvider::TextureUsageAny)) |
1574 { | 1564 { |
1575 setAnchorPoint(FloatPoint(0, 0)); | 1565 setAnchorPoint(FloatPoint(0, 0)); |
1576 setBounds(IntSize(10, 10)); | 1566 setBounds(IntSize(10, 10)); |
1577 setContentBounds(IntSize(10, 10)); | |
1578 setDrawsContent(true); | 1567 setDrawsContent(true); |
1579 } | 1568 } |
1580 | 1569 |
1581 bool m_blend; | 1570 bool m_blend; |
1582 bool m_hasRenderSurface; | 1571 bool m_hasRenderSurface; |
1583 bool m_quadsAppended; | 1572 bool m_quadsAppended; |
1584 IntRect m_quadRect; | 1573 IntRect m_quadRect; |
1585 IntRect m_opaqueContentRect; | 1574 IntRect m_opaqueContentRect; |
1586 IntRect m_quadVisibleRect; | 1575 IntRect m_quadVisibleRect; |
1587 ResourceProvider::ResourceId m_resourceId; | 1576 ResourceProvider::ResourceId m_resourceId; |
1588 }; | 1577 }; |
1589 | 1578 |
1590 TEST_P(LayerTreeHostImplTest, blendingOffWhenDrawingOpaqueLayers) | 1579 TEST_P(LayerTreeHostImplTest, blendingOffWhenDrawingOpaqueLayers) |
1591 { | 1580 { |
1592 { | 1581 { |
1593 scoped_ptr<LayerImpl> root = LayerImpl::create(1); | 1582 scoped_ptr<LayerImpl> root = LayerImpl::create(1); |
1594 root->setAnchorPoint(FloatPoint(0, 0)); | 1583 root->setAnchorPoint(FloatPoint(0, 0)); |
1595 root->setBounds(IntSize(10, 10)); | 1584 root->setBounds(IntSize(10, 10)); |
1596 root->setContentBounds(root->bounds()); | |
1597 root->setDrawsContent(false); | 1585 root->setDrawsContent(false); |
1598 m_hostImpl->setRootLayer(root.Pass()); | 1586 m_hostImpl->setRootLayer(root.Pass()); |
1599 } | 1587 } |
1600 LayerImpl* root = m_hostImpl->rootLayer(); | 1588 LayerImpl* root = m_hostImpl->rootLayer(); |
1601 | 1589 |
1602 root->addChild(BlendStateCheckLayer::create(2, m_hostImpl->resourceProvider(
))); | 1590 root->addChild(BlendStateCheckLayer::create(2, m_hostImpl->resourceProvider(
))); |
1603 BlendStateCheckLayer* layer1 = static_cast<BlendStateCheckLayer*>(root->chil
dren()[0]); | 1591 BlendStateCheckLayer* layer1 = static_cast<BlendStateCheckLayer*>(root->chil
dren()[0]); |
1604 layer1->setPosition(FloatPoint(2, 2)); | 1592 layer1->setPosition(FloatPoint(2, 2)); |
1605 | 1593 |
1606 LayerTreeHostImpl::FrameData frame; | 1594 LayerTreeHostImpl::FrameData frame; |
(...skipping 183 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1790 m_hostImpl->setRootLayer(BlendStateCheckLayer::create(1, m_hostImpl->resourc
eProvider())); | 1778 m_hostImpl->setRootLayer(BlendStateCheckLayer::create(1, m_hostImpl->resourc
eProvider())); |
1791 BlendStateCheckLayer* root = static_cast<BlendStateCheckLayer*>(m_hostImpl->
rootLayer()); | 1779 BlendStateCheckLayer* root = static_cast<BlendStateCheckLayer*>(m_hostImpl->
rootLayer()); |
1792 root->setExpectation(false, true); | 1780 root->setExpectation(false, true); |
1793 root->setContentsOpaque(true); | 1781 root->setContentsOpaque(true); |
1794 | 1782 |
1795 // No gutter rects | 1783 // No gutter rects |
1796 { | 1784 { |
1797 IntRect layerRect(0, 0, 1000, 1000); | 1785 IntRect layerRect(0, 0, 1000, 1000); |
1798 root->setPosition(layerRect.location()); | 1786 root->setPosition(layerRect.location()); |
1799 root->setBounds(layerRect.size()); | 1787 root->setBounds(layerRect.size()); |
1800 root->setContentBounds(layerRect.size()); | |
1801 root->setQuadRect(IntRect(IntPoint(), layerRect.size())); | 1788 root->setQuadRect(IntRect(IntPoint(), layerRect.size())); |
1802 root->setQuadVisibleRect(IntRect(IntPoint(), layerRect.size())); | 1789 root->setQuadVisibleRect(IntRect(IntPoint(), layerRect.size())); |
1803 | 1790 |
1804 LayerTreeHostImpl::FrameData frame; | 1791 LayerTreeHostImpl::FrameData frame; |
1805 EXPECT_TRUE(m_hostImpl->prepareToDraw(frame)); | 1792 EXPECT_TRUE(m_hostImpl->prepareToDraw(frame)); |
1806 ASSERT_EQ(1u, frame.renderPasses.size()); | 1793 ASSERT_EQ(1u, frame.renderPasses.size()); |
1807 | 1794 |
1808 size_t numGutterQuads = 0; | 1795 size_t numGutterQuads = 0; |
1809 for (size_t i = 0; i < frame.renderPasses[0]->quadList().size(); ++i) | 1796 for (size_t i = 0; i < frame.renderPasses[0]->quadList().size(); ++i) |
1810 numGutterQuads += (frame.renderPasses[0]->quadList()[i]->material()
== DrawQuad::SolidColor) ? 1 : 0; | 1797 numGutterQuads += (frame.renderPasses[0]->quadList()[i]->material()
== DrawQuad::SolidColor) ? 1 : 0; |
1811 EXPECT_EQ(0u, numGutterQuads); | 1798 EXPECT_EQ(0u, numGutterQuads); |
1812 EXPECT_EQ(1u, frame.renderPasses[0]->quadList().size()); | 1799 EXPECT_EQ(1u, frame.renderPasses[0]->quadList().size()); |
1813 | 1800 |
1814 verifyQuadsExactlyCoverRect(frame.renderPasses[0]->quadList(), IntRect(-
layerRect.location(), viewportSize)); | 1801 verifyQuadsExactlyCoverRect(frame.renderPasses[0]->quadList(), IntRect(-
layerRect.location(), viewportSize)); |
1815 m_hostImpl->didDrawAllLayers(frame); | 1802 m_hostImpl->didDrawAllLayers(frame); |
1816 } | 1803 } |
1817 | 1804 |
1818 // Empty visible content area (fullscreen gutter rect) | 1805 // Empty visible content area (fullscreen gutter rect) |
1819 { | 1806 { |
1820 IntRect layerRect(0, 0, 0, 0); | 1807 IntRect layerRect(0, 0, 0, 0); |
1821 root->setPosition(layerRect.location()); | 1808 root->setPosition(layerRect.location()); |
1822 root->setBounds(layerRect.size()); | 1809 root->setBounds(layerRect.size()); |
1823 root->setContentBounds(layerRect.size()); | |
1824 root->setQuadRect(IntRect(IntPoint(), layerRect.size())); | 1810 root->setQuadRect(IntRect(IntPoint(), layerRect.size())); |
1825 root->setQuadVisibleRect(IntRect(IntPoint(), layerRect.size())); | 1811 root->setQuadVisibleRect(IntRect(IntPoint(), layerRect.size())); |
1826 | 1812 |
1827 LayerTreeHostImpl::FrameData frame; | 1813 LayerTreeHostImpl::FrameData frame; |
1828 EXPECT_TRUE(m_hostImpl->prepareToDraw(frame)); | 1814 EXPECT_TRUE(m_hostImpl->prepareToDraw(frame)); |
1829 ASSERT_EQ(1u, frame.renderPasses.size()); | 1815 ASSERT_EQ(1u, frame.renderPasses.size()); |
1830 m_hostImpl->didDrawAllLayers(frame); | 1816 m_hostImpl->didDrawAllLayers(frame); |
1831 | 1817 |
1832 size_t numGutterQuads = 0; | 1818 size_t numGutterQuads = 0; |
1833 for (size_t i = 0; i < frame.renderPasses[0]->quadList().size(); ++i) | 1819 for (size_t i = 0; i < frame.renderPasses[0]->quadList().size(); ++i) |
1834 numGutterQuads += (frame.renderPasses[0]->quadList()[i]->material()
== DrawQuad::SolidColor) ? 1 : 0; | 1820 numGutterQuads += (frame.renderPasses[0]->quadList()[i]->material()
== DrawQuad::SolidColor) ? 1 : 0; |
1835 EXPECT_EQ(1u, numGutterQuads); | 1821 EXPECT_EQ(1u, numGutterQuads); |
1836 EXPECT_EQ(1u, frame.renderPasses[0]->quadList().size()); | 1822 EXPECT_EQ(1u, frame.renderPasses[0]->quadList().size()); |
1837 | 1823 |
1838 verifyQuadsExactlyCoverRect(frame.renderPasses[0]->quadList(), IntRect(-
layerRect.location(), viewportSize)); | 1824 verifyQuadsExactlyCoverRect(frame.renderPasses[0]->quadList(), IntRect(-
layerRect.location(), viewportSize)); |
1839 m_hostImpl->didDrawAllLayers(frame); | 1825 m_hostImpl->didDrawAllLayers(frame); |
1840 } | 1826 } |
1841 | 1827 |
1842 // Content area in middle of clip rect (four surrounding gutter rects) | 1828 // Content area in middle of clip rect (four surrounding gutter rects) |
1843 { | 1829 { |
1844 IntRect layerRect(500, 500, 200, 200); | 1830 IntRect layerRect(500, 500, 200, 200); |
1845 root->setPosition(layerRect.location()); | 1831 root->setPosition(layerRect.location()); |
1846 root->setBounds(layerRect.size()); | 1832 root->setBounds(layerRect.size()); |
1847 root->setContentBounds(layerRect.size()); | |
1848 root->setQuadRect(IntRect(IntPoint(), layerRect.size())); | 1833 root->setQuadRect(IntRect(IntPoint(), layerRect.size())); |
1849 root->setQuadVisibleRect(IntRect(IntPoint(), layerRect.size())); | 1834 root->setQuadVisibleRect(IntRect(IntPoint(), layerRect.size())); |
1850 | 1835 |
1851 LayerTreeHostImpl::FrameData frame; | 1836 LayerTreeHostImpl::FrameData frame; |
1852 EXPECT_TRUE(m_hostImpl->prepareToDraw(frame)); | 1837 EXPECT_TRUE(m_hostImpl->prepareToDraw(frame)); |
1853 ASSERT_EQ(1u, frame.renderPasses.size()); | 1838 ASSERT_EQ(1u, frame.renderPasses.size()); |
1854 | 1839 |
1855 size_t numGutterQuads = 0; | 1840 size_t numGutterQuads = 0; |
1856 for (size_t i = 0; i < frame.renderPasses[0]->quadList().size(); ++i) | 1841 for (size_t i = 0; i < frame.renderPasses[0]->quadList().size(); ++i) |
1857 numGutterQuads += (frame.renderPasses[0]->quadList()[i]->material()
== DrawQuad::SolidColor) ? 1 : 0; | 1842 numGutterQuads += (frame.renderPasses[0]->quadList()[i]->material()
== DrawQuad::SolidColor) ? 1 : 0; |
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1944 Settings::setPartialSwapEnabled(true); | 1929 Settings::setPartialSwapEnabled(true); |
1945 scoped_ptr<LayerTreeHostImpl> layerTreeHostImpl = LayerTreeHostImpl::create(
settings, this); | 1930 scoped_ptr<LayerTreeHostImpl> layerTreeHostImpl = LayerTreeHostImpl::create(
settings, this); |
1946 layerTreeHostImpl->initializeRenderer(outputSurface.Pass()); | 1931 layerTreeHostImpl->initializeRenderer(outputSurface.Pass()); |
1947 layerTreeHostImpl->setViewportSize(IntSize(500, 500), IntSize(500, 500)); | 1932 layerTreeHostImpl->setViewportSize(IntSize(500, 500), IntSize(500, 500)); |
1948 | 1933 |
1949 scoped_ptr<LayerImpl> root = FakeDrawableLayerImpl::create(1); | 1934 scoped_ptr<LayerImpl> root = FakeDrawableLayerImpl::create(1); |
1950 scoped_ptr<LayerImpl> child = FakeDrawableLayerImpl::create(2); | 1935 scoped_ptr<LayerImpl> child = FakeDrawableLayerImpl::create(2); |
1951 child->setPosition(FloatPoint(12, 13)); | 1936 child->setPosition(FloatPoint(12, 13)); |
1952 child->setAnchorPoint(FloatPoint(0, 0)); | 1937 child->setAnchorPoint(FloatPoint(0, 0)); |
1953 child->setBounds(IntSize(14, 15)); | 1938 child->setBounds(IntSize(14, 15)); |
1954 child->setContentBounds(IntSize(14, 15)); | |
1955 child->setDrawsContent(true); | 1939 child->setDrawsContent(true); |
1956 root->setAnchorPoint(FloatPoint(0, 0)); | 1940 root->setAnchorPoint(FloatPoint(0, 0)); |
1957 root->setBounds(IntSize(500, 500)); | 1941 root->setBounds(IntSize(500, 500)); |
1958 root->setContentBounds(IntSize(500, 500)); | |
1959 root->setDrawsContent(true); | 1942 root->setDrawsContent(true); |
1960 root->addChild(child.Pass()); | 1943 root->addChild(child.Pass()); |
1961 layerTreeHostImpl->setRootLayer(root.Pass()); | 1944 layerTreeHostImpl->setRootLayer(root.Pass()); |
1962 | 1945 |
1963 LayerTreeHostImpl::FrameData frame; | 1946 LayerTreeHostImpl::FrameData frame; |
1964 | 1947 |
1965 // First frame, the entire screen should get swapped. | 1948 // First frame, the entire screen should get swapped. |
1966 EXPECT_TRUE(layerTreeHostImpl->prepareToDraw(frame)); | 1949 EXPECT_TRUE(layerTreeHostImpl->prepareToDraw(frame)); |
1967 layerTreeHostImpl->drawLayers(frame); | 1950 layerTreeHostImpl->drawLayers(frame); |
1968 layerTreeHostImpl->didDrawAllLayers(frame); | 1951 layerTreeHostImpl->didDrawAllLayers(frame); |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2006 EXPECT_EQ(expectedSwapRect.width(), actualSwapRect.width()); | 1989 EXPECT_EQ(expectedSwapRect.width(), actualSwapRect.width()); |
2007 EXPECT_EQ(expectedSwapRect.height(), actualSwapRect.height()); | 1990 EXPECT_EQ(expectedSwapRect.height(), actualSwapRect.height()); |
2008 } | 1991 } |
2009 | 1992 |
2010 TEST_P(LayerTreeHostImplTest, rootLayerDoesntCreateExtraSurface) | 1993 TEST_P(LayerTreeHostImplTest, rootLayerDoesntCreateExtraSurface) |
2011 { | 1994 { |
2012 scoped_ptr<LayerImpl> root = FakeDrawableLayerImpl::create(1); | 1995 scoped_ptr<LayerImpl> root = FakeDrawableLayerImpl::create(1); |
2013 scoped_ptr<LayerImpl> child = FakeDrawableLayerImpl::create(2); | 1996 scoped_ptr<LayerImpl> child = FakeDrawableLayerImpl::create(2); |
2014 child->setAnchorPoint(FloatPoint(0, 0)); | 1997 child->setAnchorPoint(FloatPoint(0, 0)); |
2015 child->setBounds(IntSize(10, 10)); | 1998 child->setBounds(IntSize(10, 10)); |
2016 child->setContentBounds(IntSize(10, 10)); | |
2017 child->setDrawsContent(true); | 1999 child->setDrawsContent(true); |
2018 root->setAnchorPoint(FloatPoint(0, 0)); | 2000 root->setAnchorPoint(FloatPoint(0, 0)); |
2019 root->setBounds(IntSize(10, 10)); | 2001 root->setBounds(IntSize(10, 10)); |
2020 root->setContentBounds(IntSize(10, 10)); | |
2021 root->setDrawsContent(true); | 2002 root->setDrawsContent(true); |
2022 root->setOpacity(0.7f); | 2003 root->setOpacity(0.7f); |
2023 root->addChild(child.Pass()); | 2004 root->addChild(child.Pass()); |
2024 | 2005 |
2025 m_hostImpl->setRootLayer(root.Pass()); | 2006 m_hostImpl->setRootLayer(root.Pass()); |
2026 | 2007 |
2027 LayerTreeHostImpl::FrameData frame; | 2008 LayerTreeHostImpl::FrameData frame; |
2028 | 2009 |
2029 EXPECT_TRUE(m_hostImpl->prepareToDraw(frame)); | 2010 EXPECT_TRUE(m_hostImpl->prepareToDraw(frame)); |
2030 EXPECT_EQ(1u, frame.renderSurfaceLayerList->size()); | 2011 EXPECT_EQ(1u, frame.renderSurfaceLayerList->size()); |
(...skipping 225 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2256 scoped_ptr<LayerImpl> grandChild = FakeLayerWithQuads::create(3); | 2237 scoped_ptr<LayerImpl> grandChild = FakeLayerWithQuads::create(3); |
2257 | 2238 |
2258 IntRect rootRect(0, 0, 100, 100); | 2239 IntRect rootRect(0, 0, 100, 100); |
2259 IntRect childRect(10, 10, 50, 50); | 2240 IntRect childRect(10, 10, 50, 50); |
2260 IntRect grandChildRect(5, 5, 150, 150); | 2241 IntRect grandChildRect(5, 5, 150, 150); |
2261 | 2242 |
2262 root->createRenderSurface(); | 2243 root->createRenderSurface(); |
2263 root->setAnchorPoint(FloatPoint(0, 0)); | 2244 root->setAnchorPoint(FloatPoint(0, 0)); |
2264 root->setPosition(FloatPoint(rootRect.x(), rootRect.y())); | 2245 root->setPosition(FloatPoint(rootRect.x(), rootRect.y())); |
2265 root->setBounds(IntSize(rootRect.width(), rootRect.height())); | 2246 root->setBounds(IntSize(rootRect.width(), rootRect.height())); |
2266 root->setContentBounds(root->bounds()); | |
2267 root->setVisibleContentRect(rootRect); | 2247 root->setVisibleContentRect(rootRect); |
2268 root->setDrawsContent(false); | 2248 root->setDrawsContent(false); |
2269 root->renderSurface()->setContentRect(IntRect(IntPoint(), IntSize(rootRect.w
idth(), rootRect.height()))); | 2249 root->renderSurface()->setContentRect(IntRect(IntPoint(), IntSize(rootRect.w
idth(), rootRect.height()))); |
2270 | 2250 |
2271 child->setAnchorPoint(FloatPoint(0, 0)); | 2251 child->setAnchorPoint(FloatPoint(0, 0)); |
2272 child->setPosition(FloatPoint(childRect.x(), childRect.y())); | 2252 child->setPosition(FloatPoint(childRect.x(), childRect.y())); |
2273 child->setOpacity(0.5f); | 2253 child->setOpacity(0.5f); |
2274 child->setBounds(IntSize(childRect.width(), childRect.height())); | 2254 child->setBounds(IntSize(childRect.width(), childRect.height())); |
2275 child->setContentBounds(child->bounds()); | |
2276 child->setVisibleContentRect(childRect); | 2255 child->setVisibleContentRect(childRect); |
2277 child->setDrawsContent(false); | 2256 child->setDrawsContent(false); |
2278 | 2257 |
2279 grandChild->setAnchorPoint(FloatPoint(0, 0)); | 2258 grandChild->setAnchorPoint(FloatPoint(0, 0)); |
2280 grandChild->setPosition(IntPoint(grandChildRect.x(), grandChildRect.y())); | 2259 grandChild->setPosition(IntPoint(grandChildRect.x(), grandChildRect.y())); |
2281 grandChild->setBounds(IntSize(grandChildRect.width(), grandChildRect.height(
))); | 2260 grandChild->setBounds(IntSize(grandChildRect.width(), grandChildRect.height(
))); |
2282 grandChild->setContentBounds(grandChild->bounds()); | |
2283 grandChild->setVisibleContentRect(grandChildRect); | 2261 grandChild->setVisibleContentRect(grandChildRect); |
2284 grandChild->setDrawsContent(true); | 2262 grandChild->setDrawsContent(true); |
2285 | 2263 |
2286 child->addChild(grandChild.Pass()); | 2264 child->addChild(grandChild.Pass()); |
2287 root->addChild(child.Pass()); | 2265 root->addChild(child.Pass()); |
2288 | 2266 |
2289 myHostImpl->setRootLayer(root.Pass()); | 2267 myHostImpl->setRootLayer(root.Pass()); |
2290 return myHostImpl.Pass(); | 2268 return myHostImpl.Pass(); |
2291 } | 2269 } |
2292 | 2270 |
(...skipping 361 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2654 { | 2632 { |
2655 int layerId = 1; | 2633 int layerId = 1; |
2656 | 2634 |
2657 scoped_ptr<LayerImpl> rootLayer(LayerImpl::create(layerId++)); | 2635 scoped_ptr<LayerImpl> rootLayer(LayerImpl::create(layerId++)); |
2658 rootLayer->setBounds(IntSize(10, 10)); | 2636 rootLayer->setBounds(IntSize(10, 10)); |
2659 rootLayer->setAnchorPoint(FloatPoint(0, 0)); | 2637 rootLayer->setAnchorPoint(FloatPoint(0, 0)); |
2660 | 2638 |
2661 scoped_ptr<TiledLayerImpl> tileLayer = TiledLayerImpl::create(layerId++); | 2639 scoped_ptr<TiledLayerImpl> tileLayer = TiledLayerImpl::create(layerId++); |
2662 tileLayer->setBounds(IntSize(10, 10)); | 2640 tileLayer->setBounds(IntSize(10, 10)); |
2663 tileLayer->setAnchorPoint(FloatPoint(0, 0)); | 2641 tileLayer->setAnchorPoint(FloatPoint(0, 0)); |
2664 tileLayer->setContentBounds(IntSize(10, 10)); | |
2665 tileLayer->setDrawsContent(true); | 2642 tileLayer->setDrawsContent(true); |
2666 tileLayer->setSkipsDraw(false); | 2643 tileLayer->setSkipsDraw(false); |
2667 scoped_ptr<LayerTilingData> tilingData(LayerTilingData::create(IntSize(10, 1
0), LayerTilingData::NoBorderTexels)); | 2644 scoped_ptr<LayerTilingData> tilingData(LayerTilingData::create(IntSize(10, 1
0), LayerTilingData::NoBorderTexels)); |
2668 tilingData->setBounds(IntSize(10, 10)); | 2645 tilingData->setBounds(IntSize(10, 10)); |
2669 tileLayer->setTilingData(*tilingData); | 2646 tileLayer->setTilingData(*tilingData); |
2670 tileLayer->pushTileProperties(0, 0, 1, IntRect(0, 0, 10, 10), false); | 2647 tileLayer->pushTileProperties(0, 0, 1, IntRect(0, 0, 10, 10), false); |
2671 rootLayer->addChild(tileLayer.PassAs<LayerImpl>()); | 2648 rootLayer->addChild(tileLayer.PassAs<LayerImpl>()); |
2672 | 2649 |
2673 scoped_ptr<TextureLayerImpl> textureLayer = TextureLayerImpl::create(layerId
++); | 2650 scoped_ptr<TextureLayerImpl> textureLayer = TextureLayerImpl::create(layerId
++); |
2674 textureLayer->setBounds(IntSize(10, 10)); | 2651 textureLayer->setBounds(IntSize(10, 10)); |
2675 textureLayer->setAnchorPoint(FloatPoint(0, 0)); | 2652 textureLayer->setAnchorPoint(FloatPoint(0, 0)); |
2676 textureLayer->setContentBounds(IntSize(10, 10)); | |
2677 textureLayer->setDrawsContent(true); | 2653 textureLayer->setDrawsContent(true); |
2678 textureLayer->setTextureId(1); | 2654 textureLayer->setTextureId(1); |
2679 rootLayer->addChild(textureLayer.PassAs<LayerImpl>()); | 2655 rootLayer->addChild(textureLayer.PassAs<LayerImpl>()); |
2680 | 2656 |
2681 scoped_ptr<TiledLayerImpl> maskLayer = TiledLayerImpl::create(layerId++); | 2657 scoped_ptr<TiledLayerImpl> maskLayer = TiledLayerImpl::create(layerId++); |
2682 maskLayer->setBounds(IntSize(10, 10)); | 2658 maskLayer->setBounds(IntSize(10, 10)); |
2683 maskLayer->setAnchorPoint(FloatPoint(0, 0)); | 2659 maskLayer->setAnchorPoint(FloatPoint(0, 0)); |
2684 maskLayer->setContentBounds(IntSize(10, 10)); | |
2685 maskLayer->setDrawsContent(true); | 2660 maskLayer->setDrawsContent(true); |
2686 maskLayer->setSkipsDraw(false); | 2661 maskLayer->setSkipsDraw(false); |
2687 maskLayer->setTilingData(*tilingData); | 2662 maskLayer->setTilingData(*tilingData); |
2688 maskLayer->pushTileProperties(0, 0, 1, IntRect(0, 0, 10, 10), false); | 2663 maskLayer->pushTileProperties(0, 0, 1, IntRect(0, 0, 10, 10), false); |
2689 | 2664 |
2690 scoped_ptr<TextureLayerImpl> textureLayerWithMask = TextureLayerImpl::create
(layerId++); | 2665 scoped_ptr<TextureLayerImpl> textureLayerWithMask = TextureLayerImpl::create
(layerId++); |
2691 textureLayerWithMask->setBounds(IntSize(10, 10)); | 2666 textureLayerWithMask->setBounds(IntSize(10, 10)); |
2692 textureLayerWithMask->setAnchorPoint(FloatPoint(0, 0)); | 2667 textureLayerWithMask->setAnchorPoint(FloatPoint(0, 0)); |
2693 textureLayerWithMask->setContentBounds(IntSize(10, 10)); | |
2694 textureLayerWithMask->setDrawsContent(true); | 2668 textureLayerWithMask->setDrawsContent(true); |
2695 textureLayerWithMask->setTextureId(1); | 2669 textureLayerWithMask->setTextureId(1); |
2696 textureLayerWithMask->setMaskLayer(maskLayer.PassAs<LayerImpl>()); | 2670 textureLayerWithMask->setMaskLayer(maskLayer.PassAs<LayerImpl>()); |
2697 rootLayer->addChild(textureLayerWithMask.PassAs<LayerImpl>()); | 2671 rootLayer->addChild(textureLayerWithMask.PassAs<LayerImpl>()); |
2698 | 2672 |
2699 FakeVideoFrame videoFrame; | 2673 FakeVideoFrame videoFrame; |
2700 FakeVideoFrameProvider provider; | 2674 FakeVideoFrameProvider provider; |
2701 provider.setFrame(&videoFrame); | 2675 provider.setFrame(&videoFrame); |
2702 scoped_ptr<VideoLayerImpl> videoLayer = VideoLayerImpl::create(layerId++, &p
rovider); | 2676 scoped_ptr<VideoLayerImpl> videoLayer = VideoLayerImpl::create(layerId++, &p
rovider); |
2703 videoLayer->setBounds(IntSize(10, 10)); | 2677 videoLayer->setBounds(IntSize(10, 10)); |
2704 videoLayer->setAnchorPoint(FloatPoint(0, 0)); | 2678 videoLayer->setAnchorPoint(FloatPoint(0, 0)); |
2705 videoLayer->setContentBounds(IntSize(10, 10)); | |
2706 videoLayer->setDrawsContent(true); | 2679 videoLayer->setDrawsContent(true); |
2707 videoLayer->setLayerTreeHostImpl(m_hostImpl.get()); | 2680 videoLayer->setLayerTreeHostImpl(m_hostImpl.get()); |
2708 rootLayer->addChild(videoLayer.PassAs<LayerImpl>()); | 2681 rootLayer->addChild(videoLayer.PassAs<LayerImpl>()); |
2709 | 2682 |
2710 FakeVideoFrame hwVideoFrame; | 2683 FakeVideoFrame hwVideoFrame; |
2711 FakeVideoFrameProvider hwProvider; | 2684 FakeVideoFrameProvider hwProvider; |
2712 hwProvider.setFrame(&hwVideoFrame); | 2685 hwProvider.setFrame(&hwVideoFrame); |
2713 scoped_ptr<VideoLayerImpl> hwVideoLayer = VideoLayerImpl::create(layerId++,
&hwProvider); | 2686 scoped_ptr<VideoLayerImpl> hwVideoLayer = VideoLayerImpl::create(layerId++,
&hwProvider); |
2714 hwVideoLayer->setBounds(IntSize(10, 10)); | 2687 hwVideoLayer->setBounds(IntSize(10, 10)); |
2715 hwVideoLayer->setAnchorPoint(FloatPoint(0, 0)); | 2688 hwVideoLayer->setAnchorPoint(FloatPoint(0, 0)); |
2716 hwVideoLayer->setContentBounds(IntSize(10, 10)); | |
2717 hwVideoLayer->setDrawsContent(true); | 2689 hwVideoLayer->setDrawsContent(true); |
2718 hwVideoLayer->setLayerTreeHostImpl(m_hostImpl.get()); | 2690 hwVideoLayer->setLayerTreeHostImpl(m_hostImpl.get()); |
2719 rootLayer->addChild(hwVideoLayer.PassAs<LayerImpl>()); | 2691 rootLayer->addChild(hwVideoLayer.PassAs<LayerImpl>()); |
2720 | 2692 |
2721 scoped_ptr<IOSurfaceLayerImpl> ioSurfaceLayer = IOSurfaceLayerImpl::create(l
ayerId++); | 2693 scoped_ptr<IOSurfaceLayerImpl> ioSurfaceLayer = IOSurfaceLayerImpl::create(l
ayerId++); |
2722 ioSurfaceLayer->setBounds(IntSize(10, 10)); | 2694 ioSurfaceLayer->setBounds(IntSize(10, 10)); |
2723 ioSurfaceLayer->setAnchorPoint(FloatPoint(0, 0)); | 2695 ioSurfaceLayer->setAnchorPoint(FloatPoint(0, 0)); |
2724 ioSurfaceLayer->setContentBounds(IntSize(10, 10)); | |
2725 ioSurfaceLayer->setDrawsContent(true); | 2696 ioSurfaceLayer->setDrawsContent(true); |
2726 ioSurfaceLayer->setIOSurfaceProperties(1, IntSize(10, 10)); | 2697 ioSurfaceLayer->setIOSurfaceProperties(1, IntSize(10, 10)); |
2727 ioSurfaceLayer->setLayerTreeHostImpl(m_hostImpl.get()); | 2698 ioSurfaceLayer->setLayerTreeHostImpl(m_hostImpl.get()); |
2728 rootLayer->addChild(ioSurfaceLayer.PassAs<LayerImpl>()); | 2699 rootLayer->addChild(ioSurfaceLayer.PassAs<LayerImpl>()); |
2729 | 2700 |
2730 scoped_ptr<HeadsUpDisplayLayerImpl> hudLayer = HeadsUpDisplayLayerImpl::crea
te(layerId++); | 2701 scoped_ptr<HeadsUpDisplayLayerImpl> hudLayer = HeadsUpDisplayLayerImpl::crea
te(layerId++); |
2731 hudLayer->setBounds(IntSize(10, 10)); | 2702 hudLayer->setBounds(IntSize(10, 10)); |
2732 hudLayer->setAnchorPoint(FloatPoint(0, 0)); | 2703 hudLayer->setAnchorPoint(FloatPoint(0, 0)); |
2733 hudLayer->setContentBounds(IntSize(10, 10)); | |
2734 hudLayer->setDrawsContent(true); | 2704 hudLayer->setDrawsContent(true); |
2735 hudLayer->setLayerTreeHostImpl(m_hostImpl.get()); | 2705 hudLayer->setLayerTreeHostImpl(m_hostImpl.get()); |
2736 rootLayer->addChild(hudLayer.PassAs<LayerImpl>()); | 2706 rootLayer->addChild(hudLayer.PassAs<LayerImpl>()); |
2737 | 2707 |
2738 scoped_ptr<FakeScrollbarLayerImpl> scrollbarLayer(FakeScrollbarLayerImpl::cr
eate(layerId++)); | 2708 scoped_ptr<FakeScrollbarLayerImpl> scrollbarLayer(FakeScrollbarLayerImpl::cr
eate(layerId++)); |
2739 scrollbarLayer->setBounds(IntSize(10, 10)); | 2709 scrollbarLayer->setBounds(IntSize(10, 10)); |
2740 scrollbarLayer->setContentBounds(IntSize(10, 10)); | |
2741 scrollbarLayer->setDrawsContent(true); | 2710 scrollbarLayer->setDrawsContent(true); |
2742 scrollbarLayer->setLayerTreeHostImpl(m_hostImpl.get()); | 2711 scrollbarLayer->setLayerTreeHostImpl(m_hostImpl.get()); |
2743 scrollbarLayer->createResources(m_hostImpl->resourceProvider()); | 2712 scrollbarLayer->createResources(m_hostImpl->resourceProvider()); |
2744 rootLayer->addChild(scrollbarLayer.PassAs<LayerImpl>()); | 2713 rootLayer->addChild(scrollbarLayer.PassAs<LayerImpl>()); |
2745 | 2714 |
2746 scoped_ptr<DelegatedRendererLayerImpl> delegatedRendererLayer(DelegatedRende
rerLayerImpl::create(layerId++)); | 2715 scoped_ptr<DelegatedRendererLayerImpl> delegatedRendererLayer(DelegatedRende
rerLayerImpl::create(layerId++)); |
2747 delegatedRendererLayer->setBounds(IntSize(10, 10)); | 2716 delegatedRendererLayer->setBounds(IntSize(10, 10)); |
2748 delegatedRendererLayer->setContentBounds(IntSize(10, 10)); | |
2749 delegatedRendererLayer->setDrawsContent(true); | 2717 delegatedRendererLayer->setDrawsContent(true); |
2750 delegatedRendererLayer->setLayerTreeHostImpl(m_hostImpl.get()); | 2718 delegatedRendererLayer->setLayerTreeHostImpl(m_hostImpl.get()); |
2751 ScopedPtrVector<RenderPass> passList; | 2719 ScopedPtrVector<RenderPass> passList; |
2752 passList.append(createRenderPassWithResource(m_hostImpl->resourceProvider())
); | 2720 passList.append(createRenderPassWithResource(m_hostImpl->resourceProvider())
); |
2753 delegatedRendererLayer->setRenderPasses(passList); | 2721 delegatedRendererLayer->setRenderPasses(passList); |
2754 EXPECT_TRUE(passList.isEmpty()); | 2722 EXPECT_TRUE(passList.isEmpty()); |
2755 rootLayer->addChild(delegatedRendererLayer.PassAs<LayerImpl>()); | 2723 rootLayer->addChild(delegatedRendererLayer.PassAs<LayerImpl>()); |
2756 | 2724 |
2757 // Use a context that supports IOSurfaces | 2725 // Use a context that supports IOSurfaces |
2758 m_hostImpl->initializeRenderer(FakeWebCompositorOutputSurface::create(scoped
_ptr<WebKit::WebGraphicsContext3D>(new FakeWebGraphicsContext3DWithIOSurface)).P
assAs<GraphicsContext>()); | 2726 m_hostImpl->initializeRenderer(FakeWebCompositorOutputSurface::create(scoped
_ptr<WebKit::WebGraphicsContext3D>(new FakeWebGraphicsContext3DWithIOSurface)).P
assAs<GraphicsContext>()); |
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2839 | 2807 |
2840 TEST_P(LayerTreeHostImplTest, layersFreeTextures) | 2808 TEST_P(LayerTreeHostImplTest, layersFreeTextures) |
2841 { | 2809 { |
2842 scoped_ptr<LayerImpl> rootLayer(LayerImpl::create(1)); | 2810 scoped_ptr<LayerImpl> rootLayer(LayerImpl::create(1)); |
2843 rootLayer->setBounds(IntSize(10, 10)); | 2811 rootLayer->setBounds(IntSize(10, 10)); |
2844 rootLayer->setAnchorPoint(FloatPoint(0, 0)); | 2812 rootLayer->setAnchorPoint(FloatPoint(0, 0)); |
2845 | 2813 |
2846 scoped_ptr<TiledLayerImpl> tileLayer = TiledLayerImpl::create(2); | 2814 scoped_ptr<TiledLayerImpl> tileLayer = TiledLayerImpl::create(2); |
2847 tileLayer->setBounds(IntSize(10, 10)); | 2815 tileLayer->setBounds(IntSize(10, 10)); |
2848 tileLayer->setAnchorPoint(FloatPoint(0, 0)); | 2816 tileLayer->setAnchorPoint(FloatPoint(0, 0)); |
2849 tileLayer->setContentBounds(IntSize(10, 10)); | |
2850 tileLayer->setDrawsContent(true); | 2817 tileLayer->setDrawsContent(true); |
2851 tileLayer->setSkipsDraw(false); | 2818 tileLayer->setSkipsDraw(false); |
2852 scoped_ptr<LayerTilingData> tilingData(LayerTilingData::create(IntSize(10, 1
0), LayerTilingData::NoBorderTexels)); | 2819 scoped_ptr<LayerTilingData> tilingData(LayerTilingData::create(IntSize(10, 1
0), LayerTilingData::NoBorderTexels)); |
2853 tilingData->setBounds(IntSize(10, 10)); | 2820 tilingData->setBounds(IntSize(10, 10)); |
2854 tileLayer->setTilingData(*tilingData); | 2821 tileLayer->setTilingData(*tilingData); |
2855 tileLayer->pushTileProperties(0, 0, 1, IntRect(0, 0, 10, 10), false); | 2822 tileLayer->pushTileProperties(0, 0, 1, IntRect(0, 0, 10, 10), false); |
2856 rootLayer->addChild(tileLayer.PassAs<LayerImpl>()); | 2823 rootLayer->addChild(tileLayer.PassAs<LayerImpl>()); |
2857 | 2824 |
2858 scoped_ptr<TextureLayerImpl> textureLayer = TextureLayerImpl::create(3); | 2825 scoped_ptr<TextureLayerImpl> textureLayer = TextureLayerImpl::create(3); |
2859 textureLayer->setBounds(IntSize(10, 10)); | 2826 textureLayer->setBounds(IntSize(10, 10)); |
2860 textureLayer->setAnchorPoint(FloatPoint(0, 0)); | 2827 textureLayer->setAnchorPoint(FloatPoint(0, 0)); |
2861 textureLayer->setContentBounds(IntSize(10, 10)); | |
2862 textureLayer->setDrawsContent(true); | 2828 textureLayer->setDrawsContent(true); |
2863 textureLayer->setTextureId(1); | 2829 textureLayer->setTextureId(1); |
2864 rootLayer->addChild(textureLayer.PassAs<LayerImpl>()); | 2830 rootLayer->addChild(textureLayer.PassAs<LayerImpl>()); |
2865 | 2831 |
2866 FakeVideoFrameProvider provider; | 2832 FakeVideoFrameProvider provider; |
2867 scoped_ptr<VideoLayerImpl> videoLayer = VideoLayerImpl::create(4, &provider)
; | 2833 scoped_ptr<VideoLayerImpl> videoLayer = VideoLayerImpl::create(4, &provider)
; |
2868 videoLayer->setBounds(IntSize(10, 10)); | 2834 videoLayer->setBounds(IntSize(10, 10)); |
2869 videoLayer->setAnchorPoint(FloatPoint(0, 0)); | 2835 videoLayer->setAnchorPoint(FloatPoint(0, 0)); |
2870 videoLayer->setContentBounds(IntSize(10, 10)); | |
2871 videoLayer->setDrawsContent(true); | 2836 videoLayer->setDrawsContent(true); |
2872 videoLayer->setLayerTreeHostImpl(m_hostImpl.get()); | 2837 videoLayer->setLayerTreeHostImpl(m_hostImpl.get()); |
2873 rootLayer->addChild(videoLayer.PassAs<LayerImpl>()); | 2838 rootLayer->addChild(videoLayer.PassAs<LayerImpl>()); |
2874 | 2839 |
2875 scoped_ptr<IOSurfaceLayerImpl> ioSurfaceLayer = IOSurfaceLayerImpl::create(5
); | 2840 scoped_ptr<IOSurfaceLayerImpl> ioSurfaceLayer = IOSurfaceLayerImpl::create(5
); |
2876 ioSurfaceLayer->setBounds(IntSize(10, 10)); | 2841 ioSurfaceLayer->setBounds(IntSize(10, 10)); |
2877 ioSurfaceLayer->setAnchorPoint(FloatPoint(0, 0)); | 2842 ioSurfaceLayer->setAnchorPoint(FloatPoint(0, 0)); |
2878 ioSurfaceLayer->setContentBounds(IntSize(10, 10)); | |
2879 ioSurfaceLayer->setDrawsContent(true); | 2843 ioSurfaceLayer->setDrawsContent(true); |
2880 ioSurfaceLayer->setIOSurfaceProperties(1, IntSize(10, 10)); | 2844 ioSurfaceLayer->setIOSurfaceProperties(1, IntSize(10, 10)); |
2881 ioSurfaceLayer->setLayerTreeHostImpl(m_hostImpl.get()); | 2845 ioSurfaceLayer->setLayerTreeHostImpl(m_hostImpl.get()); |
2882 rootLayer->addChild(ioSurfaceLayer.PassAs<LayerImpl>()); | 2846 rootLayer->addChild(ioSurfaceLayer.PassAs<LayerImpl>()); |
2883 | 2847 |
2884 // Lose the context, replacing it with a TrackingWebGraphicsContext3D (which
the LayerTreeHostImpl takes ownership of). | 2848 // Lose the context, replacing it with a TrackingWebGraphicsContext3D (which
the LayerTreeHostImpl takes ownership of). |
2885 scoped_ptr<GraphicsContext> outputSurface(FakeWebCompositorOutputSurface::cr
eate(scoped_ptr<WebKit::WebGraphicsContext3D>(new TrackingWebGraphicsContext3D))
); | 2849 scoped_ptr<GraphicsContext> outputSurface(FakeWebCompositorOutputSurface::cr
eate(scoped_ptr<WebKit::WebGraphicsContext3D>(new TrackingWebGraphicsContext3D))
); |
2886 TrackingWebGraphicsContext3D* trackingWebGraphicsContext = static_cast<Track
ingWebGraphicsContext3D*>(outputSurface->context3D()); | 2850 TrackingWebGraphicsContext3D* trackingWebGraphicsContext = static_cast<Track
ingWebGraphicsContext3D*>(outputSurface->context3D()); |
2887 m_hostImpl->initializeRenderer(outputSurface.Pass()); | 2851 m_hostImpl->initializeRenderer(outputSurface.Pass()); |
2888 | 2852 |
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2937 Mock::VerifyAndClearExpectations(&mockContext); | 2901 Mock::VerifyAndClearExpectations(&mockContext); |
2938 } | 2902 } |
2939 | 2903 |
2940 static void addDrawingLayerTo(LayerImpl* parent, int id, const IntRect& layerRec
t, LayerImpl** result) | 2904 static void addDrawingLayerTo(LayerImpl* parent, int id, const IntRect& layerRec
t, LayerImpl** result) |
2941 { | 2905 { |
2942 scoped_ptr<LayerImpl> layer = FakeLayerWithQuads::create(id); | 2906 scoped_ptr<LayerImpl> layer = FakeLayerWithQuads::create(id); |
2943 LayerImpl* layerPtr = layer.get(); | 2907 LayerImpl* layerPtr = layer.get(); |
2944 layerPtr->setAnchorPoint(FloatPoint(0, 0)); | 2908 layerPtr->setAnchorPoint(FloatPoint(0, 0)); |
2945 layerPtr->setPosition(FloatPoint(layerRect.location())); | 2909 layerPtr->setPosition(FloatPoint(layerRect.location())); |
2946 layerPtr->setBounds(layerRect.size()); | 2910 layerPtr->setBounds(layerRect.size()); |
2947 layerPtr->setContentBounds(layerRect.size()); | |
2948 layerPtr->setDrawsContent(true); // only children draw content | 2911 layerPtr->setDrawsContent(true); // only children draw content |
2949 layerPtr->setContentsOpaque(true); | 2912 layerPtr->setContentsOpaque(true); |
2950 parent->addChild(layer.Pass()); | 2913 parent->addChild(layer.Pass()); |
2951 if (result) | 2914 if (result) |
2952 *result = layerPtr; | 2915 *result = layerPtr; |
2953 } | 2916 } |
2954 | 2917 |
2955 static void setupLayersForTextureCaching(LayerTreeHostImpl* layerTreeHostImpl, L
ayerImpl*& rootPtr, LayerImpl*& intermediateLayerPtr, LayerImpl*& surfaceLayerPt
r, LayerImpl*& childPtr, const IntSize& rootSize) | 2918 static void setupLayersForTextureCaching(LayerTreeHostImpl* layerTreeHostImpl, L
ayerImpl*& rootPtr, LayerImpl*& intermediateLayerPtr, LayerImpl*& surfaceLayerPt
r, LayerImpl*& childPtr, const IntSize& rootSize) |
2956 { | 2919 { |
2957 scoped_ptr<GraphicsContext> context = FakeWebCompositorOutputSurface::create
(scoped_ptr<WebKit::WebGraphicsContext3D>(new PartialSwapContext)).PassAs<Graphi
csContext>(); | 2920 scoped_ptr<GraphicsContext> context = FakeWebCompositorOutputSurface::create
(scoped_ptr<WebKit::WebGraphicsContext3D>(new PartialSwapContext)).PassAs<Graphi
csContext>(); |
2958 | 2921 |
2959 layerTreeHostImpl->initializeRenderer(context.Pass()); | 2922 layerTreeHostImpl->initializeRenderer(context.Pass()); |
2960 layerTreeHostImpl->setViewportSize(rootSize, rootSize); | 2923 layerTreeHostImpl->setViewportSize(rootSize, rootSize); |
2961 | 2924 |
2962 scoped_ptr<LayerImpl> root = LayerImpl::create(1); | 2925 scoped_ptr<LayerImpl> root = LayerImpl::create(1); |
2963 rootPtr = root.get(); | 2926 rootPtr = root.get(); |
2964 | 2927 |
2965 root->setAnchorPoint(FloatPoint(0, 0)); | 2928 root->setAnchorPoint(FloatPoint(0, 0)); |
2966 root->setPosition(FloatPoint(0, 0)); | 2929 root->setPosition(FloatPoint(0, 0)); |
2967 root->setBounds(rootSize); | 2930 root->setBounds(rootSize); |
2968 root->setContentBounds(rootSize); | |
2969 root->setDrawsContent(true); | 2931 root->setDrawsContent(true); |
2970 layerTreeHostImpl->setRootLayer(root.Pass()); | 2932 layerTreeHostImpl->setRootLayer(root.Pass()); |
2971 | 2933 |
2972 addDrawingLayerTo(rootPtr, 2, IntRect(10, 10, rootSize.width(), rootSize.hei
ght()), &intermediateLayerPtr); | 2934 addDrawingLayerTo(rootPtr, 2, IntRect(10, 10, rootSize.width(), rootSize.hei
ght()), &intermediateLayerPtr); |
2973 intermediateLayerPtr->setDrawsContent(false); // only children draw content | 2935 intermediateLayerPtr->setDrawsContent(false); // only children draw content |
2974 | 2936 |
2975 // Surface layer is the layer that changes its opacity | 2937 // Surface layer is the layer that changes its opacity |
2976 // It will contain other layers that draw content. | 2938 // It will contain other layers that draw content. |
2977 addDrawingLayerTo(intermediateLayerPtr, 3, IntRect(10, 10, rootSize.width(),
rootSize.height()), &surfaceLayerPtr); | 2939 addDrawingLayerTo(intermediateLayerPtr, 3, IntRect(10, 10, rootSize.width(),
rootSize.height()), &surfaceLayerPtr); |
2978 surfaceLayerPtr->setDrawsContent(false); // only children draw content | 2940 surfaceLayerPtr->setDrawsContent(false); // only children draw content |
(...skipping 25 matching lines...) Expand all Loading... |
3004 | 2966 |
3005 myHostImpl->initializeRenderer(context.Pass()); | 2967 myHostImpl->initializeRenderer(context.Pass()); |
3006 myHostImpl->setViewportSize(IntSize(rootSize.width(), rootSize.height()), In
tSize(rootSize.width(), rootSize.height())); | 2968 myHostImpl->setViewportSize(IntSize(rootSize.width(), rootSize.height()), In
tSize(rootSize.width(), rootSize.height())); |
3007 | 2969 |
3008 scoped_ptr<LayerImpl> root = LayerImpl::create(1); | 2970 scoped_ptr<LayerImpl> root = LayerImpl::create(1); |
3009 rootPtr = root.get(); | 2971 rootPtr = root.get(); |
3010 | 2972 |
3011 root->setAnchorPoint(FloatPoint(0, 0)); | 2973 root->setAnchorPoint(FloatPoint(0, 0)); |
3012 root->setPosition(FloatPoint(0, 0)); | 2974 root->setPosition(FloatPoint(0, 0)); |
3013 root->setBounds(rootSize); | 2975 root->setBounds(rootSize); |
3014 root->setContentBounds(rootSize); | |
3015 root->setDrawsContent(true); | 2976 root->setDrawsContent(true); |
3016 root->setMasksToBounds(true); | 2977 root->setMasksToBounds(true); |
3017 myHostImpl->setRootLayer(root.Pass()); | 2978 myHostImpl->setRootLayer(root.Pass()); |
3018 | 2979 |
3019 addDrawingLayerTo(rootPtr, 3, IntRect(0, 0, rootSize.width(), rootSize.heigh
t()), &surfaceLayerPtr); | 2980 addDrawingLayerTo(rootPtr, 3, IntRect(0, 0, rootSize.width(), rootSize.heigh
t()), &surfaceLayerPtr); |
3020 surfaceLayerPtr->setDrawsContent(false); | 2981 surfaceLayerPtr->setDrawsContent(false); |
3021 | 2982 |
3022 // Surface layer is the layer that changes its opacity | 2983 // Surface layer is the layer that changes its opacity |
3023 // It will contain other layers that draw content. | 2984 // It will contain other layers that draw content. |
3024 surfaceLayerPtr->setOpacity(0.5f); // This will cause it to have a surface | 2985 surfaceLayerPtr->setOpacity(0.5f); // This will cause it to have a surface |
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3116 | 3077 |
3117 myHostImpl->initializeRenderer(context.Pass()); | 3078 myHostImpl->initializeRenderer(context.Pass()); |
3118 myHostImpl->setViewportSize(IntSize(rootSize.width(), rootSize.height()), In
tSize(rootSize.width(), rootSize.height())); | 3079 myHostImpl->setViewportSize(IntSize(rootSize.width(), rootSize.height()), In
tSize(rootSize.width(), rootSize.height())); |
3119 | 3080 |
3120 scoped_ptr<LayerImpl> root = LayerImpl::create(1); | 3081 scoped_ptr<LayerImpl> root = LayerImpl::create(1); |
3121 rootPtr = root.get(); | 3082 rootPtr = root.get(); |
3122 | 3083 |
3123 root->setAnchorPoint(FloatPoint(0, 0)); | 3084 root->setAnchorPoint(FloatPoint(0, 0)); |
3124 root->setPosition(FloatPoint(0, 0)); | 3085 root->setPosition(FloatPoint(0, 0)); |
3125 root->setBounds(rootSize); | 3086 root->setBounds(rootSize); |
3126 root->setContentBounds(rootSize); | |
3127 root->setDrawsContent(true); | 3087 root->setDrawsContent(true); |
3128 root->setMasksToBounds(true); | 3088 root->setMasksToBounds(true); |
3129 myHostImpl->setRootLayer(root.Pass()); | 3089 myHostImpl->setRootLayer(root.Pass()); |
3130 | 3090 |
3131 addDrawingLayerTo(rootPtr, 2, IntRect(300, 300, 300, 300), &layerS1Ptr); | 3091 addDrawingLayerTo(rootPtr, 2, IntRect(300, 300, 300, 300), &layerS1Ptr); |
3132 layerS1Ptr->setForceRenderSurface(true); | 3092 layerS1Ptr->setForceRenderSurface(true); |
3133 | 3093 |
3134 addDrawingLayerTo(layerS1Ptr, 3, IntRect(10, 10, 10, 10), 0); // L11 | 3094 addDrawingLayerTo(layerS1Ptr, 3, IntRect(10, 10, 10, 10), 0); // L11 |
3135 addDrawingLayerTo(layerS1Ptr, 4, IntRect(0, 0, 30, 30), 0); // L12 | 3095 addDrawingLayerTo(layerS1Ptr, 4, IntRect(0, 0, 30, 30), 0); // L12 |
3136 | 3096 |
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3229 | 3189 |
3230 myHostImpl->initializeRenderer(context.Pass()); | 3190 myHostImpl->initializeRenderer(context.Pass()); |
3231 myHostImpl->setViewportSize(IntSize(rootSize.width(), rootSize.height()), In
tSize(rootSize.width(), rootSize.height())); | 3191 myHostImpl->setViewportSize(IntSize(rootSize.width(), rootSize.height()), In
tSize(rootSize.width(), rootSize.height())); |
3232 | 3192 |
3233 scoped_ptr<LayerImpl> root = LayerImpl::create(1); | 3193 scoped_ptr<LayerImpl> root = LayerImpl::create(1); |
3234 rootPtr = root.get(); | 3194 rootPtr = root.get(); |
3235 | 3195 |
3236 root->setAnchorPoint(FloatPoint(0, 0)); | 3196 root->setAnchorPoint(FloatPoint(0, 0)); |
3237 root->setPosition(FloatPoint(0, 0)); | 3197 root->setPosition(FloatPoint(0, 0)); |
3238 root->setBounds(rootSize); | 3198 root->setBounds(rootSize); |
3239 root->setContentBounds(rootSize); | |
3240 root->setDrawsContent(true); | 3199 root->setDrawsContent(true); |
3241 root->setMasksToBounds(true); | 3200 root->setMasksToBounds(true); |
3242 myHostImpl->setRootLayer(root.Pass()); | 3201 myHostImpl->setRootLayer(root.Pass()); |
3243 | 3202 |
3244 addDrawingLayerTo(rootPtr, 2, IntRect(0, 0, 800, 800), &layerS1Ptr); | 3203 addDrawingLayerTo(rootPtr, 2, IntRect(0, 0, 800, 800), &layerS1Ptr); |
3245 layerS1Ptr->setForceRenderSurface(true); | 3204 layerS1Ptr->setForceRenderSurface(true); |
3246 layerS1Ptr->setDrawsContent(false); | 3205 layerS1Ptr->setDrawsContent(false); |
3247 | 3206 |
3248 addDrawingLayerTo(layerS1Ptr, 3, IntRect(0, 0, 300, 300), 0); // L11 | 3207 addDrawingLayerTo(layerS1Ptr, 3, IntRect(0, 0, 300, 300), 0); // L11 |
3249 addDrawingLayerTo(layerS1Ptr, 4, IntRect(0, 500, 300, 300), 0); // L12 | 3208 addDrawingLayerTo(layerS1Ptr, 4, IntRect(0, 500, 300, 300), 0); // L12 |
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3343 | 3302 |
3344 myHostImpl->initializeRenderer(context.Pass()); | 3303 myHostImpl->initializeRenderer(context.Pass()); |
3345 myHostImpl->setViewportSize(IntSize(rootSize.width(), rootSize.height()), In
tSize(rootSize.width(), rootSize.height())); | 3304 myHostImpl->setViewportSize(IntSize(rootSize.width(), rootSize.height()), In
tSize(rootSize.width(), rootSize.height())); |
3346 | 3305 |
3347 scoped_ptr<LayerImpl> root = LayerImpl::create(1); | 3306 scoped_ptr<LayerImpl> root = LayerImpl::create(1); |
3348 rootPtr = root.get(); | 3307 rootPtr = root.get(); |
3349 | 3308 |
3350 root->setAnchorPoint(FloatPoint(0, 0)); | 3309 root->setAnchorPoint(FloatPoint(0, 0)); |
3351 root->setPosition(FloatPoint(0, 0)); | 3310 root->setPosition(FloatPoint(0, 0)); |
3352 root->setBounds(rootSize); | 3311 root->setBounds(rootSize); |
3353 root->setContentBounds(rootSize); | |
3354 root->setDrawsContent(true); | 3312 root->setDrawsContent(true); |
3355 root->setMasksToBounds(true); | 3313 root->setMasksToBounds(true); |
3356 myHostImpl->setRootLayer(root.Pass()); | 3314 myHostImpl->setRootLayer(root.Pass()); |
3357 | 3315 |
3358 addDrawingLayerTo(rootPtr, 2, IntRect(0, 0, 400, 400), &layerS1Ptr); | 3316 addDrawingLayerTo(rootPtr, 2, IntRect(0, 0, 400, 400), &layerS1Ptr); |
3359 layerS1Ptr->setForceRenderSurface(true); | 3317 layerS1Ptr->setForceRenderSurface(true); |
3360 | 3318 |
3361 addDrawingLayerTo(layerS1Ptr, 3, IntRect(0, 0, 300, 300), 0); // L11 | 3319 addDrawingLayerTo(layerS1Ptr, 3, IntRect(0, 0, 300, 300), 0); // L11 |
3362 addDrawingLayerTo(layerS1Ptr, 4, IntRect(100, 0, 300, 300), 0); // L12 | 3320 addDrawingLayerTo(layerS1Ptr, 4, IntRect(100, 0, 300, 300), 0); // L12 |
3363 | 3321 |
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3426 | 3384 |
3427 myHostImpl->initializeRenderer(context.Pass()); | 3385 myHostImpl->initializeRenderer(context.Pass()); |
3428 myHostImpl->setViewportSize(IntSize(rootSize.width(), rootSize.height()), In
tSize(rootSize.width(), rootSize.height())); | 3386 myHostImpl->setViewportSize(IntSize(rootSize.width(), rootSize.height()), In
tSize(rootSize.width(), rootSize.height())); |
3429 | 3387 |
3430 scoped_ptr<LayerImpl> root = LayerImpl::create(1); | 3388 scoped_ptr<LayerImpl> root = LayerImpl::create(1); |
3431 rootPtr = root.get(); | 3389 rootPtr = root.get(); |
3432 | 3390 |
3433 root->setAnchorPoint(FloatPoint(0, 0)); | 3391 root->setAnchorPoint(FloatPoint(0, 0)); |
3434 root->setPosition(FloatPoint(0, 0)); | 3392 root->setPosition(FloatPoint(0, 0)); |
3435 root->setBounds(rootSize); | 3393 root->setBounds(rootSize); |
3436 root->setContentBounds(rootSize); | |
3437 root->setDrawsContent(true); | 3394 root->setDrawsContent(true); |
3438 root->setMasksToBounds(true); | 3395 root->setMasksToBounds(true); |
3439 myHostImpl->setRootLayer(root.Pass()); | 3396 myHostImpl->setRootLayer(root.Pass()); |
3440 | 3397 |
3441 addDrawingLayerTo(rootPtr, 2, IntRect(0, 0, 400, 400), &layerS1Ptr); | 3398 addDrawingLayerTo(rootPtr, 2, IntRect(0, 0, 400, 400), &layerS1Ptr); |
3442 layerS1Ptr->setForceRenderSurface(true); | 3399 layerS1Ptr->setForceRenderSurface(true); |
3443 WebTransformationMatrix transform = layerS1Ptr->transform(); | 3400 WebTransformationMatrix transform = layerS1Ptr->transform(); |
3444 transform.translate(200, 200); | 3401 transform.translate(200, 200); |
3445 transform.rotate(45); | 3402 transform.rotate(45); |
3446 transform.translate(-200, -200); | 3403 transform.translate(-200, -200); |
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3511 | 3468 |
3512 myHostImpl->initializeRenderer(context.Pass()); | 3469 myHostImpl->initializeRenderer(context.Pass()); |
3513 myHostImpl->setViewportSize(IntSize(rootSize.width(), rootSize.height()), In
tSize(rootSize.width(), rootSize.height())); | 3470 myHostImpl->setViewportSize(IntSize(rootSize.width(), rootSize.height()), In
tSize(rootSize.width(), rootSize.height())); |
3514 | 3471 |
3515 scoped_ptr<LayerImpl> root = LayerImpl::create(1); | 3472 scoped_ptr<LayerImpl> root = LayerImpl::create(1); |
3516 rootPtr = root.get(); | 3473 rootPtr = root.get(); |
3517 | 3474 |
3518 root->setAnchorPoint(FloatPoint(0, 0)); | 3475 root->setAnchorPoint(FloatPoint(0, 0)); |
3519 root->setPosition(FloatPoint(0, 0)); | 3476 root->setPosition(FloatPoint(0, 0)); |
3520 root->setBounds(rootSize); | 3477 root->setBounds(rootSize); |
3521 root->setContentBounds(rootSize); | |
3522 root->setDrawsContent(true); | 3478 root->setDrawsContent(true); |
3523 root->setMasksToBounds(true); | 3479 root->setMasksToBounds(true); |
3524 myHostImpl->setRootLayer(root.Pass()); | 3480 myHostImpl->setRootLayer(root.Pass()); |
3525 | 3481 |
3526 addDrawingLayerTo(rootPtr, 2, IntRect(300, 300, 300, 300), &layerS1Ptr); | 3482 addDrawingLayerTo(rootPtr, 2, IntRect(300, 300, 300, 300), &layerS1Ptr); |
3527 layerS1Ptr->setForceRenderSurface(true); | 3483 layerS1Ptr->setForceRenderSurface(true); |
3528 | 3484 |
3529 addDrawingLayerTo(layerS1Ptr, 3, IntRect(10, 10, 10, 10), 0); // L11 | 3485 addDrawingLayerTo(layerS1Ptr, 3, IntRect(10, 10, 10, 10), 0); // L11 |
3530 addDrawingLayerTo(layerS1Ptr, 4, IntRect(0, 0, 30, 30), 0); // L12 | 3486 addDrawingLayerTo(layerS1Ptr, 4, IntRect(0, 0, 30, 30), 0); // L12 |
3531 | 3487 |
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3625 IntRect rootRect(0, 0, 100, 100); | 3581 IntRect rootRect(0, 0, 100, 100); |
3626 IntRect childRect(10, 10, 50, 50); | 3582 IntRect childRect(10, 10, 50, 50); |
3627 IntRect grandChildRect(5, 5, 150, 150); | 3583 IntRect grandChildRect(5, 5, 150, 150); |
3628 | 3584 |
3629 scoped_ptr<GraphicsContext> context = FakeWebCompositorOutputSurface::create
(scoped_ptr<WebKit::WebGraphicsContext3D>(new PartialSwapContext)).PassAs<Graphi
csContext>(); | 3585 scoped_ptr<GraphicsContext> context = FakeWebCompositorOutputSurface::create
(scoped_ptr<WebKit::WebGraphicsContext3D>(new PartialSwapContext)).PassAs<Graphi
csContext>(); |
3630 myHostImpl->initializeRenderer(context.Pass()); | 3586 myHostImpl->initializeRenderer(context.Pass()); |
3631 | 3587 |
3632 root->setAnchorPoint(FloatPoint(0, 0)); | 3588 root->setAnchorPoint(FloatPoint(0, 0)); |
3633 root->setPosition(FloatPoint(rootRect.x(), rootRect.y())); | 3589 root->setPosition(FloatPoint(rootRect.x(), rootRect.y())); |
3634 root->setBounds(IntSize(rootRect.width(), rootRect.height())); | 3590 root->setBounds(IntSize(rootRect.width(), rootRect.height())); |
3635 root->setContentBounds(root->bounds()); | |
3636 root->setDrawsContent(true); | 3591 root->setDrawsContent(true); |
3637 root->setMasksToBounds(true); | 3592 root->setMasksToBounds(true); |
3638 | 3593 |
3639 child->setAnchorPoint(FloatPoint(0, 0)); | 3594 child->setAnchorPoint(FloatPoint(0, 0)); |
3640 child->setPosition(FloatPoint(childRect.x(), childRect.y())); | 3595 child->setPosition(FloatPoint(childRect.x(), childRect.y())); |
3641 child->setOpacity(0.5); | 3596 child->setOpacity(0.5); |
3642 child->setBounds(IntSize(childRect.width(), childRect.height())); | 3597 child->setBounds(IntSize(childRect.width(), childRect.height())); |
3643 child->setContentBounds(child->bounds()); | |
3644 child->setDrawsContent(true); | 3598 child->setDrawsContent(true); |
3645 child->setSkipsDraw(false); | 3599 child->setSkipsDraw(false); |
3646 | 3600 |
3647 // child layer has 10x10 tiles. | 3601 // child layer has 10x10 tiles. |
3648 scoped_ptr<LayerTilingData> tiler = LayerTilingData::create(IntSize(10, 10),
LayerTilingData::HasBorderTexels); | 3602 scoped_ptr<LayerTilingData> tiler = LayerTilingData::create(IntSize(10, 10),
LayerTilingData::HasBorderTexels); |
3649 tiler->setBounds(child->contentBounds()); | 3603 tiler->setBounds(child->contentBounds()); |
3650 child->setTilingData(*tiler.get()); | 3604 child->setTilingData(*tiler.get()); |
3651 | 3605 |
3652 grandChild->setAnchorPoint(FloatPoint(0, 0)); | 3606 grandChild->setAnchorPoint(FloatPoint(0, 0)); |
3653 grandChild->setPosition(IntPoint(grandChildRect.x(), grandChildRect.y())); | 3607 grandChild->setPosition(IntPoint(grandChildRect.x(), grandChildRect.y())); |
3654 grandChild->setBounds(IntSize(grandChildRect.width(), grandChildRect.height(
))); | 3608 grandChild->setBounds(IntSize(grandChildRect.width(), grandChildRect.height(
))); |
3655 grandChild->setContentBounds(grandChild->bounds()); | |
3656 grandChild->setDrawsContent(true); | 3609 grandChild->setDrawsContent(true); |
3657 | 3610 |
3658 TiledLayerImpl* childPtr = child.get(); | 3611 TiledLayerImpl* childPtr = child.get(); |
3659 RenderPass::Id childPassId(childPtr->id(), 0); | 3612 RenderPass::Id childPassId(childPtr->id(), 0); |
3660 | 3613 |
3661 child->addChild(grandChild.Pass()); | 3614 child->addChild(grandChild.Pass()); |
3662 root->addChild(child.PassAs<LayerImpl>()); | 3615 root->addChild(child.PassAs<LayerImpl>()); |
3663 myHostImpl->setRootLayer(root.Pass()); | 3616 myHostImpl->setRootLayer(root.Pass()); |
3664 myHostImpl->setViewportSize(rootRect.size(), rootRect.size()); | 3617 myHostImpl->setViewportSize(rootRect.size(), rootRect.size()); |
3665 | 3618 |
(...skipping 710 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4376 verifyRenderPassTestData(removeRenderPassesCases[testCaseIndex], testDat
a); | 4329 verifyRenderPassTestData(removeRenderPassesCases[testCaseIndex], testDat
a); |
4377 testCaseIndex++; | 4330 testCaseIndex++; |
4378 } | 4331 } |
4379 } | 4332 } |
4380 | 4333 |
4381 INSTANTIATE_TEST_CASE_P(LayerTreeHostImplTests, | 4334 INSTANTIATE_TEST_CASE_P(LayerTreeHostImplTests, |
4382 LayerTreeHostImplTest, | 4335 LayerTreeHostImplTest, |
4383 ::testing::Values(false, true)); | 4336 ::testing::Values(false, true)); |
4384 | 4337 |
4385 } // namespace | 4338 } // namespace |
OLD | NEW |