Index: cc/resources/tile.h |
diff --git a/cc/resources/tile.h b/cc/resources/tile.h |
index 2aa4c651480412fd7a58d2a6274d484c27110d87..44eb9f1da41f074a06824acd6cc3d5f4396aaddb 100644 |
--- a/cc/resources/tile.h |
+++ b/cc/resources/tile.h |
@@ -10,6 +10,7 @@ |
#include "base/memory/scoped_vector.h" |
#include "cc/resources/managed_tile_state.h" |
#include "cc/resources/picture_pile_impl.h" |
+#include "cc/resources/tile_manager.h" |
#include "cc/resources/tile_priority.h" |
#include "cc/trees/layer_tree_host_impl.h" |
#include "ui/gfx/rect.h" |
@@ -18,7 +19,6 @@ |
namespace cc { |
class Tile; |
-class TileManager; |
class CC_EXPORT Tile : public base::RefCounted<Tile> { |
public: |
@@ -35,6 +35,10 @@ class CC_EXPORT Tile : public base::RefCounted<Tile> { |
return picture_pile_.get(); |
} |
+ const PicturePileImpl* picture_pile() const { |
+ return picture_pile_.get(); |
+ } |
+ |
const TilePriority& priority(WhichTree tree) const { |
return priority_[tree]; |
} |
@@ -59,10 +63,18 @@ class CC_EXPORT Tile : public base::RefCounted<Tile> { |
scoped_ptr<base::Value> AsValue() const; |
const ManagedTileState::TileVersion& tile_version() const { |
reveman
2013/06/05 18:01:32
tile_version() magically returning the tile versio
vmpstr
2013/06/06 01:54:20
Done.
|
- return managed_state_.tile_version; |
+ for (int mode = NUM_RASTER_MODES - 1; mode >= 0; --mode) { |
+ if (managed_state_.tile_versions[mode].IsReadyToDraw()) |
+ return managed_state_.tile_versions[mode]; |
+ } |
+ return managed_state_.tile_versions[managed_state_.raster_mode]; |
} |
ManagedTileState::TileVersion& tile_version() { |
- return managed_state_.tile_version; |
+ for (int mode = NUM_RASTER_MODES - 1; mode >= 0; --mode) { |
+ if (managed_state_.tile_versions[mode].IsReadyToDraw()) |
+ return managed_state_.tile_versions[mode]; |
+ } |
+ return managed_state_.tile_versions[managed_state_.raster_mode]; |
} |
gfx::Rect opaque_rect() const { return opaque_rect_; } |
@@ -84,10 +96,17 @@ class CC_EXPORT Tile : public base::RefCounted<Tile> { |
// For test only methods. |
bool HasRasterTaskForTesting() const { |
- return !managed_state().raster_task.is_null(); |
+ for (int mode = 0; mode < NUM_RASTER_MODES; ++mode) { |
+ if (!managed_state().tile_versions[mode].raster_task_.is_null()) |
+ return true; |
+ } |
+ return false; |
} |
void ResetRasterTaskForTesting() { |
- managed_state().raster_task.Reset(); |
+ for (int mode = 0; mode < NUM_RASTER_MODES; ++mode) { |
+ if (!managed_state().tile_versions[mode].raster_task_.is_null()) |
reveman
2013/06/05 18:01:32
can you remove this and always call Reset instead?
vmpstr
2013/06/06 01:54:20
Done.
|
+ managed_state().tile_versions[mode].raster_task_.Reset(); |
+ } |
} |
private: |