Index: cc/tiles/picture_layer_tiling_set.cc |
diff --git a/cc/tiles/picture_layer_tiling_set.cc b/cc/tiles/picture_layer_tiling_set.cc |
index 416eefc5ab507599ab5abdf8393c3c2734c5f145..dcb7759c34fa3097e04bf630c13d9e9fed8c2d76 100644 |
--- a/cc/tiles/picture_layer_tiling_set.cc |
+++ b/cc/tiles/picture_layer_tiling_set.cc |
@@ -385,11 +385,10 @@ PictureLayerTilingSet::CoverageIterator::CoverageIterator( |
: set_(set), |
contents_scale_(contents_scale), |
ideal_contents_scale_(ideal_contents_scale), |
- current_tiling_(-1) { |
+ current_tiling_(std::numeric_limits<size_t>::max()) { |
missing_region_.Union(content_rect); |
- for (ideal_tiling_ = 0; |
- static_cast<size_t>(ideal_tiling_) < set_->tilings_.size(); |
+ for (ideal_tiling_ = 0; ideal_tiling_ < set_->tilings_.size(); |
danakj
2015/06/09 17:39:49
can you cache the size up here so we only call it
vmpstr
2015/06/09 18:37:17
Done.
|
++ideal_tiling_) { |
PictureLayerTiling* tiling = set_->tilings_[ideal_tiling_]; |
if (tiling->contents_scale() < ideal_contents_scale_) { |
@@ -399,11 +398,7 @@ PictureLayerTilingSet::CoverageIterator::CoverageIterator( |
} |
} |
- DCHECK_LE(set_->tilings_.size(), |
- static_cast<size_t>(std::numeric_limits<int>::max())); |
- |
- int num_tilings = set_->tilings_.size(); |
- if (ideal_tiling_ == num_tilings && ideal_tiling_ > 0) |
+ if (ideal_tiling_ == set->tilings_.size() && ideal_tiling_ > 0) |
ideal_tiling_--; |
++(*this); |
@@ -447,20 +442,20 @@ TileResolution PictureLayerTilingSet::CoverageIterator::resolution() const { |
PictureLayerTiling* PictureLayerTilingSet::CoverageIterator::CurrentTiling() |
const { |
- if (current_tiling_ < 0) |
+ if (current_tiling_ == std::numeric_limits<size_t>::max()) |
return NULL; |
if (static_cast<size_t>(current_tiling_) >= set_->tilings_.size()) |
return NULL; |
return set_->tilings_[current_tiling_]; |
} |
-int PictureLayerTilingSet::CoverageIterator::NextTiling() const { |
+size_t PictureLayerTilingSet::CoverageIterator::NextTiling() const { |
// Order returned by this method is: |
// 1. Ideal tiling index |
// 2. Tiling index < Ideal in decreasing order (higher res than ideal) |
// 3. Tiling index > Ideal in increasing order (lower res than ideal) |
// 4. Tiling index > tilings.size() (invalid index) |
- if (current_tiling_ < 0) |
+ if (current_tiling_ == std::numeric_limits<size_t>::max()) |
return ideal_tiling_; |
else if (current_tiling_ > ideal_tiling_) |
return current_tiling_ + 1; |
@@ -472,7 +467,7 @@ int PictureLayerTilingSet::CoverageIterator::NextTiling() const { |
PictureLayerTilingSet::CoverageIterator& |
PictureLayerTilingSet::CoverageIterator::operator++() { |
- bool first_time = current_tiling_ < 0; |
+ bool first_time = current_tiling_ == std::numeric_limits<size_t>::max(); |
if (!*this && !first_time) |
return *this; |
@@ -506,7 +501,7 @@ PictureLayerTilingSet::CoverageIterator::operator++() { |
} |
// No more valid tiles, return this checkerboard rect. |
- if (current_tiling_ >= static_cast<int>(set_->tilings_.size())) |
+ if (current_tiling_ >= set_->tilings_.size()) |
return *this; |
} |
@@ -516,7 +511,7 @@ PictureLayerTilingSet::CoverageIterator::operator++() { |
region_iter_.next(); |
// Done, found next checkerboard rect to return. |
- if (current_tiling_ >= static_cast<int>(set_->tilings_.size())) |
+ if (current_tiling_ >= set_->tilings_.size()) |
return *this; |
// Construct a new iterator for the next tiling, but we need to loop |
@@ -531,8 +526,7 @@ PictureLayerTilingSet::CoverageIterator::operator++() { |
} |
PictureLayerTilingSet::CoverageIterator::operator bool() const { |
- return current_tiling_ < static_cast<int>(set_->tilings_.size()) || |
- region_iter_.has_rect(); |
+ return current_tiling_ < set_->tilings_.size() || region_iter_.has_rect(); |
} |
void PictureLayerTilingSet::AsValueInto( |
@@ -556,9 +550,12 @@ PictureLayerTilingSet::TilingRange PictureLayerTilingSet::GetTilingRange( |
// Doesn't seem to be the case right now but if it ever becomes a performance |
// problem to compute these ranges each time this function is called, we can |
// compute them only when the tiling set has changed instead. |
+ DCHECK_LE(tilings_.size(), |
danakj
2015/06/09 17:39:49
Wat. You went to all the trouble to use size_t eve
vmpstr
2015/06/09 18:37:17
I have fixed this.
|
+ static_cast<size_t>(std::numeric_limits<int>::max())); |
+ int tilings_size = static_cast<int>(tilings_.size()); |
TilingRange high_res_range(0, 0); |
TilingRange low_res_range(tilings_.size(), tilings_.size()); |
- for (size_t i = 0; i < tilings_.size(); ++i) { |
+ for (int i = 0; i < tilings_size; ++i) { |
const PictureLayerTiling* tiling = tilings_[i]; |
if (tiling->resolution() == HIGH_RESOLUTION) |
high_res_range = TilingRange(i, i + 1); |
@@ -590,7 +587,7 @@ PictureLayerTilingSet::TilingRange PictureLayerTilingSet::GetTilingRange( |
range = low_res_range; |
break; |
case LOWER_THAN_LOW_RES: |
- range = TilingRange(low_res_range.end, tilings_.size()); |
+ range = TilingRange(low_res_range.end, tilings_size); |
break; |
} |