| Index: cc/resources/tile.h
|
| diff --git a/cc/resources/tile.h b/cc/resources/tile.h
|
| index 2aa4c651480412fd7a58d2a6274d484c27110d87..6f9d9871f1d32822e8b52a54bb551d1385afd289 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];
|
| }
|
| @@ -58,11 +62,23 @@ class CC_EXPORT Tile : public base::RefCounted<Tile> {
|
|
|
| scoped_ptr<base::Value> AsValue() const;
|
|
|
| - const ManagedTileState::TileVersion& tile_version() const {
|
| - return managed_state_.tile_version;
|
| + bool IsReadyToDraw(TileRasterMode* ready_mode) const {
|
| + for (int mode = 0; mode < NUM_RASTER_MODES; ++mode) {
|
| + if (managed_state_.tile_versions[mode].IsReadyToDraw()) {
|
| + if (ready_mode)
|
| + *ready_mode = static_cast<TileRasterMode>(mode);
|
| + return true;
|
| + }
|
| + }
|
| + return false;
|
| }
|
| - ManagedTileState::TileVersion& tile_version() {
|
| - return managed_state_.tile_version;
|
| +
|
| + const ManagedTileState::TileVersion& tile_version(TileRasterMode mode) const {
|
| + return managed_state_.tile_versions[mode];
|
| + }
|
| +
|
| + ManagedTileState::TileVersion& tile_version(TileRasterMode mode) {
|
| + return managed_state_.tile_versions[mode];
|
| }
|
|
|
| gfx::Rect opaque_rect() const { return opaque_rect_; }
|
| @@ -84,10 +100,15 @@ 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)
|
| + managed_state().tile_versions[mode].raster_task_.Reset();
|
| }
|
|
|
| private:
|
|
|