summaryrefslogtreecommitdiffstats
path: root/chromium/cc/resources/tile.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/cc/resources/tile.cc')
-rw-r--r--chromium/cc/resources/tile.cc48
1 files changed, 33 insertions, 15 deletions
diff --git a/chromium/cc/resources/tile.cc b/chromium/cc/resources/tile.cc
index 209780679cb..d59dc029ccc 100644
--- a/chromium/cc/resources/tile.cc
+++ b/chromium/cc/resources/tile.cc
@@ -4,6 +4,8 @@
#include "cc/resources/tile.h"
+#include <algorithm>
+
#include "cc/base/math_util.h"
#include "cc/debug/traced_value.h"
#include "cc/resources/tile_manager.h"
@@ -15,23 +17,23 @@ Tile::Id Tile::s_next_id_ = 0;
Tile::Tile(TileManager* tile_manager,
PicturePileImpl* picture_pile,
- gfx::Size tile_size,
- gfx::Rect content_rect,
- gfx::Rect opaque_rect,
+ const gfx::Size& tile_size,
+ const gfx::Rect& content_rect,
+ const gfx::Rect& opaque_rect,
float contents_scale,
int layer_id,
int source_frame_number,
int flags)
- : RefCountedManaged<Tile>(tile_manager),
- tile_manager_(tile_manager),
- tile_size_(tile_size),
- content_rect_(content_rect),
- contents_scale_(contents_scale),
- opaque_rect_(opaque_rect),
- layer_id_(layer_id),
- source_frame_number_(source_frame_number),
- flags_(flags),
- id_(s_next_id_++) {
+ : RefCountedManaged<Tile>(tile_manager),
+ tile_manager_(tile_manager),
+ tile_size_(tile_size),
+ content_rect_(content_rect),
+ contents_scale_(contents_scale),
+ opaque_rect_(opaque_rect),
+ layer_id_(layer_id),
+ source_frame_number_(source_frame_number),
+ flags_(flags),
+ id_(s_next_id_++) {
set_picture_pile(picture_pile);
}
@@ -69,8 +71,7 @@ scoped_ptr<base::Value> Tile::AsValue() const {
res->Set("active_priority", priority_[ACTIVE_TREE].AsValue().release());
res->Set("pending_priority", priority_[PENDING_TREE].AsValue().release());
res->Set("managed_state", managed_state_.AsValue().release());
- res->SetBoolean("can_use_lcd_text", can_use_lcd_text());
- res->SetBoolean("use_gpu_rasterization", use_gpu_rasterization());
+ res->SetBoolean("use_picture_analysis", use_picture_analysis());
return res.PassAs<base::Value>();
}
@@ -81,4 +82,21 @@ size_t Tile::GPUMemoryUsageInBytes() const {
return total_size;
}
+RasterMode Tile::DetermineRasterModeForTree(WhichTree tree) const {
+ return DetermineRasterModeForResolution(priority(tree).resolution);
+}
+
+RasterMode Tile::DetermineOverallRasterMode() const {
+ return DetermineRasterModeForResolution(managed_state_.resolution);
+}
+
+RasterMode Tile::DetermineRasterModeForResolution(
+ TileResolution resolution) const {
+ RasterMode current_mode = managed_state_.raster_mode;
+ RasterMode raster_mode = resolution == LOW_RESOLUTION
+ ? LOW_QUALITY_RASTER_MODE
+ : HIGH_QUALITY_RASTER_MODE;
+ return std::min(raster_mode, current_mode);
+}
+
} // namespace cc