summaryrefslogtreecommitdiffstats
path: root/cc
diff options
context:
space:
mode:
authordanakj@chromium.org <danakj@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-07-19 10:51:16 +0000
committerdanakj@chromium.org <danakj@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-07-19 10:51:16 +0000
commit9c730815dea20c8f4c7298a911d4be6bae93741f (patch)
tree80a43682f0df0e69da926d405ec36e4def250168 /cc
parentb4e32e3a5c39c577faae8a008fc271fecbb7cead (diff)
downloadchromium_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.cc15
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(