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

Side by Side Diff: cc/layer_tree_host_impl_unittest.cc

Issue 11316171: Don't create render passes for transparent images. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Addressing code review. Created 8 years 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 | Annotate | Revision Log
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 "cc/layer_tree_host_impl.h" 5 #include "cc/layer_tree_host_impl.h"
6 6
7 #include <cmath> 7 #include <cmath>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/command_line.h" 10 #include "base/command_line.h"
(...skipping 2351 matching lines...) Expand 10 before | Expand all | Expand 10 after
2362 root->setDrawsContent(false); 2362 root->setDrawsContent(false);
2363 root->renderSurface()->setContentRect(gfx::Rect(gfx::Point(), gfx::Size(root Rect.width(), rootRect.height()))); 2363 root->renderSurface()->setContentRect(gfx::Rect(gfx::Point(), gfx::Size(root Rect.width(), rootRect.height())));
2364 2364
2365 child->setAnchorPoint(gfx::PointF(0, 0)); 2365 child->setAnchorPoint(gfx::PointF(0, 0));
2366 child->setPosition(gfx::PointF(childRect.x(), childRect.y())); 2366 child->setPosition(gfx::PointF(childRect.x(), childRect.y()));
2367 child->setOpacity(0.5f); 2367 child->setOpacity(0.5f);
2368 child->setBounds(gfx::Size(childRect.width(), childRect.height())); 2368 child->setBounds(gfx::Size(childRect.width(), childRect.height()));
2369 child->setContentBounds(child->bounds()); 2369 child->setContentBounds(child->bounds());
2370 child->setVisibleContentRect(childRect); 2370 child->setVisibleContentRect(childRect);
2371 child->setDrawsContent(false); 2371 child->setDrawsContent(false);
2372 child->setForceRenderSurface(true);
2372 2373
2373 grandChild->setAnchorPoint(gfx::PointF(0, 0)); 2374 grandChild->setAnchorPoint(gfx::PointF(0, 0));
2374 grandChild->setPosition(gfx::Point(grandChildRect.x(), grandChildRect.y())); 2375 grandChild->setPosition(gfx::Point(grandChildRect.x(), grandChildRect.y()));
2375 grandChild->setBounds(gfx::Size(grandChildRect.width(), grandChildRect.heigh t())); 2376 grandChild->setBounds(gfx::Size(grandChildRect.width(), grandChildRect.heigh t()));
2376 grandChild->setContentBounds(grandChild->bounds()); 2377 grandChild->setContentBounds(grandChild->bounds());
2377 grandChild->setVisibleContentRect(grandChildRect); 2378 grandChild->setVisibleContentRect(grandChildRect);
2378 grandChild->setDrawsContent(true); 2379 grandChild->setDrawsContent(true);
2379 2380
2380 child->addChild(grandChild.Pass()); 2381 child->addChild(grandChild.Pass());
2381 root->addChild(child.Pass()); 2382 root->addChild(child.Pass());
(...skipping 729 matching lines...) Expand 10 before | Expand all | Expand 10 after
3111 root->setDrawsContent(true); 3112 root->setDrawsContent(true);
3112 layerTreeHostImpl->setRootLayer(root.Pass()); 3113 layerTreeHostImpl->setRootLayer(root.Pass());
3113 3114
3114 addDrawingLayerTo(rootPtr, 2, gfx::Rect(10, 10, rootSize.width(), rootSize.h eight()), &intermediateLayerPtr); 3115 addDrawingLayerTo(rootPtr, 2, gfx::Rect(10, 10, rootSize.width(), rootSize.h eight()), &intermediateLayerPtr);
3115 intermediateLayerPtr->setDrawsContent(false); // only children draw content 3116 intermediateLayerPtr->setDrawsContent(false); // only children draw content
3116 3117
3117 // Surface layer is the layer that changes its opacity 3118 // Surface layer is the layer that changes its opacity
3118 // It will contain other layers that draw content. 3119 // It will contain other layers that draw content.
3119 addDrawingLayerTo(intermediateLayerPtr, 3, gfx::Rect(10, 10, rootSize.width( ), rootSize.height()), &surfaceLayerPtr); 3120 addDrawingLayerTo(intermediateLayerPtr, 3, gfx::Rect(10, 10, rootSize.width( ), rootSize.height()), &surfaceLayerPtr);
3120 surfaceLayerPtr->setDrawsContent(false); // only children draw content 3121 surfaceLayerPtr->setDrawsContent(false); // only children draw content
3121 surfaceLayerPtr->setOpacity(0.5f); // This will cause it to have a surface 3122 surfaceLayerPtr->setOpacity(0.5f);
3123 surfaceLayerPtr->setForceRenderSurface(true); // This will cause it to have a surface
3122 3124
3123 // Child of the surface layer will produce some quads 3125 // Child of the surface layer will produce some quads
3124 addDrawingLayerTo(surfaceLayerPtr, 4, gfx::Rect(5, 5, rootSize.width() - 25, rootSize.height() - 25), &childPtr); 3126 addDrawingLayerTo(surfaceLayerPtr, 4, gfx::Rect(5, 5, rootSize.width() - 25, rootSize.height() - 25), &childPtr);
3125 } 3127 }
3126 3128
3127 class GLRendererWithReleaseTextures : public GLRenderer { 3129 class GLRendererWithReleaseTextures : public GLRenderer {
3128 public: 3130 public:
3129 using GLRenderer::releaseRenderPassTextures; 3131 using GLRenderer::releaseRenderPassTextures;
3130 }; 3132 };
3131 3133
(...skipping 23 matching lines...) Expand all
3155 root->setContentBounds(rootSize); 3157 root->setContentBounds(rootSize);
3156 root->setDrawsContent(true); 3158 root->setDrawsContent(true);
3157 root->setMasksToBounds(true); 3159 root->setMasksToBounds(true);
3158 myHostImpl->setRootLayer(root.Pass()); 3160 myHostImpl->setRootLayer(root.Pass());
3159 3161
3160 addDrawingLayerTo(rootPtr, 3, gfx::Rect(0, 0, rootSize.width(), rootSize.hei ght()), &surfaceLayerPtr); 3162 addDrawingLayerTo(rootPtr, 3, gfx::Rect(0, 0, rootSize.width(), rootSize.hei ght()), &surfaceLayerPtr);
3161 surfaceLayerPtr->setDrawsContent(false); 3163 surfaceLayerPtr->setDrawsContent(false);
3162 3164
3163 // Surface layer is the layer that changes its opacity 3165 // Surface layer is the layer that changes its opacity
3164 // It will contain other layers that draw content. 3166 // It will contain other layers that draw content.
3165 surfaceLayerPtr->setOpacity(0.5f); // This will cause it to have a surface 3167 surfaceLayerPtr->setOpacity(0.5f);
3168 surfaceLayerPtr->setForceRenderSurface(true); // This will cause it to have a surface
3166 3169
3167 addDrawingLayerTo(surfaceLayerPtr, 4, gfx::Rect(0, 0, 100, 3), 0); 3170 addDrawingLayerTo(surfaceLayerPtr, 4, gfx::Rect(0, 0, 100, 3), 0);
3168 addDrawingLayerTo(surfaceLayerPtr, 5, gfx::Rect(0, 97, 100, 3), 0); 3171 addDrawingLayerTo(surfaceLayerPtr, 5, gfx::Rect(0, 97, 100, 3), 0);
3169 3172
3170 // Rotation will put part of the child ouside the bounds of the root layer. 3173 // Rotation will put part of the child ouside the bounds of the root layer.
3171 // Nevertheless, the child layers should be drawn. 3174 // Nevertheless, the child layers should be drawn.
3172 WebTransformationMatrix transform = surfaceLayerPtr->transform(); 3175 WebTransformationMatrix transform = surfaceLayerPtr->transform();
3173 transform.translate(50, 50); 3176 transform.translate(50, 50);
3174 transform.rotate(35); 3177 transform.rotate(35);
3175 transform.translate(-50, -50); 3178 transform.translate(-50, -50);
(...skipping 1693 matching lines...) Expand 10 before | Expand all | Expand 10 after
4869 { 4872 {
4870 pinchZoomPanViewportAndScrollBoundaryTest(2); 4873 pinchZoomPanViewportAndScrollBoundaryTest(2);
4871 } 4874 }
4872 4875
4873 INSTANTIATE_TEST_CASE_P(LayerTreeHostImplTests, 4876 INSTANTIATE_TEST_CASE_P(LayerTreeHostImplTests,
4874 LayerTreeHostImplTest, 4877 LayerTreeHostImplTest,
4875 ::testing::Values(false, true)); 4878 ::testing::Values(false, true));
4876 4879
4877 } // namespace 4880 } // namespace
4878 } // namespace cc 4881 } // namespace cc
OLDNEW
« cc/layer_tree_host_common.cc ('K') | « cc/layer_tree_host_common_unittest.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698