| Index: chrome/browser/profile_resetter/profile_resetter_unittest.cc
|
| diff --git a/chrome/browser/profile_resetter/profile_resetter_unittest.cc b/chrome/browser/profile_resetter/profile_resetter_unittest.cc
|
| index b427be9c0dce3376fc277e9ee83f1d2225257fc5..f11ff26a9f309850e320fc52e89e883559d2110f 100644
|
| --- a/chrome/browser/profile_resetter/profile_resetter_unittest.cc
|
| +++ b/chrome/browser/profile_resetter/profile_resetter_unittest.cc
|
| @@ -228,13 +228,23 @@ scoped_ptr<net::FakeURLFetcher> ConfigParserTest::CreateFakeURLFetcher(
|
| scoped_refptr<Extension> CreateExtension(const std::string& name,
|
| const base::FilePath& path,
|
| Manifest::Location location,
|
| - bool theme) {
|
| + extensions::Manifest::Type type) {
|
| DictionaryValue manifest;
|
| manifest.SetString(extension_manifest_keys::kVersion, "1.0.0.0");
|
| manifest.SetString(extension_manifest_keys::kName, name);
|
| - manifest.SetString("app.launch.web_url", "http://www.google.com");
|
| - if (theme)
|
| - manifest.Set(extension_manifest_keys::kTheme, new DictionaryValue);
|
| + switch (type) {
|
| + case extensions::Manifest::TYPE_THEME:
|
| + manifest.Set(extension_manifest_keys::kTheme, new DictionaryValue);
|
| + break;
|
| + case extensions::Manifest::TYPE_HOSTED_APP:
|
| + manifest.SetString("app.launch.web_url", "http://www.google.com");
|
| + break;
|
| + case extensions::Manifest::TYPE_EXTENSION:
|
| + // do nothing
|
| + break;
|
| + default:
|
| + NOTREACHED();
|
| + }
|
| manifest.SetString(extension_manifest_keys::kOmniboxKeyword, name);
|
| std::string error;
|
| scoped_refptr<Extension> extension = Extension::Create(
|
| @@ -270,7 +280,7 @@ TEST_F(ProfileResetterTest, ResetDefaultSearchEngine) {
|
| "xxx",
|
| base::FilePath(FILE_PATH_LITERAL("//nonexistent")),
|
| Manifest::COMPONENT,
|
| - false);
|
| + extensions::Manifest::TYPE_EXTENSION);
|
| service_->AddExtension(extension.get());
|
|
|
| ResetAndWait(ProfileResetter::DEFAULT_SEARCH_ENGINE);
|
| @@ -432,9 +442,11 @@ TEST_F(ProfileResetterTest, ResetExtensionsByDisabling) {
|
| base::ScopedTempDir temp_dir;
|
| ASSERT_TRUE(temp_dir.CreateUniqueTempDir());
|
|
|
| - scoped_refptr<Extension> theme = CreateExtension("example1", temp_dir.path(),
|
| - Manifest::INVALID_LOCATION,
|
| - true);
|
| + scoped_refptr<Extension> theme =
|
| + CreateExtension("example1",
|
| + temp_dir.path(),
|
| + Manifest::INVALID_LOCATION,
|
| + extensions::Manifest::TYPE_THEME);
|
| service_->FinishInstallationForTest(theme.get());
|
| // Let ThemeService finish creating the theme pack.
|
| base::MessageLoop::current()->RunUntilIdle();
|
| @@ -448,26 +460,27 @@ TEST_F(ProfileResetterTest, ResetExtensionsByDisabling) {
|
| "example2",
|
| base::FilePath(FILE_PATH_LITERAL("//nonexistent")),
|
| Manifest::INVALID_LOCATION,
|
| - false);
|
| + extensions::Manifest::TYPE_EXTENSION);
|
| service_->AddExtension(ext2.get());
|
| // Components and external policy extensions shouldn't be deleted.
|
| scoped_refptr<Extension> ext3 = CreateExtension(
|
| "example3",
|
| base::FilePath(FILE_PATH_LITERAL("//nonexistent2")),
|
| Manifest::COMPONENT,
|
| - false);
|
| + extensions::Manifest::TYPE_EXTENSION);
|
| service_->AddExtension(ext3.get());
|
| scoped_refptr<Extension> ext4 =
|
| CreateExtension("example4",
|
| base::FilePath(FILE_PATH_LITERAL("//nonexistent3")),
|
| Manifest::EXTERNAL_POLICY_DOWNLOAD,
|
| - false);
|
| + extensions::Manifest::TYPE_EXTENSION);
|
| service_->AddExtension(ext4.get());
|
| EXPECT_EQ(4u, service_->extensions()->size());
|
|
|
| ResetAndWait(ProfileResetter::EXTENSIONS);
|
| -
|
| EXPECT_EQ(2u, service_->extensions()->size());
|
| + EXPECT_FALSE(service_->extensions()->Contains(theme->id()));
|
| + EXPECT_FALSE(service_->extensions()->Contains(ext2->id()));
|
| EXPECT_TRUE(service_->extensions()->Contains(ext3->id()));
|
| EXPECT_TRUE(service_->extensions()->Contains(ext4->id()));
|
| EXPECT_TRUE(theme_service->UsingDefaultTheme());
|
| @@ -478,14 +491,14 @@ TEST_F(ProfileResetterTest, ResetExtensionsByDisablingNonOrganic) {
|
| "example2",
|
| base::FilePath(FILE_PATH_LITERAL("//nonexistent")),
|
| Manifest::INVALID_LOCATION,
|
| - false);
|
| + extensions::Manifest::TYPE_EXTENSION);
|
| service_->AddExtension(ext2.get());
|
| // Components and external policy extensions shouldn't be deleted.
|
| scoped_refptr<Extension> ext3 = CreateExtension(
|
| "example3",
|
| base::FilePath(FILE_PATH_LITERAL("//nonexistent2")),
|
| Manifest::INVALID_LOCATION,
|
| - false);
|
| + extensions::Manifest::TYPE_EXTENSION);
|
| service_->AddExtension(ext3.get());
|
| EXPECT_EQ(2u, service_->extensions()->size());
|
|
|
| @@ -498,6 +511,48 @@ TEST_F(ProfileResetterTest, ResetExtensionsByDisablingNonOrganic) {
|
| EXPECT_TRUE(service_->extensions()->Contains(ext3->id()));
|
| }
|
|
|
| +TEST_F(ProfileResetterTest, ResetExtensionsCheckTypeFilter) {
|
| + base::ScopedTempDir temp_dir;
|
| + ASSERT_TRUE(temp_dir.CreateUniqueTempDir());
|
| +
|
| + scoped_refptr<Extension> ext1 =
|
| + CreateExtension("example1",
|
| + temp_dir.path(),
|
| + Manifest::INVALID_LOCATION,
|
| + extensions::Manifest::TYPE_THEME);
|
| + service_->FinishInstallationForTest(ext1.get());
|
| + // Let ThemeService finish creating the theme pack.
|
| + base::MessageLoop::current()->RunUntilIdle();
|
| +
|
| + // ThemeService isn't compiled for Android.
|
| + ThemeService* theme_service =
|
| + ThemeServiceFactory::GetForProfile(profile());
|
| + EXPECT_FALSE(theme_service->UsingDefaultTheme());
|
| +
|
| + scoped_refptr<Extension> ext2 =
|
| + CreateExtension("example2",
|
| + base::FilePath(FILE_PATH_LITERAL("//nonexistent2")),
|
| + Manifest::INVALID_LOCATION,
|
| + extensions::Manifest::TYPE_EXTENSION);
|
| + service_->AddExtension(ext2.get());
|
| +
|
| + scoped_refptr<Extension> ext3 =
|
| + CreateExtension("example2",
|
| + base::FilePath(FILE_PATH_LITERAL("//nonexistent3")),
|
| + Manifest::INVALID_LOCATION,
|
| + extensions::Manifest::TYPE_HOSTED_APP);
|
| + service_->AddExtension(ext3.get());
|
| + EXPECT_EQ(3u, service_->extensions()->size());
|
| +
|
| + ResetAndWait(ProfileResetter::EXTENSIONS);
|
| +
|
| + EXPECT_EQ(1u, service_->extensions()->size());
|
| + EXPECT_FALSE(service_->extensions()->Contains(ext1->id()));
|
| + EXPECT_FALSE(service_->extensions()->Contains(ext2->id()));
|
| + EXPECT_TRUE(service_->extensions()->Contains(ext3->id()));
|
| + EXPECT_TRUE(theme_service->UsingDefaultTheme());
|
| +}
|
| +
|
| TEST_F(ProfileResetterTest, ResetStartPage) {
|
| PrefService* prefs = profile()->GetPrefs();
|
| DCHECK(prefs);
|
| @@ -534,7 +589,7 @@ TEST_F(PinnedTabsResetTest, ResetPinnedTabs) {
|
| "hello!",
|
| base::FilePath(FILE_PATH_LITERAL("//nonexistent")),
|
| Manifest::INVALID_LOCATION,
|
| - false);
|
| + extensions::Manifest::TYPE_HOSTED_APP);
|
| scoped_ptr<content::WebContents> contents1(CreateWebContents());
|
| extensions::TabHelper::CreateForWebContents(contents1.get());
|
| extensions::TabHelper::FromWebContents(contents1.get())->
|
|
|