| Index: chrome/browser/extensions/extension_info_map_unittest.cc
|
| diff --git a/chrome/browser/extensions/extension_info_map_unittest.cc b/chrome/browser/extensions/extension_info_map_unittest.cc
|
| index e417d23a5265feae7c4408f608465684a9ecc2ba..d4892d1b47a655abf38a504c9f830056495561a5 100644
|
| --- a/chrome/browser/extensions/extension_info_map_unittest.cc
|
| +++ b/chrome/browser/extensions/extension_info_map_unittest.cc
|
| @@ -7,6 +7,7 @@
|
| #include "chrome/browser/browser_thread.h"
|
| #include "chrome/browser/extensions/extension_info_map.h"
|
| #include "chrome/common/chrome_paths.h"
|
| +#include "chrome/common/extensions/extension.h"
|
| #include "chrome/common/json_value_serializer.h"
|
| #include "testing/gtest/include/gtest/gtest.h"
|
|
|
| @@ -73,37 +74,36 @@ static scoped_refptr<Extension> LoadManifest(const std::string& dir,
|
| TEST_F(ExtensionInfoMapTest, RefCounting) {
|
| scoped_refptr<ExtensionInfoMap> info_map(new ExtensionInfoMap());
|
|
|
| - // New extensions should have a single reference holding onto their static
|
| - // data.
|
| + // New extensions should have a single reference holding onto them.
|
| scoped_refptr<Extension> extension1(CreateExtension("extension1"));
|
| scoped_refptr<Extension> extension2(CreateExtension("extension2"));
|
| scoped_refptr<Extension> extension3(CreateExtension("extension3"));
|
| - EXPECT_TRUE(extension1->static_data()->HasOneRef());
|
| - EXPECT_TRUE(extension2->static_data()->HasOneRef());
|
| - EXPECT_TRUE(extension3->static_data()->HasOneRef());
|
| + EXPECT_TRUE(extension1->HasOneRef());
|
| + EXPECT_TRUE(extension2->HasOneRef());
|
| + EXPECT_TRUE(extension3->HasOneRef());
|
|
|
| // Add a ref to each extension and give it to the info map. The info map
|
| // expects the caller to add a ref for it, but then assumes ownership of that
|
| // reference.
|
| - extension1->static_data()->AddRef();
|
| - info_map->AddExtension(extension1->static_data());
|
| - extension2->static_data()->AddRef();
|
| - info_map->AddExtension(extension2->static_data());
|
| - extension3->static_data()->AddRef();
|
| - info_map->AddExtension(extension3->static_data());
|
| -
|
| - // Delete extension1, and the info map should have the only ref.
|
| - const Extension::StaticData* data1 = extension1->static_data();
|
| + extension1->AddRef();
|
| + info_map->AddExtension(extension1);
|
| + extension2->AddRef();
|
| + info_map->AddExtension(extension2);
|
| + extension3->AddRef();
|
| + info_map->AddExtension(extension3);
|
| +
|
| + // Release extension1, and the info map should have the only ref.
|
| + const Extension* weak_extension1 = extension1;
|
| extension1 = NULL;
|
| - EXPECT_TRUE(data1->HasOneRef());
|
| + EXPECT_TRUE(weak_extension1->HasOneRef());
|
|
|
| // Remove extension2, and the extension2 object should have the only ref.
|
| info_map->RemoveExtension(extension2->id());
|
| - EXPECT_TRUE(extension2->static_data()->HasOneRef());
|
| + EXPECT_TRUE(extension2->HasOneRef());
|
|
|
| // Delete the info map, and the extension3 object should have the only ref.
|
| info_map = NULL;
|
| - EXPECT_TRUE(extension3->static_data()->HasOneRef());
|
| + EXPECT_TRUE(extension3->HasOneRef());
|
| }
|
|
|
| // Tests that we can query a few extension properties from the ExtensionInfoMap.
|
| @@ -113,10 +113,10 @@ TEST_F(ExtensionInfoMapTest, Properties) {
|
| scoped_refptr<Extension> extension1(CreateExtension("extension1"));
|
| scoped_refptr<Extension> extension2(CreateExtension("extension2"));
|
|
|
| - extension1->static_data()->AddRef();
|
| - info_map->AddExtension(extension1->static_data());
|
| - extension2->static_data()->AddRef();
|
| - info_map->AddExtension(extension2->static_data());
|
| + extension1->AddRef();
|
| + info_map->AddExtension(extension1);
|
| + extension2->AddRef();
|
| + info_map->AddExtension(extension2);
|
|
|
| EXPECT_EQ(extension1->name(),
|
| info_map->GetNameForExtension(extension1->id()));
|
| @@ -142,10 +142,10 @@ TEST_F(ExtensionInfoMapTest, CheckPermissions) {
|
| ASSERT_TRUE(app->is_app());
|
| ASSERT_TRUE(app->web_extent().ContainsURL(app_url));
|
|
|
| - app->static_data()->AddRef();
|
| - info_map->AddExtension(app->static_data());
|
| - extension->static_data()->AddRef();
|
| - info_map->AddExtension(extension->static_data());
|
| + app->AddRef();
|
| + info_map->AddExtension(app);
|
| + extension->AddRef();
|
| + info_map->AddExtension(extension);
|
|
|
| // The app should have the notifications permission, either from a
|
| // chrome-extension URL or from its web extent.
|
|
|