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

Side by Side Diff: cc/tiles/picture_layer_tiling.cc

Issue 1421483005: Reland: Remove DCHECK_IMPLIES/CHECK_IMPLIES. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 1 month 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
« no previous file with comments | « cc/test/fake_display_list_raster_source.cc ('k') | cc/tiles/picture_layer_tiling_set.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2012 The Chromium Authors. All rights reserved. 1 // Copyright 2012 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/tiles/picture_layer_tiling.h" 5 #include "cc/tiles/picture_layer_tiling.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <cmath> 8 #include <cmath>
9 #include <limits> 9 #include <limits>
10 #include <set> 10 #include <set>
(...skipping 266 matching lines...) Expand 10 before | Expand all | Expand 10 after
277 DCHECK_EQ(after_bottom, before_bottom + 1); 277 DCHECK_EQ(after_bottom, before_bottom + 1);
278 for (int i = before_left; i <= before_right; ++i) { 278 for (int i = before_left; i <= before_right; ++i) {
279 Tile::CreateInfo info = CreateInfoForTile(i, after_bottom); 279 Tile::CreateInfo info = CreateInfoForTile(i, after_bottom);
280 if (ShouldCreateTileAt(info)) 280 if (ShouldCreateTileAt(info))
281 CreateTile(info); 281 CreateTile(info);
282 } 282 }
283 } 283 }
284 } 284 }
285 285
286 void PictureLayerTiling::Invalidate(const Region& layer_invalidation) { 286 void PictureLayerTiling::Invalidate(const Region& layer_invalidation) {
287 DCHECK_IMPLIES(tree_ == ACTIVE_TREE, 287 DCHECK(tree_ != ACTIVE_TREE || !client_->GetPendingOrActiveTwinTiling(this));
288 !client_->GetPendingOrActiveTwinTiling(this));
289 RemoveTilesInRegion(layer_invalidation, true /* recreate tiles */); 288 RemoveTilesInRegion(layer_invalidation, true /* recreate tiles */);
290 } 289 }
291 290
292 void PictureLayerTiling::RemoveTilesInRegion(const Region& layer_invalidation, 291 void PictureLayerTiling::RemoveTilesInRegion(const Region& layer_invalidation,
293 bool recreate_tiles) { 292 bool recreate_tiles) {
294 // We only invalidate the active tiling when it's orphaned: it has no pending 293 // We only invalidate the active tiling when it's orphaned: it has no pending
295 // twin, so it's slated for removal in the future. 294 // twin, so it's slated for removal in the future.
296 if (live_tiles_rect_.IsEmpty()) 295 if (live_tiles_rect_.IsEmpty())
297 return; 296 return;
298 // Pick 16 for the size of the SmallMap before it promotes to a hash_map. 297 // Pick 16 for the size of the SmallMap before it promotes to a hash_map.
(...skipping 380 matching lines...) Expand 10 before | Expand all | Expand 10 after
679 } 678 }
680 } 679 }
681 } 680 }
682 DCHECK_EQ(visible_rect_in_content_space.IsEmpty(), eventually_rect.IsEmpty()); 681 DCHECK_EQ(visible_rect_in_content_space.IsEmpty(), eventually_rect.IsEmpty());
683 682
684 // Now we have an empty visible/eventually rect if it's not useful and a 683 // Now we have an empty visible/eventually rect if it's not useful and a
685 // non-empty one if it is. We can compute the final eventually rect. 684 // non-empty one if it is. We can compute the final eventually rect.
686 eventually_rect = 685 eventually_rect =
687 tiling_data_.ExpandRectIgnoringBordersToTileBounds(eventually_rect); 686 tiling_data_.ExpandRectIgnoringBordersToTileBounds(eventually_rect);
688 687
689 DCHECK_IMPLIES(!eventually_rect.IsEmpty(), 688 DCHECK(eventually_rect.IsEmpty() ||
690 gfx::Rect(tiling_size()).Contains(eventually_rect)) 689 gfx::Rect(tiling_size()).Contains(eventually_rect))
691 << "tiling_size: " << tiling_size().ToString() 690 << "tiling_size: " << tiling_size().ToString()
692 << " eventually_rect: " << eventually_rect.ToString(); 691 << " eventually_rect: " << eventually_rect.ToString();
693 692
694 if (tiling_size().IsEmpty()) { 693 if (tiling_size().IsEmpty()) {
695 UpdateVisibleRectHistory(current_frame_time_in_seconds, 694 UpdateVisibleRectHistory(current_frame_time_in_seconds,
696 visible_rect_in_content_space); 695 visible_rect_in_content_space);
697 last_viewport_in_layer_space_ = viewport_in_layer_space; 696 last_viewport_in_layer_space_ = viewport_in_layer_space;
698 return false; 697 return false;
699 } 698 }
700 699
(...skipping 329 matching lines...) Expand 10 before | Expand all | Expand 10 after
1030 size_t PictureLayerTiling::GPUMemoryUsageInBytes() const { 1029 size_t PictureLayerTiling::GPUMemoryUsageInBytes() const {
1031 size_t amount = 0; 1030 size_t amount = 0;
1032 for (TileMap::const_iterator it = tiles_.begin(); it != tiles_.end(); ++it) { 1031 for (TileMap::const_iterator it = tiles_.begin(); it != tiles_.end(); ++it) {
1033 const Tile* tile = it->second; 1032 const Tile* tile = it->second;
1034 amount += tile->GPUMemoryUsageInBytes(); 1033 amount += tile->GPUMemoryUsageInBytes();
1035 } 1034 }
1036 return amount; 1035 return amount;
1037 } 1036 }
1038 1037
1039 } // namespace cc 1038 } // namespace cc
OLDNEW
« no previous file with comments | « cc/test/fake_display_list_raster_source.cc ('k') | cc/tiles/picture_layer_tiling_set.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698