OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/browser/extensions/extension_service_unittest.h" | 5 #include "chrome/browser/extensions/extension_service_unittest.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <set> | 8 #include <set> |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
(...skipping 683 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
694 if (install_state != INSTALL_FAILED) { | 694 if (install_state != INSTALL_FAILED) { |
695 if (install_state == INSTALL_NEW) | 695 if (install_state == INSTALL_NEW) |
696 ++expected_extensions_count_; | 696 ++expected_extensions_count_; |
697 | 697 |
698 EXPECT_TRUE(installed_) << path.value(); | 698 EXPECT_TRUE(installed_) << path.value(); |
699 | 699 |
700 EXPECT_EQ(1u, loaded_.size()) << path.value(); | 700 EXPECT_EQ(1u, loaded_.size()) << path.value(); |
701 EXPECT_EQ(0u, errors.size()) << path.value(); | 701 EXPECT_EQ(0u, errors.size()) << path.value(); |
702 EXPECT_EQ(expected_extensions_count_, service_->extensions()->size()) << | 702 EXPECT_EQ(expected_extensions_count_, service_->extensions()->size()) << |
703 path.value(); | 703 path.value(); |
704 extension = loaded_[0]; | 704 extension = loaded_[0].get(); |
705 EXPECT_TRUE(service_->GetExtensionById(extension->id(), false)) << | 705 EXPECT_TRUE(service_->GetExtensionById(extension->id(), false)) << |
706 path.value(); | 706 path.value(); |
707 for (std::vector<string16>::iterator err = errors.begin(); | 707 for (std::vector<string16>::iterator err = errors.begin(); |
708 err != errors.end(); ++err) { | 708 err != errors.end(); ++err) { |
709 LOG(ERROR) << *err; | 709 LOG(ERROR) << *err; |
710 } | 710 } |
711 } else { | 711 } else { |
712 EXPECT_FALSE(installed_) << path.value(); | 712 EXPECT_FALSE(installed_) << path.value(); |
713 EXPECT_EQ(0u, loaded_.size()) << path.value(); | 713 EXPECT_EQ(0u, loaded_.size()) << path.value(); |
714 EXPECT_EQ(1u, errors.size()) << path.value(); | 714 EXPECT_EQ(1u, errors.size()) << path.value(); |
(...skipping 381 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1096 ValidateIntegerPref(good0, "location", Extension::INTERNAL); | 1096 ValidateIntegerPref(good0, "location", Extension::INTERNAL); |
1097 ValidateIntegerPref(good1, "state", Extension::ENABLED); | 1097 ValidateIntegerPref(good1, "state", Extension::ENABLED); |
1098 ValidateIntegerPref(good1, "location", Extension::INTERNAL); | 1098 ValidateIntegerPref(good1, "location", Extension::INTERNAL); |
1099 ValidateIntegerPref(good2, "state", Extension::ENABLED); | 1099 ValidateIntegerPref(good2, "state", Extension::ENABLED); |
1100 ValidateIntegerPref(good2, "location", Extension::INTERNAL); | 1100 ValidateIntegerPref(good2, "location", Extension::INTERNAL); |
1101 | 1101 |
1102 URLPatternSet expected_patterns; | 1102 URLPatternSet expected_patterns; |
1103 AddPattern(&expected_patterns, "file:///*"); | 1103 AddPattern(&expected_patterns, "file:///*"); |
1104 AddPattern(&expected_patterns, "http://*.google.com/*"); | 1104 AddPattern(&expected_patterns, "http://*.google.com/*"); |
1105 AddPattern(&expected_patterns, "https://*.google.com/*"); | 1105 AddPattern(&expected_patterns, "https://*.google.com/*"); |
1106 const Extension* extension = loaded_[0]; | 1106 const Extension* extension = loaded_[0].get(); |
1107 const extensions::UserScriptList& scripts = extension->content_scripts(); | 1107 const extensions::UserScriptList& scripts = extension->content_scripts(); |
1108 ASSERT_EQ(2u, scripts.size()); | 1108 ASSERT_EQ(2u, scripts.size()); |
1109 EXPECT_EQ(expected_patterns, scripts[0].url_patterns()); | 1109 EXPECT_EQ(expected_patterns, scripts[0].url_patterns()); |
1110 EXPECT_EQ(2u, scripts[0].js_scripts().size()); | 1110 EXPECT_EQ(2u, scripts[0].js_scripts().size()); |
1111 ExtensionResource resource00(extension->id(), | 1111 ExtensionResource resource00(extension->id(), |
1112 scripts[0].js_scripts()[0].extension_root(), | 1112 scripts[0].js_scripts()[0].extension_root(), |
1113 scripts[0].js_scripts()[0].relative_path()); | 1113 scripts[0].js_scripts()[0].relative_path()); |
1114 FilePath expected_path(extension->path().AppendASCII("script1.js")); | 1114 FilePath expected_path(extension->path().AppendASCII("script1.js")); |
1115 ASSERT_TRUE(file_util::AbsolutePath(&expected_path)); | 1115 ASSERT_TRUE(file_util::AbsolutePath(&expected_path)); |
1116 EXPECT_TRUE(resource00.ComparePathWithDefault(expected_path)); | 1116 EXPECT_TRUE(resource00.ComparePathWithDefault(expected_path)); |
(...skipping 560 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1677 // the extension's granted api permissions preference. (This simulates | 1677 // the extension's granted api permissions preference. (This simulates |
1678 // updating the browser to a version which recognizes a new API permission). | 1678 // updating the browser to a version which recognizes a new API permission). |
1679 SetPref(extension_id, "granted_permissions.api", | 1679 SetPref(extension_id, "granted_permissions.api", |
1680 new ListValue(), "granted_permissions.api"); | 1680 new ListValue(), "granted_permissions.api"); |
1681 service_->ReloadExtensions(); | 1681 service_->ReloadExtensions(); |
1682 | 1682 |
1683 EXPECT_EQ(1u, service_->disabled_extensions()->size()); | 1683 EXPECT_EQ(1u, service_->disabled_extensions()->size()); |
1684 extension = *service_->disabled_extensions()->begin(); | 1684 extension = *service_->disabled_extensions()->begin(); |
1685 | 1685 |
1686 ASSERT_TRUE(prefs->IsExtensionDisabled(extension_id)); | 1686 ASSERT_TRUE(prefs->IsExtensionDisabled(extension_id)); |
1687 ASSERT_FALSE(service_->IsExtensionEnabled(extension_id)); | 1687 ASSERT_FALSE*service_->disabled_extensions()->begin().get()d)); |
1688 ASSERT_TRUE(prefs->DidExtensionEscalatePermissions(extension_id)); | 1688 ASSERT_TRUE(prefs->DidExtensionEscalatePermissions(extension_id)); |
1689 | 1689 |
1690 // Now grant and re-enable the extension, making sure the prefs are updated. | 1690 // Now grant and re-enable the extension, making sure the prefs are updated. |
1691 service_->GrantPermissionsAndEnableExtension(extension, false); | 1691 service_->GrantPermissionsAndEnableExtension(extension, false); |
1692 | 1692 |
1693 ASSERT_FALSE(prefs->IsExtensionDisabled(extension_id)); | 1693 ASSERT_FALSE(prefs->IsExtensionDisabled(extension_id)); |
1694 ASSERT_TRUE(service_->IsExtensionEnabled(extension_id)); | 1694 ASSERT_TRUE(service_->IsExtensionEnabled(extension_id)); |
1695 ASSERT_FALSE(prefs->DidExtensionEscalatePermissions(extension_id)); | 1695 ASSERT_FALSE(prefs->DidExtensionEscalatePermissions(extension_id)); |
1696 | 1696 |
1697 scoped_refptr<PermissionSet> current_perms( | 1697 scoped_refptr<PermissionSet> current_perms( |
(...skipping 22 matching lines...) Expand all Loading... |
1720 api_permissions, "granted_permissions.api"); | 1720 api_permissions, "granted_permissions.api"); |
1721 SetPrefStringSet( | 1721 SetPrefStringSet( |
1722 extension_id, "granted_permissions.scriptable_host", host_permissions); | 1722 extension_id, "granted_permissions.scriptable_host", host_permissions); |
1723 | 1723 |
1724 service_->ReloadExtensions(); | 1724 service_->ReloadExtensions(); |
1725 | 1725 |
1726 EXPECT_EQ(1u, service_->disabled_extensions()->size()); | 1726 EXPECT_EQ(1u, service_->disabled_extensions()->size()); |
1727 extension = *service_->disabled_extensions()->begin(); | 1727 extension = *service_->disabled_extensions()->begin(); |
1728 | 1728 |
1729 ASSERT_TRUE(prefs->IsExtensionDisabled(extension_id)); | 1729 ASSERT_TRUE(prefs->IsExtensionDisabled(extension_id)); |
1730 ASSERT_FALSE(service_->IsExtensionEnabled(extension_id)); | 1730 ASSERT_FALSE*service_->disabled_extensions()->begin().get()d)); |
1731 ASSERT_TRUE(prefs->DidExtensionEscalatePermissions(extension_id)); | 1731 ASSERT_TRUE(prefs->DidExtensionEscalatePermissions(extension_id)); |
1732 | 1732 |
1733 // Now grant and re-enable the extension, making sure the prefs are updated. | 1733 // Now grant and re-enable the extension, making sure the prefs are updated. |
1734 service_->GrantPermissionsAndEnableExtension(extension, false); | 1734 service_->GrantPermissionsAndEnableExtension(extension, false); |
1735 | 1735 |
1736 ASSERT_TRUE(service_->IsExtensionEnabled(extension_id)); | 1736 ASSERT_TRUE(service_->IsExtensionEnabled(extension_id)); |
1737 ASSERT_FALSE(prefs->DidExtensionEscalatePermissions(extension_id)); | 1737 ASSERT_FALSE(prefs->DidExtensionEscalatePermissions(extension_id)); |
1738 | 1738 |
1739 current_perms = prefs->GetGrantedPermissions(extension_id); | 1739 current_perms = prefs->GetGrantedPermissions(extension_id); |
1740 ASSERT_TRUE(current_perms.get()); | 1740 ASSERT_TRUE(current_perms.get()); |
(...skipping 247 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1988 .AppendASCII("theme_i18n"); | 1988 .AppendASCII("theme_i18n"); |
1989 | 1989 |
1990 extensions::UnpackedInstaller::Create(service_)->Load(extension_path); | 1990 extensions::UnpackedInstaller::Create(service_)->Load(extension_path); |
1991 loop_.RunAllPending(); | 1991 loop_.RunAllPending(); |
1992 EXPECT_EQ(0u, GetErrors().size()); | 1992 EXPECT_EQ(0u, GetErrors().size()); |
1993 ASSERT_EQ(1u, loaded_.size()); | 1993 ASSERT_EQ(1u, loaded_.size()); |
1994 EXPECT_EQ(1u, service_->extensions()->size()); | 1994 EXPECT_EQ(1u, service_->extensions()->size()); |
1995 const Extension* theme = *service_->extensions()->begin(); | 1995 const Extension* theme = *service_->extensions()->begin(); |
1996 EXPECT_EQ("name", theme->name()); | 1996 EXPECT_EQ("name", theme->name()); |
1997 EXPECT_EQ("description", theme->description()); | 1997 EXPECT_EQ("description", theme->description()); |
1998 } | 1998 }*service_->extensions()->begin().get() |
1999 | 1999 |
2000 // Tests that we can change the ID of an unpacked extension by adding a key | 2000 // Tests that we can change the ID of an unpacked extension by adding a key |
2001 // to its manifest. | 2001 // to its manifest. |
2002 TEST_F(ExtensionServiceTest, DISABLED_UnpackedExtensionCanChangeID) { | 2002 TEST_F(ExtensionServiceTest, DISABLED_UnpackedExtensionCanChangeID) { |
2003 InitializeEmptyExtensionService(); | 2003 InitializeEmptyExtensionService(); |
2004 | 2004 |
2005 ScopedTempDir temp; | 2005 ScopedTempDir temp; |
2006 ASSERT_TRUE(temp.CreateUniqueTempDir()); | 2006 ASSERT_TRUE(temp.CreateUniqueTempDir()); |
2007 | 2007 |
2008 FilePath extension_path = temp.path(); | 2008 FilePath extension_path = temp.path(); |
2009 FilePath manifest_path = extension_path.Append(Extension::kManifestFilename); | 2009 FilePath manifest_path = extension_path.Append(Extension::kManifestFilename); |
2010 FilePath manifest_no_key = data_dir_. | 2010 FilePath manifest_no_key = data_dir_. |
2011 AppendASCII("unpacked"). | 2011 AppendASCII("unpacked"). |
2012 AppendASCII("manifest_no_key.json"); | 2012 AppendASCII("manifest_no_key.json"); |
(...skipping 1223 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3236 EXPECT_EQ(0u, service_->extensions()->size()); | 3236 EXPECT_EQ(0u, service_->extensions()->size()); |
3237 extensions::InstalledLoader(service_).Load(extension_info, false); | 3237 extensions::InstalledLoader(service_).Load(extension_info, false); |
3238 EXPECT_EQ(1u, service_->extensions()->size()); | 3238 EXPECT_EQ(1u, service_->extensions()->size()); |
3239 | 3239 |
3240 const Extension* extension = *(service_->extensions()->begin()); | 3240 const Extension* extension = *(service_->extensions()->begin()); |
3241 EXPECT_TRUE(service_->UninstallExtension(extension->id(), false, NULL)); | 3241 EXPECT_TRUE(service_->UninstallExtension(extension->id(), false, NULL)); |
3242 EXPECT_EQ(0u, service_->extensions()->size()); | 3242 EXPECT_EQ(0u, service_->extensions()->size()); |
3243 | 3243 |
3244 // Ensure we cannot load it if management policy prohibits installation. | 3244 // Ensure we cannot load it if management policy prohibits installation. |
3245 extensions::TestManagementPolicyProvider provider_( | 3245 extensions::TestManagementPolicyProvider provider_( |
3246 extensions::TestManagementPolicyProvider::PROHIBIT_LOAD); | 3246 extensions::TestManagemen*(service_->extensions()->begin()).get() |
3247 management_policy_->RegisterProvider(&provider_); | 3247 management_policy_->RegisterProvider(&provider_); |
3248 | 3248 |
3249 extensions::InstalledLoader(service_).Load(extension_info, false); | 3249 extensions::InstalledLoader(service_).Load(extension_info, false); |
3250 EXPECT_EQ(0u, service_->extensions()->size()); | 3250 EXPECT_EQ(0u, service_->extensions()->size()); |
3251 } | 3251 } |
3252 | 3252 |
3253 // Tests disabling an extension when prohibited by the ManagementPolicy. | 3253 // Tests disabling an extension when prohibited by the ManagementPolicy. |
3254 TEST_F(ExtensionServiceTest, DISABLED_ManagementPolicyProhibitsDisable) { | 3254 TEST_F(ExtensionServiceTest, DISABLED_ManagementPolicyProhibitsDisable) { |
3255 InitializeEmptyExtensionService(); | 3255 InitializeEmptyExtensionService(); |
3256 | 3256 |
3257 InstallCRX(data_dir_.AppendASCII("good.crx"), INSTALL_NEW); | 3257 InstallCRX(data_dir_.AppendASCII("good.crx"), INSTALL_NEW); |
(...skipping 2479 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5737 EXPECT_FALSE(extensions::HasExternalInstallError(service_)); | 5737 EXPECT_FALSE(extensions::HasExternalInstallError(service_)); |
5738 EXPECT_FALSE(service_->IsExtensionEnabled(good_crx)); | 5738 EXPECT_FALSE(service_->IsExtensionEnabled(good_crx)); |
5739 EXPECT_TRUE(service_->IsExtensionEnabled(page_action)); | 5739 EXPECT_TRUE(service_->IsExtensionEnabled(page_action)); |
5740 | 5740 |
5741 ExtensionPrefs* prefs = service_->extension_prefs(); | 5741 ExtensionPrefs* prefs = service_->extension_prefs(); |
5742 EXPECT_NE(0, prefs->GetDisableReasons(good_crx) & | 5742 EXPECT_NE(0, prefs->GetDisableReasons(good_crx) & |
5743 Extension::DISABLE_SIDELOAD_WIPEOUT); | 5743 Extension::DISABLE_SIDELOAD_WIPEOUT); |
5744 EXPECT_EQ(0, prefs->GetDisableReasons(page_action) & | 5744 EXPECT_EQ(0, prefs->GetDisableReasons(page_action) & |
5745 Extension::DISABLE_SIDELOAD_WIPEOUT); | 5745 Extension::DISABLE_SIDELOAD_WIPEOUT); |
5746 } | 5746 } |
OLD | NEW |