OLD | NEW |
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 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 <algorithm> | 5 #include <algorithm> |
6 #include <set> | 6 #include <set> |
7 #include <vector> | 7 #include <vector> |
8 | 8 |
9 #include "base/at_exit.h" | 9 #include "base/at_exit.h" |
10 #include "base/basictypes.h" | 10 #include "base/basictypes.h" |
(...skipping 876 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
887 } | 887 } |
888 --expected_extensions_count_; | 888 --expected_extensions_count_; |
889 | 889 |
890 // We should get an unload notification. | 890 // We should get an unload notification. |
891 EXPECT_FALSE(unloaded_id_.empty()); | 891 EXPECT_FALSE(unloaded_id_.empty()); |
892 EXPECT_EQ(id, unloaded_id_); | 892 EXPECT_EQ(id, unloaded_id_); |
893 | 893 |
894 // Verify uninstalled state. | 894 // Verify uninstalled state. |
895 size_t new_pref_key_count = GetPrefKeyCount(); | 895 size_t new_pref_key_count = GetPrefKeyCount(); |
896 if (new_pref_key_count == pref_key_count) { | 896 if (new_pref_key_count == pref_key_count) { |
897 ValidateIntegerPref(id, "location", | 897 ValidateIntegerPref(id, "state", |
898 Extension::EXTERNAL_EXTENSION_UNINSTALLED); | 898 Extension::EXTERNAL_EXTENSION_UNINSTALLED); |
899 } else { | 899 } else { |
900 EXPECT_EQ(new_pref_key_count, pref_key_count - 1); | 900 EXPECT_EQ(new_pref_key_count, pref_key_count - 1); |
901 } | 901 } |
902 | 902 |
903 // The extension should not be in the service anymore. | 903 // The extension should not be in the service anymore. |
904 EXPECT_FALSE(service()->GetInstalledExtension(id)); | 904 EXPECT_FALSE(service()->GetInstalledExtension(id)); |
905 base::RunLoop().RunUntilIdle(); | 905 base::RunLoop().RunUntilIdle(); |
906 | 906 |
907 // The directory should be gone. | 907 // The directory should be gone. |
(...skipping 640 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1548 Manifest::EXTERNAL_PREF, | 1548 Manifest::EXTERNAL_PREF, |
1549 Extension::NO_FLAGS, | 1549 Extension::NO_FLAGS, |
1550 false)) { | 1550 false)) { |
1551 observer.Wait(); | 1551 observer.Wait(); |
1552 } | 1552 } |
1553 | 1553 |
1554 ASSERT_TRUE(service()->GetExtensionById(good_crx, false)); | 1554 ASSERT_TRUE(service()->GetExtensionById(good_crx, false)); |
1555 | 1555 |
1556 // Uninstall it and check that its killbit gets set. | 1556 // Uninstall it and check that its killbit gets set. |
1557 UninstallExtension(good_crx, false); | 1557 UninstallExtension(good_crx, false); |
1558 ValidateIntegerPref(good_crx, "location", | 1558 ValidateIntegerPref(good_crx, "state", |
1559 Extension::EXTERNAL_EXTENSION_UNINSTALLED); | 1559 Extension::EXTERNAL_EXTENSION_UNINSTALLED); |
1560 | 1560 |
1561 // Try to re-install it externally. This should fail because of the killbit. | 1561 // Try to re-install it externally. This should fail because of the killbit. |
1562 service()->OnExternalExtensionFileFound(good_crx, | 1562 service()->OnExternalExtensionFileFound(good_crx, |
1563 &version, | 1563 &version, |
1564 path, | 1564 path, |
1565 Manifest::EXTERNAL_PREF, | 1565 Manifest::EXTERNAL_PREF, |
1566 Extension::NO_FLAGS, | 1566 Extension::NO_FLAGS, |
1567 false); | 1567 false); |
1568 base::RunLoop().RunUntilIdle(); | 1568 base::RunLoop().RunUntilIdle(); |
1569 ASSERT_TRUE(NULL == service()->GetExtensionById(good_crx, false)); | 1569 ASSERT_TRUE(NULL == service()->GetExtensionById(good_crx, false)); |
1570 ValidateIntegerPref(good_crx, "location", | 1570 ValidateIntegerPref(good_crx, "state", |
1571 Extension::EXTERNAL_EXTENSION_UNINSTALLED); | 1571 Extension::EXTERNAL_EXTENSION_UNINSTALLED); |
1572 | 1572 |
1573 version = Version("1.0.0.1"); | 1573 version = Version("1.0.0.1"); |
1574 // Repeat the same thing with a newer version of the extension. | 1574 // Repeat the same thing with a newer version of the extension. |
1575 path = data_dir().AppendASCII("good2.crx"); | 1575 path = data_dir().AppendASCII("good2.crx"); |
1576 service()->OnExternalExtensionFileFound(good_crx, | 1576 service()->OnExternalExtensionFileFound(good_crx, |
1577 &version, | 1577 &version, |
1578 path, | 1578 path, |
1579 Manifest::EXTERNAL_PREF, | 1579 Manifest::EXTERNAL_PREF, |
1580 Extension::NO_FLAGS, | 1580 Extension::NO_FLAGS, |
1581 false); | 1581 false); |
1582 base::RunLoop().RunUntilIdle(); | 1582 base::RunLoop().RunUntilIdle(); |
1583 ASSERT_TRUE(NULL == service()->GetExtensionById(good_crx, false)); | 1583 ASSERT_TRUE(NULL == service()->GetExtensionById(good_crx, false)); |
1584 ValidateIntegerPref(good_crx, "location", | 1584 ValidateIntegerPref(good_crx, "state", |
1585 Extension::EXTERNAL_EXTENSION_UNINSTALLED); | 1585 Extension::EXTERNAL_EXTENSION_UNINSTALLED); |
1586 | 1586 |
1587 // Try adding the same extension from an external update URL. | 1587 // Try adding the same extension from an external update URL. |
1588 ASSERT_FALSE(service()->pending_extension_manager()->AddFromExternalUpdateUrl( | 1588 ASSERT_FALSE(service()->pending_extension_manager()->AddFromExternalUpdateUrl( |
1589 good_crx, | 1589 good_crx, |
1590 std::string(), | 1590 std::string(), |
1591 GURL("http:://fake.update/url"), | 1591 GURL("http:://fake.update/url"), |
1592 Manifest::EXTERNAL_PREF_DOWNLOAD, | 1592 Manifest::EXTERNAL_PREF_DOWNLOAD, |
1593 Extension::NO_FLAGS, | 1593 Extension::NO_FLAGS, |
1594 false)); | 1594 false)); |
(...skipping 5558 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
7153 | 7153 |
7154 service()->Observe(chrome::NOTIFICATION_PROFILE_DESTRUCTION_STARTED, | 7154 service()->Observe(chrome::NOTIFICATION_PROFILE_DESTRUCTION_STARTED, |
7155 content::Source<Profile>(profile()), | 7155 content::Source<Profile>(profile()), |
7156 content::NotificationService::NoDetails()); | 7156 content::NotificationService::NoDetails()); |
7157 EXPECT_EQ(UnloadedExtensionInfo::REASON_PROFILE_SHUTDOWN, unloaded_reason_); | 7157 EXPECT_EQ(UnloadedExtensionInfo::REASON_PROFILE_SHUTDOWN, unloaded_reason_); |
7158 EXPECT_EQ(0u, registry()->enabled_extensions().size()); | 7158 EXPECT_EQ(0u, registry()->enabled_extensions().size()); |
7159 EXPECT_EQ(0u, registry()->disabled_extensions().size()); | 7159 EXPECT_EQ(0u, registry()->disabled_extensions().size()); |
7160 EXPECT_EQ(0u, registry()->terminated_extensions().size()); | 7160 EXPECT_EQ(0u, registry()->terminated_extensions().size()); |
7161 EXPECT_EQ(0u, registry()->blacklisted_extensions().size()); | 7161 EXPECT_EQ(0u, registry()->blacklisted_extensions().size()); |
7162 } | 7162 } |
OLD | NEW |