summaryrefslogtreecommitdiffstats
path: root/cc/trees/occlusion_tracker_unittest.cc
diff options
context:
space:
mode:
authordanakj@chromium.org <danakj@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-07-18 21:37:23 +0000
committerdanakj@chromium.org <danakj@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-07-18 21:37:23 +0000
commit989386c3e4c2e35fa4cf0d41febd1751e9afa3b3 (patch)
tree4869c1c6d2c4233ba654faf7b311c6698d6f1692 /cc/trees/occlusion_tracker_unittest.cc
parent909f5c42b086a8388abbee04049e0f44091fef6d (diff)
downloadchromium_src-989386c3e4c2e35fa4cf0d41febd1751e9afa3b3.zip
chromium_src-989386c3e4c2e35fa4cf0d41febd1751e9afa3b3.tar.gz
chromium_src-989386c3e4c2e35fa4cf0d41febd1751e9afa3b3.tar.bz2
cc: Clean up the RenderSurface objects in the RenderSurfaceLayerList
When the RenderSurfaceLayerList is cleared, we need to also destroy the RenderSurface objects. Create a RenderSurfaceLayerList subclass of LayerList which does this cleanup in a safe/scoped way, and use that in the public API for LayerTreeHostCommon. R=earthdok, enne BUG=259902 Review URL: https://chromiumcodereview.appspot.com/19236002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@212437 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'cc/trees/occlusion_tracker_unittest.cc')
-rw-r--r--cc/trees/occlusion_tracker_unittest.cc11
1 files changed, 6 insertions, 5 deletions
diff --git a/cc/trees/occlusion_tracker_unittest.cc b/cc/trees/occlusion_tracker_unittest.cc
index 9a5f839..5a1aae1 100644
--- a/cc/trees/occlusion_tracker_unittest.cc
+++ b/cc/trees/occlusion_tracker_unittest.cc
@@ -136,7 +136,7 @@ struct OcclusionTrackerTestMainThreadTypes {
typedef scoped_refptr<Layer> LayerPtrType;
typedef scoped_refptr<ContentLayerType> ContentLayerPtrType;
typedef LayerIterator<Layer,
- LayerList,
+ RenderSurfaceLayerList,
RenderSurface,
LayerIteratorActions::FrontToBack> TestLayerIterator;
typedef OcclusionTracker OcclusionTrackerType;
@@ -204,7 +204,7 @@ template <typename Types> class OcclusionTrackerTest : public testing::Test {
virtual void TearDown() {
Types::DestroyLayer(&root_);
- render_surface_layer_list_.clear();
+ render_surface_layer_list_.reset();
render_surface_layer_list_impl_.clear();
replica_layers_.clear();
mask_layers_.clear();
@@ -335,6 +335,7 @@ template <typename Types> class OcclusionTrackerTest : public testing::Test {
DCHECK(!root->render_surface());
+ render_surface_layer_list_.reset(new RenderSurfaceLayerList);
LayerTreeHostCommon::CalculateDrawProperties(
root,
root->bounds(),
@@ -345,10 +346,10 @@ template <typename Types> class OcclusionTrackerTest : public testing::Test {
dummy_max_texture_size,
false, // can_use_lcd_text
true, // can_adjust_raster_scales
- &render_surface_layer_list_);
+ render_surface_layer_list_.get());
layer_iterator_ = layer_iterator_begin_ =
- Types::TestLayerIterator::Begin(&render_surface_layer_list_);
+ Types::TestLayerIterator::Begin(render_surface_layer_list_.get());
}
void EnterLayer(typename Types::LayerType* layer,
@@ -457,7 +458,7 @@ template <typename Types> class OcclusionTrackerTest : public testing::Test {
bool opaque_layers_;
// These hold ownership of the layers for the duration of the test.
typename Types::LayerPtrType root_;
- LayerList render_surface_layer_list_;
+ scoped_ptr<RenderSurfaceLayerList> render_surface_layer_list_;
LayerImplList render_surface_layer_list_impl_;
typename Types::TestLayerIterator layer_iterator_begin_;
typename Types::TestLayerIterator layer_iterator_;