Chromium Code Reviews| Index: cc/trees/occlusion_tracker_unittest.cc |
| diff --git a/cc/trees/occlusion_tracker_unittest.cc b/cc/trees/occlusion_tracker_unittest.cc |
| index aaf655f2a7f409ff277bd60dfe83f7fe03243572..a372d5f3d5601c4b2804a2d9699a80c5e182f3d0 100644 |
| --- a/cc/trees/occlusion_tracker_unittest.cc |
| +++ b/cc/trees/occlusion_tracker_unittest.cc |
| @@ -131,6 +131,9 @@ struct OcclusionTrackerTestMainThreadTypes { |
| *layer = NULL; |
| return ref; |
| } |
| + static void SetForceRenderSurface(LayerType* layer, bool force) { |
| + layer->SetForceRenderSurface(force); |
| + } |
| static void DestroyLayer(LayerPtrType* layer) { *layer = NULL; } |
| @@ -163,6 +166,9 @@ struct OcclusionTrackerTestImplThreadTypes { |
| return layer->PassAs<LayerType>(); |
| } |
| + static void SetForceRenderSurface(LayerType* layer, bool force) { |
| + layer->SetHasRenderSurface(force); |
| + } |
| static void DestroyLayer(LayerPtrType* layer) { layer->reset(); } |
| static void RecursiveUpdateNumChildren(LayerType* layer) { |
| @@ -194,6 +200,7 @@ template <typename Types> class OcclusionTrackerTest : public testing::Test { |
| DCHECK(!root_.get()); |
| root_ = Types::PassLayerPtr(&layer); |
| + Types::SetForceRenderSurface(layer_ptr, true); |
| SetRootLayerOnMainThread(layer_ptr); |
| return layer_ptr; |
| @@ -216,7 +223,7 @@ template <typename Types> class OcclusionTrackerTest : public testing::Test { |
| const gfx::Size& bounds) { |
| typename Types::LayerType* layer = |
| CreateLayer(parent, transform, position, bounds); |
| - layer->SetForceRenderSurface(true); |
| + Types::SetForceRenderSurface(layer, true); |
| return layer; |
| } |
| @@ -277,7 +284,7 @@ template <typename Types> class OcclusionTrackerTest : public testing::Test { |
| bool opaque) { |
| typename Types::ContentLayerType* layer = |
| CreateDrawingLayer(parent, transform, position, bounds, opaque); |
| - layer->SetForceRenderSurface(true); |
| + Types::SetForceRenderSurface(layer, true); |
| return layer; |
| } |
| @@ -305,12 +312,12 @@ template <typename Types> class OcclusionTrackerTest : public testing::Test { |
| CopyOutputRequest::CreateBitmapRequest(base::Bind( |
| &OcclusionTrackerTest<Types>::CopyOutputCallback, |
| base::Unretained(this)))); |
| + layer->SetHasRenderSurface(true); |
| layer->PassCopyRequests(&requests); |
| } |
| void CalcDrawEtc(TestContentLayerImpl* root) { |
| DCHECK(root == root_.get()); |
| - DCHECK(!root->render_surface()); |
| Types::RecursiveUpdateNumChildren(root); |
| LayerTreeHostCommon::CalcDrawPropsImplInputsForTesting inputs( |
| @@ -738,7 +745,7 @@ class OcclusionTrackerTestScaledRenderSurface |
| layer1_matrix.Scale(2.0, 2.0); |
| typename Types::ContentLayerType* layer1 = this->CreateDrawingLayer( |
| parent, layer1_matrix, gfx::PointF(), gfx::Size(100, 100), true); |
| - layer1->SetForceRenderSurface(true); |
| + Types::SetForceRenderSurface(layer1, true); |
| gfx::Transform layer2_matrix; |
| layer2_matrix.Translate(25.0, 25.0); |
| @@ -852,9 +859,8 @@ class OcclusionTrackerTestSurfaceRotatedOffAxis |
| this->identity_matrix, gfx::PointF(), gfx::Size(1000, 1000)); |
| typename Types::ContentLayerType* parent = this->CreateDrawingLayer( |
| root, this->identity_matrix, gfx::PointF(), gfx::Size(100, 100), true); |
| - typename Types::LayerType* child = this->CreateLayer( |
| + typename Types::LayerType* child = this->CreateSurface( |
| parent, child_transform, gfx::PointF(30.f, 30.f), gfx::Size(500, 500)); |
| - child->SetMasksToBounds(true); |
| typename Types::ContentLayerType* layer = this->CreateDrawingLayer( |
| child, layer_transform, gfx::PointF(), gfx::Size(500, 500), true); |
| this->CalcDrawEtc(root); |
| @@ -1176,14 +1182,17 @@ class OcclusionTrackerTestFilters : public OcclusionTrackerTest<Types> { |
| FilterOperations filters; |
| filters.Append(FilterOperation::CreateBlurFilter(10.f)); |
| blur_layer->SetFilters(filters); |
| + Types::SetForceRenderSurface(blur_layer, true); |
| filters.Clear(); |
| filters.Append(FilterOperation::CreateGrayscaleFilter(0.5f)); |
| opaque_layer->SetFilters(filters); |
| + Types::SetForceRenderSurface(opaque_layer, true); |
| filters.Clear(); |
| filters.Append(FilterOperation::CreateOpacityFilter(0.5f)); |
| opacity_layer->SetFilters(filters); |
| + Types::SetForceRenderSurface(opacity_layer, true); |
| this->CalcDrawEtc(parent); |
| @@ -2234,7 +2243,7 @@ class OcclusionTrackerTestDontOccludePixelsNeededForBackgroundFilter |
| gfx::Size(100, 100), |
| false); |
| filtered_surface->SetBackgroundFilters(filters); |
| - |
| + Types::SetForceRenderSurface(filtered_surface, true); |
| gfx::Rect occlusion_rect; |
| switch (i) { |
| case LEFT: |
| @@ -2349,6 +2358,8 @@ class OcclusionTrackerTestTwoBackgroundFiltersReduceOcclusionTwice |
| filters.Append(FilterOperation::CreateBlurFilter(1.f)); |
| filtered_surface1->SetBackgroundFilters(filters); |
| filtered_surface2->SetBackgroundFilters(filters); |
| + Types::SetForceRenderSurface(filtered_surface1, true); |
| + Types::SetForceRenderSurface(filtered_surface2, true); |
| // Save the distance of influence for the blur effect. |
| int outset_top, outset_right, outset_bottom, outset_left; |
| @@ -2435,6 +2446,7 @@ class OcclusionTrackerTestDontReduceOcclusionBelowBackgroundFilter |
| filters.Append(FilterOperation::CreateBlurFilter(3.f)); |
| filtered_surface->SetBackgroundFilters(filters); |
| + Types::SetForceRenderSurface(filtered_surface, true); |
|
danakj
2014/09/25 16:02:12
nit: move right beside SetBGFilters, whitespace be
awoloszyn
2014/11/25 15:48:47
Done.
|
| this->CalcDrawEtc(parent); |
| TestOcclusionTrackerWithClip<typename Types::LayerType> occlusion( |
| @@ -2508,6 +2520,7 @@ class OcclusionTrackerTestDontReduceOcclusionIfBackgroundFilterIsOccluded |
| FilterOperations filters; |
| filters.Append(FilterOperation::CreateBlurFilter(3.f)); |
| filtered_surface->SetBackgroundFilters(filters); |
| + Types::SetForceRenderSurface(filtered_surface, true); |
| this->CalcDrawEtc(parent); |
| @@ -2604,6 +2617,7 @@ class OcclusionTrackerTestReduceOcclusionWhenBackgroundFilterIsPartiallyOccluded |
| FilterOperations filters; |
| filters.Append(FilterOperation::CreateBlurFilter(3.f)); |
| filtered_surface->SetBackgroundFilters(filters); |
| + Types::SetForceRenderSurface(filtered_surface, true); |
| // Save the distance of influence for the blur effect. |
| int outset_top, outset_right, outset_bottom, outset_left; |