| OLD | NEW |
| 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/resources/picture_layer_tiling_set.h" | 5 #include "cc/resources/picture_layer_tiling_set.h" |
| 6 | 6 |
| 7 #include <limits> | 7 #include <limits> |
| 8 #include <set> | 8 #include <set> |
| 9 #include <vector> | 9 #include <vector> |
| 10 | 10 |
| (...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 58 const PictureLayerTilingSet* twin_set, | 58 const PictureLayerTilingSet* twin_set, |
| 59 const Region& layer_invalidation, | 59 const Region& layer_invalidation, |
| 60 float minimum_contents_scale, | 60 float minimum_contents_scale, |
| 61 float maximum_contents_scale) { | 61 float maximum_contents_scale) { |
| 62 RemoveTilingsBelowScale(minimum_contents_scale); | 62 RemoveTilingsBelowScale(minimum_contents_scale); |
| 63 RemoveTilingsAboveScale(maximum_contents_scale); | 63 RemoveTilingsAboveScale(maximum_contents_scale); |
| 64 | 64 |
| 65 // Copy over tilings that are shared with the |twin_set| tiling set (if it | 65 // Copy over tilings that are shared with the |twin_set| tiling set (if it |
| 66 // exists). | 66 // exists). |
| 67 if (twin_set) { | 67 if (twin_set) { |
| 68 if (twin_set->tilings_.empty()) { |
| 69 // If the twin (pending) tiling set is empty, it was not updated for the |
| 70 // current frame. So we drop tilings from our set as well, instead of |
| 71 // leaving behind unshared tilings that are all non-ideal. |
| 72 RemoveAllTilings(); |
| 73 } |
| 74 |
| 68 for (PictureLayerTiling* twin_tiling : twin_set->tilings_) { | 75 for (PictureLayerTiling* twin_tiling : twin_set->tilings_) { |
| 69 float contents_scale = twin_tiling->contents_scale(); | 76 float contents_scale = twin_tiling->contents_scale(); |
| 70 DCHECK_GE(contents_scale, minimum_contents_scale); | 77 DCHECK_GE(contents_scale, minimum_contents_scale); |
| 71 DCHECK_LE(contents_scale, maximum_contents_scale); | 78 DCHECK_LE(contents_scale, maximum_contents_scale); |
| 72 | 79 |
| 73 PictureLayerTiling* this_tiling = FindTilingWithScale(contents_scale); | 80 PictureLayerTiling* this_tiling = FindTilingWithScale(contents_scale); |
| 74 if (!this_tiling) { | 81 if (!this_tiling) { |
| 75 scoped_ptr<PictureLayerTiling> new_tiling = PictureLayerTiling::Create( | 82 scoped_ptr<PictureLayerTiling> new_tiling = PictureLayerTiling::Create( |
| 76 contents_scale, raster_source, client_, | 83 contents_scale, raster_source, client_, |
| 77 max_tiles_for_interest_area_, skewport_target_time_in_seconds_, | 84 max_tiles_for_interest_area_, skewport_target_time_in_seconds_, |
| (...skipping 458 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 536 case LOWER_THAN_LOW_RES: | 543 case LOWER_THAN_LOW_RES: |
| 537 range = TilingRange(low_res_range.end, tilings_.size()); | 544 range = TilingRange(low_res_range.end, tilings_.size()); |
| 538 break; | 545 break; |
| 539 } | 546 } |
| 540 | 547 |
| 541 DCHECK_LE(range.start, range.end); | 548 DCHECK_LE(range.start, range.end); |
| 542 return range; | 549 return range; |
| 543 } | 550 } |
| 544 | 551 |
| 545 } // namespace cc | 552 } // namespace cc |
| OLD | NEW |