| Index: cc/trees/occlusion_tracker_unittest.cc
|
| diff --git a/cc/trees/occlusion_tracker_unittest.cc b/cc/trees/occlusion_tracker_unittest.cc
|
| index 35b3ffd6ef3a29dcecf0661ccc414cd713b1568f..172b22798b28a4423826613db2b01d80b4d34003 100644
|
| --- a/cc/trees/occlusion_tracker_unittest.cc
|
| +++ b/cc/trees/occlusion_tracker_unittest.cc
|
| @@ -127,6 +127,9 @@ struct OcclusionTrackerTestMainThreadTypes {
|
| *layer = NULL;
|
| return ref;
|
| }
|
| + static void SetForceRenderSurface(LayerType* layer, bool force) {
|
| + layer->SetForceRenderSurface(force);
|
| + }
|
|
|
| static void DestroyLayer(LayerPtrType* layer) { *layer = NULL; }
|
|
|
| @@ -156,6 +159,9 @@ struct OcclusionTrackerTestImplThreadTypes {
|
| return layer->Pass();
|
| }
|
|
|
| + static void SetForceRenderSurface(LayerType* layer, bool force) {
|
| + layer->SetHasRenderSurface(force);
|
| + }
|
| static void DestroyLayer(LayerPtrType* layer) { layer->reset(); }
|
|
|
| static void RecursiveUpdateNumChildren(LayerType* layer) {
|
| @@ -189,6 +195,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;
|
| @@ -211,7 +218,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;
|
| }
|
|
|
| @@ -272,7 +279,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;
|
| }
|
|
|
| @@ -300,12 +307,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(
|
| @@ -734,7 +741,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);
|
| @@ -848,9 +855,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);
|
| @@ -1169,14 +1175,17 @@ class OcclusionTrackerTestFilters : public OcclusionTrackerTest<Types> {
|
| gfx::Size(500, 500),
|
| true);
|
|
|
| + Types::SetForceRenderSurface(blur_layer, true);
|
| FilterOperations filters;
|
| filters.Append(FilterOperation::CreateBlurFilter(10.f));
|
| blur_layer->SetFilters(filters);
|
|
|
| + Types::SetForceRenderSurface(opaque_layer, true);
|
| filters.Clear();
|
| filters.Append(FilterOperation::CreateGrayscaleFilter(0.5f));
|
| opaque_layer->SetFilters(filters);
|
|
|
| + Types::SetForceRenderSurface(opacity_layer, true);
|
| filters.Clear();
|
| filters.Append(FilterOperation::CreateOpacityFilter(0.5f));
|
| opacity_layer->SetFilters(filters);
|
| @@ -2229,8 +2238,8 @@ class OcclusionTrackerTestDontOccludePixelsNeededForBackgroundFilter
|
| gfx::PointF(50.f, 50.f),
|
| gfx::Size(100, 100),
|
| false);
|
| + Types::SetForceRenderSurface(filtered_surface, true);
|
| filtered_surface->SetBackgroundFilters(filters);
|
| -
|
| gfx::Rect occlusion_rect;
|
| switch (i) {
|
| case LEFT:
|
| @@ -2341,6 +2350,8 @@ class OcclusionTrackerTestTwoBackgroundFiltersReduceOcclusionTwice
|
| true);
|
|
|
| // Filters make the layers own surfaces.
|
| + Types::SetForceRenderSurface(filtered_surface1, true);
|
| + Types::SetForceRenderSurface(filtered_surface2, true);
|
| FilterOperations filters;
|
| filters.Append(FilterOperation::CreateBlurFilter(1.f));
|
| filtered_surface1->SetBackgroundFilters(filters);
|
| @@ -2427,6 +2438,7 @@ class OcclusionTrackerTestDontReduceOcclusionBelowBackgroundFilter
|
| gfx::Size());
|
|
|
| // Filters make the layer own a surface.
|
| + Types::SetForceRenderSurface(filtered_surface, true);
|
| FilterOperations filters;
|
| filters.Append(FilterOperation::CreateBlurFilter(3.f));
|
| filtered_surface->SetBackgroundFilters(filters);
|
| @@ -2501,6 +2513,7 @@ class OcclusionTrackerTestDontReduceOcclusionIfBackgroundFilterIsOccluded
|
| true);
|
|
|
| // Filters make the layer own a surface.
|
| + Types::SetForceRenderSurface(filtered_surface, true);
|
| FilterOperations filters;
|
| filters.Append(FilterOperation::CreateBlurFilter(3.f));
|
| filtered_surface->SetBackgroundFilters(filters);
|
| @@ -2597,6 +2610,7 @@ class OcclusionTrackerTestReduceOcclusionWhenBackgroundFilterIsPartiallyOccluded
|
| true);
|
|
|
| // Filters make the layer own a surface.
|
| + Types::SetForceRenderSurface(filtered_surface, true);
|
| FilterOperations filters;
|
| filters.Append(FilterOperation::CreateBlurFilter(3.f));
|
| filtered_surface->SetBackgroundFilters(filters);
|
|
|