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

Unified Diff: cc/tiled_layer_impl.cc

Issue 11280274: cc: Temporary diagnostics. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years 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
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/tiled_layer_impl.cc
diff --git a/cc/tiled_layer_impl.cc b/cc/tiled_layer_impl.cc
index 1d224c544107f65c50291e9dc8a511b043b2c284..d4d7636afb9d97342af932b88de1c7cd64e3c53c 100644
--- a/cc/tiled_layer_impl.cc
+++ b/cc/tiled_layer_impl.cc
@@ -23,10 +23,15 @@ using namespace std;
namespace cc {
+// Temporary diagnostic.
+static bool safeToDeleteDrawableTile = false;
+
class DrawableTile : public LayerTilingData::Tile {
public:
static scoped_ptr<DrawableTile> create() { return make_scoped_ptr(new DrawableTile()); }
+ virtual ~DrawableTile() { CHECK(safeToDeleteDrawableTile); }
+
ResourceProvider::ResourceId resourceId() const { return m_resourceId; }
void setResourceId(ResourceProvider::ResourceId resourceId) { m_resourceId = resourceId; }
bool contentsSwizzled() { return m_contentsSwizzled; }
@@ -51,6 +56,10 @@ TiledLayerImpl::TiledLayerImpl(int id)
TiledLayerImpl::~TiledLayerImpl()
{
+ safeToDeleteDrawableTile = true;
+ if (m_tiler)
+ m_tiler->reset();
+ safeToDeleteDrawableTile = false;
}
ResourceProvider::ResourceId TiledLayerImpl::contentsResourceId() const
@@ -92,6 +101,11 @@ DrawableTile* TiledLayerImpl::createTile(int i, int j)
scoped_ptr<DrawableTile> tile(DrawableTile::create());
DrawableTile* addedTile = tile.get();
m_tiler->addTile(tile.PassAs<LayerTilingData::Tile>(), i, j);
+
+ // Temporary diagnostic checks.
+ CHECK(addedTile);
enne (OOO) 2012/12/04 00:57:02 I've added these checks in the past and never gott
+ CHECK(tileAt(i, j));
+
return addedTile;
}
@@ -200,11 +214,15 @@ void TiledLayerImpl::appendQuads(QuadSink& quadSink, AppendQuadsData& appendQuad
void TiledLayerImpl::setTilingData(const LayerTilingData& tiler)
{
+ safeToDeleteDrawableTile = true;
+
if (m_tiler)
m_tiler->reset();
else
m_tiler = LayerTilingData::create(tiler.tileSize(), tiler.hasBorderTexels() ? LayerTilingData::HasBorderTexels : LayerTilingData::NoBorderTexels);
*m_tiler = tiler;
+
+ safeToDeleteDrawableTile = false;
}
void TiledLayerImpl::pushTileProperties(int i, int j, ResourceProvider::ResourceId resourceId, const gfx::Rect& opaqueRect, bool contentsSwizzled)
@@ -238,7 +256,11 @@ Region TiledLayerImpl::visibleContentOpaqueRegion() const
void TiledLayerImpl::didLoseContext()
{
+ safeToDeleteDrawableTile = true;
+ // Temporary diagnostic check.
+ CHECK(m_tiler);
m_tiler->reset();
+ safeToDeleteDrawableTile = false;
}
const char* TiledLayerImpl::layerTypeAsString() const
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698