Chromium Code Reviews| Index: chrome/browser/extensions/extension_service_unittest.cc |
| diff --git a/chrome/browser/extensions/extension_service_unittest.cc b/chrome/browser/extensions/extension_service_unittest.cc |
| index 471cd5d7890f8ca26532a3a9a26bb607beed0376..835c2fddeec381d198081ed19088d2ee71e0902d 100644 |
| --- a/chrome/browser/extensions/extension_service_unittest.cc |
| +++ b/chrome/browser/extensions/extension_service_unittest.cc |
| @@ -3018,6 +3018,7 @@ TEST_F(ExtensionServiceTest, UpdatePendingExtensionAlreadyInstalled) { |
| &IsExtension, |
| kGoodIsFromSync, |
| Manifest::INTERNAL, |
| + Extension::NO_FLAGS, |
| false, |
| kGoodRemoteInstall); |
| UpdateExtension(good->id(), path, ENABLED); |
| @@ -4181,6 +4182,35 @@ TEST_F(ExtensionServiceTest, DefaultAppsInstall) { |
| } |
| #endif |
| +TEST_F(ExtensionServiceTest, UpdatingPendingExternalExtensionWithFlags) { |
|
Devlin
2016/07/15 19:02:40
Let's add a comment:
// Regression test for crbug.
mamir
2016/07/15 19:06:20
Done.
|
| + const char kPrefFromBookmark[] = "from_bookmark"; |
| + |
| + InitializeEmptyExtensionService(); |
| + |
| + base::FilePath path = data_dir().AppendASCII("good.crx"); |
| + service()->set_extensions_enabled(true); |
| + |
| + // Register and install an external extension. |
| + std::unique_ptr<Version> version(new Version("1.0.0.0")); |
| + content::WindowedNotificationObserver observer( |
| + extensions::NOTIFICATION_CRX_INSTALLER_DONE, |
| + content::NotificationService::AllSources()); |
| + std::unique_ptr<ExternalInstallInfoFile> info(new ExternalInstallInfoFile( |
| + good_crx, std::move(version), path, Manifest::EXTERNAL_PREF, |
| + Extension::FROM_BOOKMARK, false /* mark_acknowledged */, |
| + false /* install_immediately */)); |
| + ASSERT_TRUE(service()->OnExternalExtensionFileFound(*info)); |
| + EXPECT_TRUE(service()->pending_extension_manager()->IsIdPending(good_crx)); |
| + |
| + // Upgrade to version 2.0, the flag should be preserved. |
| + path = data_dir().AppendASCII("good2.crx"); |
| + UpdateExtension(good_crx, path, ENABLED); |
| + ASSERT_TRUE(ValidateBooleanPref(good_crx, kPrefFromBookmark, true)); |
| + const Extension* extension = service()->GetExtensionById(good_crx, false); |
| + ASSERT_TRUE(extension); |
| + ASSERT_TRUE(extension->from_bookmark()); |
| +} |
| + |
| // Tests disabling extensions |
| TEST_F(ExtensionServiceTest, DisableExtension) { |
| InitializeEmptyExtensionService(); |