diff options
author | danakj@chromium.org <danakj@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-07-19 10:51:16 +0000 |
---|---|---|
committer | danakj@chromium.org <danakj@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-07-19 10:51:16 +0000 |
commit | 9c730815dea20c8f4c7298a911d4be6bae93741f (patch) | |
tree | 80a43682f0df0e69da926d405ec36e4def250168 /cc | |
parent | b4e32e3a5c39c577faae8a008fc271fecbb7cead (diff) | |
download | chromium_src-9c730815dea20c8f4c7298a911d4be6bae93741f.zip chromium_src-9c730815dea20c8f4c7298a911d4be6bae93741f.tar.gz chromium_src-9c730815dea20c8f4c7298a911d4be6bae93741f.tar.bz2 |
cc: Don't leak ContextSharedData
ResourceProvider tests are doing a release() on a scoped_ptr
and leaking the pointer. We should just move the scoped_ptr
somewhere that is scoped long enough and use get() instead
so we don't leak the pointer's data.
R=boliu, piman
BUG=260652
Review URL: https://chromiumcodereview.appspot.com/19777007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@212561 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'cc')
-rw-r--r-- | cc/resources/resource_provider_unittest.cc | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/cc/resources/resource_provider_unittest.cc b/cc/resources/resource_provider_unittest.cc index df14e22..804134a 100644 --- a/cc/resources/resource_provider_unittest.cc +++ b/cc/resources/resource_provider_unittest.cc @@ -1692,11 +1692,11 @@ TEST_P(ResourceProviderTest, Image_Bitmap) { resource_provider->DeleteResource(id); } -void InitializeGLAndCheck(ResourceProvider* resource_provider, +void InitializeGLAndCheck(ContextSharedData* shared_data, + ResourceProvider* resource_provider, FakeOutputSurface* output_surface) { - scoped_ptr<ContextSharedData> shared_data = ContextSharedData::Create(); scoped_ptr<ResourceProviderContext> context = - ResourceProviderContext::Create(shared_data.release()); + ResourceProviderContext::Create(shared_data); output_surface->SetAndInitializeContext3D( context.PassAs<WebKit::WebGraphicsContext3D>()); EXPECT_TRUE(resource_provider->InitializeGL()); @@ -1707,6 +1707,7 @@ void InitializeGLAndCheck(ResourceProvider* resource_provider, } TEST(ResourceProviderTest, BasicInitializeGLSoftware) { + scoped_ptr<ContextSharedData> shared_data = ContextSharedData::Create(); FakeOutputSurfaceClient client; scoped_ptr<FakeOutputSurface> output_surface( FakeOutputSurface::CreateDeferredGL( @@ -1717,12 +1718,16 @@ TEST(ResourceProviderTest, BasicInitializeGLSoftware) { CheckCreateResource(ResourceProvider::Bitmap, resource_provider.get(), NULL); - InitializeGLAndCheck(resource_provider.get(), output_surface.get()); + InitializeGLAndCheck(shared_data.get(), + resource_provider.get(), + output_surface.get()); resource_provider->InitializeSoftware(); CheckCreateResource(ResourceProvider::Bitmap, resource_provider.get(), NULL); - InitializeGLAndCheck(resource_provider.get(), output_surface.get()); + InitializeGLAndCheck(shared_data.get(), + resource_provider.get(), + output_surface.get()); } INSTANTIATE_TEST_CASE_P( |