diff options
author | danakj@chromium.org <danakj@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-07-18 21:37:23 +0000 |
---|---|---|
committer | danakj@chromium.org <danakj@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-07-18 21:37:23 +0000 |
commit | 989386c3e4c2e35fa4cf0d41febd1751e9afa3b3 (patch) | |
tree | 4869c1c6d2c4233ba654faf7b311c6698d6f1692 /cc/trees/occlusion_tracker_unittest.cc | |
parent | 909f5c42b086a8388abbee04049e0f44091fef6d (diff) | |
download | chromium_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.cc | 11 |
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_; |