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

Unified Diff: cc/CCOcclusionTrackerTest.cpp

Issue 11099040: [cc] Store CCLayerImpls as scoped_ptrs (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix cc unit tests Created 8 years, 2 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
« no previous file with comments | « cc/CCLayerTreeHostTest.cpp ('k') | cc/CCQuadCullerTest.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/CCOcclusionTrackerTest.cpp
diff --git a/cc/CCOcclusionTrackerTest.cpp b/cc/CCOcclusionTrackerTest.cpp
index 18bb243d5d766db57ff5a6ba7bb6893e1ab2cd01..ecf6be37dbe7db5a92f40d6a30fb1c67e9bba2f0 100644
--- a/cc/CCOcclusionTrackerTest.cpp
+++ b/cc/CCOcclusionTrackerTest.cpp
@@ -113,17 +113,25 @@ struct CCOcclusionTrackerTestMainThreadTypes {
typedef RenderSurfaceChromium RenderSurfaceType;
typedef TestContentLayerChromium ContentLayerType;
typedef scoped_refptr<LayerChromium> LayerPtrType;
- typedef scoped_refptr<LayerChromium> PassLayerPtrType;
typedef scoped_refptr<ContentLayerType> ContentLayerPtrType;
- typedef scoped_refptr<ContentLayerType> PassContentLayerPtrType;
typedef CCLayerIterator<LayerChromium, std::vector<scoped_refptr<LayerChromium> >, RenderSurfaceChromium, CCLayerIteratorActions::FrontToBack> LayerIterator;
typedef CCOcclusionTracker OcclusionTrackerType;
- static PassLayerPtrType createLayer()
+ static LayerPtrType createLayer()
{
return LayerChromium::create();
}
- static PassContentLayerPtrType createContentLayer() { return make_scoped_refptr(new ContentLayerType()); }
+ static ContentLayerPtrType createContentLayer() { return make_scoped_refptr(new ContentLayerType()); }
+
+ static LayerPtrType passLayerPtr(ContentLayerPtrType& layer)
+ {
+ return layer.release();
+ }
+
+ static LayerPtrType passLayerPtr(LayerPtrType& layer)
+ {
+ return layer.release();
+ }
static void destroyLayer(LayerPtrType& layer)
{
@@ -135,20 +143,28 @@ struct CCOcclusionTrackerTestImplThreadTypes {
typedef CCLayerImpl LayerType;
typedef CCRenderSurface RenderSurfaceType;
typedef TestContentLayerImpl ContentLayerType;
- typedef OwnPtr<CCLayerImpl> LayerPtrType;
- typedef PassOwnPtr<CCLayerImpl> PassLayerPtrType;
- typedef OwnPtr<ContentLayerType> ContentLayerPtrType;
- typedef PassOwnPtr<ContentLayerType> PassContentLayerPtrType;
+ typedef scoped_ptr<CCLayerImpl> LayerPtrType;
+ typedef scoped_ptr<ContentLayerType> ContentLayerPtrType;
typedef CCLayerIterator<CCLayerImpl, std::vector<CCLayerImpl*>, CCRenderSurface, CCLayerIteratorActions::FrontToBack> LayerIterator;
typedef CCOcclusionTrackerImpl OcclusionTrackerType;
- static PassLayerPtrType createLayer() { return CCLayerImpl::create(nextCCLayerImplId++); }
- static PassContentLayerPtrType createContentLayer() { return adoptPtr(new ContentLayerType(nextCCLayerImplId++)); }
+ static LayerPtrType createLayer() { return CCLayerImpl::create(nextCCLayerImplId++); }
+ static ContentLayerPtrType createContentLayer() { return make_scoped_ptr(new ContentLayerType(nextCCLayerImplId++)); }
static int nextCCLayerImplId;
+ static LayerPtrType passLayerPtr(LayerPtrType& layer)
+ {
+ return layer.Pass();
+ }
+
+ static LayerPtrType passLayerPtr(ContentLayerPtrType& layer)
+ {
+ return layer.PassAs<LayerType>();
+ }
+
static void destroyLayer(LayerPtrType& layer)
{
- layer.clear();
+ layer.reset();
}
};
@@ -180,7 +196,7 @@ protected:
setProperties(layerPtr, transform, position, bounds);
ASSERT(!m_root);
- m_root = layer.release();
+ m_root = Types::passLayerPtr(layer);
return layerPtr;
}
@@ -189,7 +205,7 @@ protected:
typename Types::LayerPtrType layer(Types::createLayer());
typename Types::LayerType* layerPtr = layer.get();
setProperties(layerPtr, transform, position, bounds);
- parent->addChild(layer.release());
+ parent->addChild(Types::passLayerPtr(layer));
return layerPtr;
}
@@ -218,7 +234,7 @@ protected:
layerPtr->setOpaqueContentsRect(IntRect());
}
- parent->addChild(layer.release());
+ parent->addChild(Types::passLayerPtr(layer));
return layerPtr;
}
@@ -227,7 +243,7 @@ protected:
typename Types::ContentLayerPtrType layer(Types::createContentLayer());
typename Types::ContentLayerType* layerPtr = layer.get();
setProperties(layerPtr, transform, position, bounds);
- setReplica(owningLayer, layer.release());
+ setReplica(owningLayer, Types::passLayerPtr(layer));
return layerPtr;
}
@@ -236,7 +252,7 @@ protected:
typename Types::ContentLayerPtrType layer(Types::createContentLayer());
typename Types::ContentLayerType* layerPtr = layer.get();
setProperties(layerPtr, identityMatrix, FloatPoint(), bounds);
- setMask(owningLayer, layer.release());
+ setMask(owningLayer, Types::passLayerPtr(layer));
return layerPtr;
}
@@ -355,9 +371,9 @@ private:
m_replicaLayers.push_back(layer);
}
- void setReplica(CCLayerImpl* owningLayer, PassOwnPtr<CCLayerImpl> layer)
+ void setReplica(CCLayerImpl* owningLayer, scoped_ptr<CCLayerImpl> layer)
{
- owningLayer->setReplicaLayer(layer);
+ owningLayer->setReplicaLayer(layer.Pass());
}
void setMask(LayerChromium* owningLayer, scoped_refptr<LayerChromium> layer)
@@ -366,9 +382,9 @@ private:
m_maskLayers.push_back(layer);
}
- void setMask(CCLayerImpl* owningLayer, PassOwnPtr<CCLayerImpl> layer)
+ void setMask(CCLayerImpl* owningLayer, scoped_ptr<CCLayerImpl> layer)
{
- owningLayer->setMaskLayer(layer);
+ owningLayer->setMaskLayer(layer.Pass());
}
// These hold ownership of the layers for the duration of the test.
« no previous file with comments | « cc/CCLayerTreeHostTest.cpp ('k') | cc/CCQuadCullerTest.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698