| Index: cc/debug/invalidation_benchmark.cc
|
| diff --git a/cc/debug/invalidation_benchmark.cc b/cc/debug/invalidation_benchmark.cc
|
| index 681e29ef7cced1b62c1f9303d22c0c26df7494af..36547c1d6ab18aed559584ebc2f3004ee06effe7 100644
|
| --- a/cc/debug/invalidation_benchmark.cc
|
| +++ b/cc/debug/invalidation_benchmark.cc
|
| @@ -69,12 +69,14 @@ void InvalidationBenchmark::DidUpdateLayers(LayerTreeHost* host) {
|
| }
|
|
|
| void InvalidationBenchmark::RunOnLayer(PictureLayer* layer) {
|
| - PropertyTrees* property_trees = layer->layer_tree_host()->property_trees();
|
| - LayerList update_list;
|
| - update_list.push_back(layer);
|
| - draw_property_utils::ComputeVisibleRectsForTesting(
|
| - property_trees, property_trees->non_root_surfaces_enabled, &update_list);
|
| - gfx::Rect visible_layer_rect = layer->visible_layer_rect_for_testing();
|
| + gfx::Rect visible_layer_rect = gfx::Rect(layer->bounds());
|
| + gfx::Transform from_screen;
|
| + bool invertible = layer->screen_space_transform().GetInverse(&from_screen);
|
| + if (!invertible)
|
| + from_screen = gfx::Transform();
|
| + gfx::Rect viewport_rect = MathUtil::ProjectEnclosingClippedRect(
|
| + from_screen, gfx::Rect(layer->layer_tree_host()->device_viewport_size()));
|
| + visible_layer_rect.Intersect(viewport_rect);
|
| switch (mode_) {
|
| case FIXED_SIZE: {
|
| // Invalidation with a random position and fixed size.
|
| @@ -105,7 +107,7 @@ void InvalidationBenchmark::RunOnLayer(PictureLayer* layer) {
|
| }
|
| case VIEWPORT: {
|
| // Invalidate entire viewport.
|
| - layer->SetNeedsDisplayRect(layer->visible_layer_rect_for_testing());
|
| + layer->SetNeedsDisplayRect(visible_layer_rect);
|
| break;
|
| }
|
| }
|
|
|