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

Unified Diff: cc/resources/picture_layer_tiling.cc

Issue 1130123003: cc: Separate the priority from the tile and put in new PrioritizedTile (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Tile too friendly, lets fix that Created 5 years, 7 months 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 side-by-side diff with in-line comments
Download patch
Index: cc/resources/picture_layer_tiling.cc
diff --git a/cc/resources/picture_layer_tiling.cc b/cc/resources/picture_layer_tiling.cc
index 015c492dcc8600d711791d76a64d4213efdf90a4..fd25b763148a9384f26599f809c8a9ea32a9888b 100644
--- a/cc/resources/picture_layer_tiling.cc
+++ b/cc/resources/picture_layer_tiling.cc
@@ -13,6 +13,7 @@
#include "base/trace_event/trace_event.h"
#include "base/trace_event/trace_event_argument.h"
#include "cc/base/math_util.h"
+#include "cc/resources/prioritized_tile.h"
#include "cc/resources/tile.h"
#include "cc/resources/tile_priority.h"
#include "ui/gfx/geometry/point_conversions.h"
@@ -809,13 +810,26 @@ bool PictureLayerTiling::IsTileRequiredForDraw(const Tile* tile) const {
return true;
}
-void PictureLayerTiling::UpdateTilePriority(Tile* tile) const {
- tile->set_priority(ComputePriorityForTile(tile));
- tile->set_is_occluded(IsTileOccluded(tile));
+void PictureLayerTiling::UpdateTilePriority(
vmpstr 2015/05/08 18:11:06 If you do go the route of GetPrioritizedTile(tile)
hendrikw 2015/05/08 19:21:02 messier, dangerous, but I like to live dangerously
+ PrioritizedTile* prioritized_tile) const {
+ Tile* tile = prioritized_tile->tile();
+ prioritized_tile->set_priority(ComputePriorityForTile(tile));
+ prioritized_tile->set_is_occluded(IsTileOccluded(tile));
tile->set_required_for_activation(IsTileRequiredForActivation(tile));
tile->set_required_for_draw(IsTileRequiredForDraw(tile));
}
+std::map<const Tile*, PrioritizedTile>
+PictureLayerTiling::UpdateAndGetAllPrioritizedTilesForTesting() {
+ std::map<const Tile*, PrioritizedTile> result;
+ for (auto& key_tile_pair : tiles_) {
vmpstr 2015/05/08 18:11:06 const auto&?
hendrikw 2015/05/08 19:21:02 Done.
+ PrioritizedTile prioritized_tile;
+ prioritized_tile.UpdateTile(key_tile_pair.second.get(), this);
+ result.insert(std::make_pair(prioritized_tile.tile(), prioritized_tile));
+ }
+ return result;
+}
+
void PictureLayerTiling::VerifyAllTilesHaveCurrentRasterSource() const {
#if DCHECK_IS_ON()
for (const auto& tile_pair : tiles_)

Powered by Google App Engine
This is Rietveld 408576698