Chromium Code Reviews| 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 "components/search_engines/template_url_service.h" | 5 #include "components/search_engines/template_url_service.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 | 8 |
| 9 #include <memory> | 9 #include <memory> |
| 10 #include <utility> | 10 #include <utility> |
| (...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 120 EXPECT_NE(0, t_url->id()); | 120 EXPECT_NE(0, t_url->id()); |
| 121 return t_url; | 121 return t_url; |
| 122 } | 122 } |
| 123 | 123 |
| 124 // Checks that the two TemplateURLs are similar. It does not check the id or | 124 // Checks that the two TemplateURLs are similar. It does not check the id or |
| 125 // any time-related fields. Neither pointer should be NULL. | 125 // any time-related fields. Neither pointer should be NULL. |
| 126 void ExpectSimilar(const TemplateURL* expected, const TemplateURL* actual) { | 126 void ExpectSimilar(const TemplateURL* expected, const TemplateURL* actual) { |
| 127 ASSERT_TRUE(expected != NULL); | 127 ASSERT_TRUE(expected != NULL); |
| 128 ASSERT_TRUE(actual != NULL); | 128 ASSERT_TRUE(actual != NULL); |
| 129 EXPECT_EQ(expected->short_name(), actual->short_name()); | 129 EXPECT_EQ(expected->short_name(), actual->short_name()); |
| 130 EXPECT_EQ(expected->keyword(), actual->keyword()); | |
| 131 EXPECT_EQ(expected->url(), actual->url()); | 130 EXPECT_EQ(expected->url(), actual->url()); |
|
vasilii
2017/02/27 15:20:35
Why is the keyword check gone?
Alexander Yashkin
2017/02/27 19:36:03
My fault, did not restored previous version comple
| |
| 132 EXPECT_EQ(expected->suggestions_url(), actual->suggestions_url()); | 131 EXPECT_EQ(expected->suggestions_url(), actual->suggestions_url()); |
| 133 EXPECT_EQ(expected->favicon_url(), actual->favicon_url()); | 132 EXPECT_EQ(expected->favicon_url(), actual->favicon_url()); |
| 134 EXPECT_EQ(expected->alternate_urls(), actual->alternate_urls()); | 133 EXPECT_EQ(expected->alternate_urls(), actual->alternate_urls()); |
| 135 EXPECT_EQ(expected->safe_for_autoreplace(), actual->safe_for_autoreplace()); | 134 EXPECT_EQ(expected->safe_for_autoreplace(), actual->safe_for_autoreplace()); |
| 136 EXPECT_EQ(expected->input_encodings(), actual->input_encodings()); | 135 EXPECT_EQ(expected->input_encodings(), actual->input_encodings()); |
| 137 EXPECT_EQ(expected->search_terms_replacement_key(), | 136 EXPECT_EQ(expected->search_terms_replacement_key(), |
| 138 actual->search_terms_replacement_key()); | 137 actual->search_terms_replacement_key()); |
| 139 } | 138 } |
| 140 | 139 |
| 141 std::unique_ptr<TemplateURLData> CreateTestSearchEngine() { | 140 std::unique_ptr<TemplateURLData> CreateTestSearchEngine() { |
| (...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 268 GenerateDummyTemplateURLData(keyword); | 267 GenerateDummyTemplateURLData(keyword); |
| 269 turl_data->safe_for_autoreplace = false; | 268 turl_data->safe_for_autoreplace = false; |
| 270 | 269 |
| 271 auto ext_dse = base::MakeUnique<TemplateURL>( | 270 auto ext_dse = base::MakeUnique<TemplateURL>( |
| 272 *turl_data, TemplateURL::NORMAL_CONTROLLED_BY_EXTENSION); | 271 *turl_data, TemplateURL::NORMAL_CONTROLLED_BY_EXTENSION); |
| 273 auto extension_info = | 272 auto extension_info = |
| 274 base::MakeUnique<TemplateURL::AssociatedExtensionInfo>(extension_name); | 273 base::MakeUnique<TemplateURL::AssociatedExtensionInfo>(extension_name); |
| 275 extension_info->wants_to_be_default_engine = wants_to_be_default_engine; | 274 extension_info->wants_to_be_default_engine = wants_to_be_default_engine; |
| 276 extension_info->install_time = install_time; | 275 extension_info->install_time = install_time; |
| 277 | 276 |
| 278 return model()->AddExtensionControlledTURL(std::move(ext_dse), | 277 return test_util()->AddExtensionControlledTURL(std::move(ext_dse), |
| 279 std::move(extension_info)); | 278 std::move(extension_info)); |
| 280 } | 279 } |
| 281 | 280 |
| 282 void TemplateURLServiceTest::AssertEquals(const TemplateURL& expected, | 281 void TemplateURLServiceTest::AssertEquals(const TemplateURL& expected, |
| 283 const TemplateURL& actual) { | 282 const TemplateURL& actual) { |
| 284 ASSERT_EQ(expected.short_name(), actual.short_name()); | 283 ASSERT_EQ(expected.short_name(), actual.short_name()); |
| 285 ASSERT_EQ(expected.keyword(), actual.keyword()); | 284 ASSERT_EQ(expected.keyword(), actual.keyword()); |
| 286 ASSERT_EQ(expected.url(), actual.url()); | 285 ASSERT_EQ(expected.url(), actual.url()); |
| 287 ASSERT_EQ(expected.suggestions_url(), actual.suggestions_url()); | 286 ASSERT_EQ(expected.suggestions_url(), actual.suggestions_url()); |
| 288 ASSERT_EQ(expected.favicon_url(), actual.favicon_url()); | 287 ASSERT_EQ(expected.favicon_url(), actual.favicon_url()); |
| 289 ASSERT_EQ(expected.alternate_urls(), actual.alternate_urls()); | 288 ASSERT_EQ(expected.alternate_urls(), actual.alternate_urls()); |
| (...skipping 785 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1075 base::MakeUnique<TemplateURL>(*GenerateDummyTemplateURLData("user_dse"))); | 1074 base::MakeUnique<TemplateURL>(*GenerateDummyTemplateURLData("user_dse"))); |
| 1076 model()->SetUserSelectedDefaultSearchProvider(user_dse); | 1075 model()->SetUserSelectedDefaultSearchProvider(user_dse); |
| 1077 EXPECT_EQ(user_dse, model()->GetDefaultSearchProvider()); | 1076 EXPECT_EQ(user_dse, model()->GetDefaultSearchProvider()); |
| 1078 | 1077 |
| 1079 // Check that user DSE guid is stored in kSyncedDefaultSearchProviderGUID. | 1078 // Check that user DSE guid is stored in kSyncedDefaultSearchProviderGUID. |
| 1080 EXPECT_EQ(user_dse->sync_guid(), | 1079 EXPECT_EQ(user_dse->sync_guid(), |
| 1081 test_util()->profile()->GetTestingPrefService()->GetString( | 1080 test_util()->profile()->GetTestingPrefService()->GetString( |
| 1082 prefs::kSyncedDefaultSearchProviderGUID)); | 1081 prefs::kSyncedDefaultSearchProviderGUID)); |
| 1083 | 1082 |
| 1084 // Add extension controlled default search engine. | 1083 // Add extension controlled default search engine. |
| 1085 std::unique_ptr<TemplateURL::AssociatedExtensionInfo> extension_info( | 1084 TemplateURL* extension_dse = |
| 1086 new TemplateURL::AssociatedExtensionInfo("extension")); | 1085 AddExtensionSearchEngine("extension_dse", "extension_id", true, Time()); |
| 1087 extension_info->wants_to_be_default_engine = true; | |
| 1088 TemplateURL* extension_dse = model()->AddExtensionControlledTURL( | |
| 1089 base::MakeUnique<TemplateURL>( | |
| 1090 *GenerateDummyTemplateURLData("extension_dse"), | |
| 1091 TemplateURL::NORMAL_CONTROLLED_BY_EXTENSION), | |
| 1092 std::move(extension_info)); | |
| 1093 EXPECT_EQ(extension_dse, model()->GetDefaultSearchProvider()); | 1086 EXPECT_EQ(extension_dse, model()->GetDefaultSearchProvider()); |
| 1094 // Check that user DSE guid is still stored in | 1087 // Check that user DSE guid is still stored in |
| 1095 // kSyncedDefaultSearchProviderGUID. | 1088 // kSyncedDefaultSearchProviderGUID. |
| 1096 EXPECT_EQ(user_dse->sync_guid(), | 1089 EXPECT_EQ(user_dse->sync_guid(), |
| 1097 test_util()->profile()->GetTestingPrefService()->GetString( | 1090 test_util()->profile()->GetTestingPrefService()->GetString( |
| 1098 prefs::kSyncedDefaultSearchProviderGUID)); | 1091 prefs::kSyncedDefaultSearchProviderGUID)); |
| 1099 | 1092 |
| 1100 model()->RepairPrepopulatedSearchEngines(); | 1093 model()->RepairPrepopulatedSearchEngines(); |
| 1101 // Check that extension engine is still default but sync guid is updated to | 1094 // Check that extension engine is still default but sync guid is updated to |
| 1102 // initial dse guid. | 1095 // initial dse guid. |
| (...skipping 537 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1640 EXPECT_EQ(user_dse, model()->GetDefaultSearchProvider()); | 1633 EXPECT_EQ(user_dse, model()->GetDefaultSearchProvider()); |
| 1641 | 1634 |
| 1642 std::unique_ptr<TemplateURL> ext_dse = CreateKeywordWithDate( | 1635 std::unique_ptr<TemplateURL> ext_dse = CreateKeywordWithDate( |
| 1643 model(), "ext", "ext", "http://www.search.com/s?q={searchTerms}", | 1636 model(), "ext", "ext", "http://www.search.com/s?q={searchTerms}", |
| 1644 std::string(), std::string(), std::string(), true, kPrepopulatedId, | 1637 std::string(), std::string(), std::string(), true, kPrepopulatedId, |
| 1645 "UTF-8", Time(), Time(), Time(), | 1638 "UTF-8", Time(), Time(), Time(), |
| 1646 TemplateURL::NORMAL_CONTROLLED_BY_EXTENSION); | 1639 TemplateURL::NORMAL_CONTROLLED_BY_EXTENSION); |
| 1647 std::unique_ptr<TemplateURL::AssociatedExtensionInfo> extension_info( | 1640 std::unique_ptr<TemplateURL::AssociatedExtensionInfo> extension_info( |
| 1648 new TemplateURL::AssociatedExtensionInfo("ext")); | 1641 new TemplateURL::AssociatedExtensionInfo("ext")); |
| 1649 extension_info->wants_to_be_default_engine = true; | 1642 extension_info->wants_to_be_default_engine = true; |
| 1650 TemplateURL* ext_dse_ptr = model()->AddExtensionControlledTURL( | 1643 TemplateURL* ext_dse_ptr = test_util()->AddExtensionControlledTURL( |
| 1651 std::move(ext_dse), std::move(extension_info)); | 1644 std::move(ext_dse), std::move(extension_info)); |
| 1652 EXPECT_EQ(ext_dse_ptr, model()->GetDefaultSearchProvider()); | 1645 EXPECT_EQ(ext_dse_ptr, model()->GetDefaultSearchProvider()); |
| 1653 | 1646 |
| 1654 model()->RemoveExtensionControlledTURL( | 1647 test_util()->RemoveExtensionControlledTURL("ext"); |
| 1655 "ext", TemplateURL::NORMAL_CONTROLLED_BY_EXTENSION); | |
| 1656 ExpectSimilar(user_dse, model()->GetDefaultSearchProvider()); | 1648 ExpectSimilar(user_dse, model()->GetDefaultSearchProvider()); |
| 1657 } | 1649 } |
| 1658 | 1650 |
| 1659 TEST_F(TemplateURLServiceTest, ExtensionEnginesNotPersist) { | 1651 TEST_F(TemplateURLServiceTest, DefaultExtensionEnginePersist) { |
| 1660 test_util()->VerifyLoad(); | 1652 test_util()->VerifyLoad(); |
| 1661 // Add third-party default search engine. | 1653 // Add third-party default search engine. |
| 1662 TemplateURL* user_dse = AddKeywordWithDate( | 1654 TemplateURL* user_dse = AddKeywordWithDate( |
| 1663 "user", "user", "http://www.goo.com/s?q={searchTerms}", std::string(), | 1655 "user", "user", "http://www.goo.com/s?q={searchTerms}", std::string(), |
| 1664 std::string(), std::string(), true, "UTF-8", Time(), Time(), Time()); | 1656 std::string(), std::string(), true, "UTF-8", Time(), Time(), Time()); |
| 1665 model()->SetUserSelectedDefaultSearchProvider(user_dse); | 1657 model()->SetUserSelectedDefaultSearchProvider(user_dse); |
| 1666 EXPECT_EQ(user_dse, model()->GetDefaultSearchProvider()); | 1658 EXPECT_EQ(user_dse, model()->GetDefaultSearchProvider()); |
| 1667 | 1659 |
| 1660 // Create non-default extension search engine. | |
| 1668 std::unique_ptr<TemplateURL> ext_dse = CreateKeywordWithDate( | 1661 std::unique_ptr<TemplateURL> ext_dse = CreateKeywordWithDate( |
| 1669 model(), "ext1", "ext1", "http://www.ext1.com/s?q={searchTerms}", | 1662 model(), "ext1", "ext1", "http://www.ext1.com/s?q={searchTerms}", |
| 1670 std::string(), std::string(), std::string(), true, 0, "UTF-8", Time(), | 1663 std::string(), std::string(), std::string(), true, 0, "UTF-8", Time(), |
| 1671 Time(), Time(), TemplateURL::NORMAL_CONTROLLED_BY_EXTENSION); | 1664 Time(), Time(), TemplateURL::NORMAL_CONTROLLED_BY_EXTENSION); |
| 1672 std::unique_ptr<TemplateURL::AssociatedExtensionInfo> extension_info( | 1665 std::unique_ptr<TemplateURL::AssociatedExtensionInfo> extension_info( |
| 1673 new TemplateURL::AssociatedExtensionInfo("ext1")); | 1666 new TemplateURL::AssociatedExtensionInfo("ext1")); |
| 1674 extension_info->wants_to_be_default_engine = false; | 1667 extension_info->wants_to_be_default_engine = false; |
| 1675 model()->AddExtensionControlledTURL(std::move(ext_dse), | 1668 |
| 1676 std::move(extension_info)); | 1669 test_util()->AddExtensionControlledTURL(std::move(ext_dse), |
| 1670 std::move(extension_info)); | |
| 1677 EXPECT_EQ(user_dse, model()->GetDefaultSearchProvider()); | 1671 EXPECT_EQ(user_dse, model()->GetDefaultSearchProvider()); |
| 1678 | 1672 |
| 1673 // Create default extension search engine. | |
| 1679 ext_dse = CreateKeywordWithDate( | 1674 ext_dse = CreateKeywordWithDate( |
| 1680 model(), "ext2", "ext2", "http://www.ext2.com/s?q={searchTerms}", | 1675 model(), "ext2", "ext2", "http://www.ext2.com/s?q={searchTerms}", |
| 1681 std::string(), std::string(), std::string(), true, kPrepopulatedId, | 1676 std::string(), std::string(), std::string(), true, kPrepopulatedId, |
| 1682 "UTF-8", Time(), Time(), Time(), | 1677 "UTF-8", Time(), Time(), Time(), |
| 1683 TemplateURL::NORMAL_CONTROLLED_BY_EXTENSION); | 1678 TemplateURL::NORMAL_CONTROLLED_BY_EXTENSION); |
| 1684 extension_info.reset(new TemplateURL::AssociatedExtensionInfo("ext2")); | 1679 extension_info.reset(new TemplateURL::AssociatedExtensionInfo("ext2")); |
| 1685 extension_info->wants_to_be_default_engine = true; | 1680 extension_info->wants_to_be_default_engine = true; |
| 1686 TemplateURL* ext_dse_ptr = model()->AddExtensionControlledTURL( | 1681 |
| 1682 auto cloned_ext_dse = base::MakeUnique<TemplateURL>(ext_dse->data()); | |
| 1683 TemplateURL* ext_dse_ptr = test_util()->AddExtensionControlledTURL( | |
| 1687 std::move(ext_dse), std::move(extension_info)); | 1684 std::move(ext_dse), std::move(extension_info)); |
| 1688 EXPECT_EQ(ext_dse_ptr, model()->GetDefaultSearchProvider()); | 1685 EXPECT_EQ(ext_dse_ptr, model()->GetDefaultSearchProvider()); |
| 1689 | 1686 |
| 1690 test_util()->ResetModel(true); | 1687 // A default search engine set by an extension must be persisted across |
| 1691 user_dse = model()->GetTemplateURLForKeyword(ASCIIToUTF16("user")); | 1688 // browser restarts, until the extension is unloaded/disabled. |
| 1692 ExpectSimilar(user_dse, model()->GetDefaultSearchProvider()); | 1689 test_util()->ResetModel(false); |
| 1690 EXPECT_TRUE(model()->GetTemplateURLForKeyword(ASCIIToUTF16("ext2"))); | |
| 1691 ExpectSimilar(cloned_ext_dse.get(), model()->GetDefaultSearchProvider()); | |
| 1692 | |
| 1693 // Non-default extension engines are not persisted across restarts. | |
| 1693 EXPECT_FALSE(model()->GetTemplateURLForKeyword(ASCIIToUTF16("ext1"))); | 1694 EXPECT_FALSE(model()->GetTemplateURLForKeyword(ASCIIToUTF16("ext1"))); |
| 1694 EXPECT_FALSE(model()->GetTemplateURLForKeyword(ASCIIToUTF16("ext2"))); | 1695 } |
| 1696 | |
| 1697 TEST_F(TemplateURLServiceTest, DefaultExtensionEnginePersistsBeforeLoad) { | |
| 1698 // Chrome will load the extension system before the TemplateURLService, so | |
| 1699 // extensions controlling the default search engine may be registered before | |
| 1700 // the service has loaded. | |
| 1701 std::unique_ptr<TemplateURL> ext_dse = CreateKeywordWithDate( | |
| 1702 model(), "ext2", "ext2", "http://www.ext2.com/s?q={searchTerms}", | |
| 1703 std::string(), std::string(), std::string(), true, kPrepopulatedId, | |
| 1704 "UTF-8", Time(), Time(), Time(), | |
| 1705 TemplateURL::NORMAL_CONTROLLED_BY_EXTENSION); | |
| 1706 auto extension_info = | |
| 1707 base::MakeUnique<TemplateURL::AssociatedExtensionInfo>("ext2"); | |
| 1708 extension_info->wants_to_be_default_engine = true; | |
| 1709 | |
| 1710 auto cloned_ext_dse = base::MakeUnique<TemplateURL>(ext_dse->data()); | |
| 1711 test_util()->AddExtensionControlledTURL(std::move(ext_dse), | |
| 1712 std::move(extension_info)); | |
| 1713 | |
| 1714 // Default search engine from extension must be persisted between browser | |
| 1715 // restarts, and should be available before the TemplateURLService is loaded. | |
| 1716 EXPECT_TRUE(model()->GetTemplateURLForKeyword(ASCIIToUTF16("ext2"))); | |
| 1717 ExpectSimilar(cloned_ext_dse.get(), model()->GetDefaultSearchProvider()); | |
| 1718 | |
| 1719 // Check extension DSE is the same after service load. | |
| 1720 test_util()->VerifyLoad(); | |
| 1721 ExpectSimilar(cloned_ext_dse.get(), model()->GetDefaultSearchProvider()); | |
| 1695 } | 1722 } |
| 1696 | 1723 |
| 1697 // Checks that correct priority is applied when resolving conflicts between the | 1724 // Checks that correct priority is applied when resolving conflicts between the |
| 1698 // omnibox extension, search engine extension and user search engines with same | 1725 // omnibox extension, search engine extension and user search engines with same |
| 1699 // keyword. | 1726 // keyword. |
| 1700 TEST_F(TemplateURLServiceTest, CheckEnginesWithSameKeywords) { | 1727 TEST_F(TemplateURLServiceTest, CheckEnginesWithSameKeywords) { |
| 1701 test_util()->VerifyLoad(); | 1728 test_util()->VerifyLoad(); |
| 1702 // TemplateURLData used for user engines. | 1729 // TemplateURLData used for user engines. |
| 1703 std::unique_ptr<TemplateURLData> turl_data = | 1730 std::unique_ptr<TemplateURLData> turl_data = |
| 1704 GenerateDummyTemplateURLData("common_keyword"); | 1731 GenerateDummyTemplateURLData("common_keyword"); |
| (...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1762 "extension_id", TemplateURL::NORMAL_CONTROLLED_BY_EXTENSION); | 1789 "extension_id", TemplateURL::NORMAL_CONTROLLED_BY_EXTENSION); |
| 1763 EXPECT_NE(extension, model()->GetDefaultSearchProvider()); | 1790 EXPECT_NE(extension, model()->GetDefaultSearchProvider()); |
| 1764 // Now latest user engine is returned for keyword. | 1791 // Now latest user engine is returned for keyword. |
| 1765 EXPECT_EQ(user2, | 1792 EXPECT_EQ(user2, |
| 1766 model()->GetTemplateURLForKeyword(ASCIIToUTF16("common_keyword"))); | 1793 model()->GetTemplateURLForKeyword(ASCIIToUTF16("common_keyword"))); |
| 1767 } | 1794 } |
| 1768 | 1795 |
| 1769 // Check that two extensions with the same engine are handled correctly. | 1796 // Check that two extensions with the same engine are handled correctly. |
| 1770 TEST_F(TemplateURLServiceTest, ExtensionsWithSameKeywords) { | 1797 TEST_F(TemplateURLServiceTest, ExtensionsWithSameKeywords) { |
| 1771 test_util()->VerifyLoad(); | 1798 test_util()->VerifyLoad(); |
| 1772 | |
| 1773 // Add non default extension engine. | 1799 // Add non default extension engine. |
| 1774 const TemplateURL* extension1 = AddExtensionSearchEngine( | 1800 const TemplateURL* extension1 = AddExtensionSearchEngine( |
| 1775 "common_keyword", "extension_id1", false, Time::FromDoubleT(1)); | 1801 "common_keyword", "extension_id1", false, Time::FromDoubleT(1)); |
| 1776 | 1802 |
| 1777 // Check that GetTemplateURLForKeyword returns last installed extension. | 1803 // Check that GetTemplateURLForKeyword returns last installed extension. |
| 1778 EXPECT_EQ(extension1, | 1804 EXPECT_EQ(extension1, |
| 1779 model()->GetTemplateURLForKeyword(ASCIIToUTF16("common_keyword"))); | 1805 model()->GetTemplateURLForKeyword(ASCIIToUTF16("common_keyword"))); |
| 1780 | 1806 |
| 1781 // Add default extension engine with the same keyword. | 1807 // Add default extension engine with the same keyword. |
| 1782 const TemplateURL* extension2 = AddExtensionSearchEngine( | 1808 const TemplateURL* extension2 = AddExtensionSearchEngine( |
| 1783 "common_keyword", "extension_id2", true, Time::FromDoubleT(2)); | 1809 "common_keyword", "extension_id2", true, Time::FromDoubleT(2)); |
| 1784 | |
| 1785 // Check that GetTemplateURLForKeyword now returns extension2 because it was | 1810 // Check that GetTemplateURLForKeyword now returns extension2 because it was |
| 1786 // installed later. | 1811 // installed later. |
| 1787 EXPECT_EQ(extension2, | 1812 EXPECT_EQ(extension2, |
| 1788 model()->GetTemplateURLForKeyword(ASCIIToUTF16("common_keyword"))); | 1813 model()->GetTemplateURLForKeyword(ASCIIToUTF16("common_keyword"))); |
| 1789 | 1814 |
| 1790 // Add another non default extension with same keyword. This action must not | 1815 // Add another non default extension with same keyword. This action must not |
| 1791 // change any keyword due to conflict. | 1816 // change any keyword due to conflict. |
| 1792 const TemplateURL* extension3 = AddExtensionSearchEngine( | 1817 const TemplateURL* extension3 = AddExtensionSearchEngine( |
| 1793 "common_keyword", "extension_id3", false, Time::FromDoubleT(3)); | 1818 "common_keyword", "extension_id3", false, Time::FromDoubleT(3)); |
| 1794 | |
| 1795 // Check that extension2 is set as default. | 1819 // Check that extension2 is set as default. |
| 1796 EXPECT_EQ(extension2, model()->GetDefaultSearchProvider()); | 1820 EXPECT_EQ(extension2, model()->GetDefaultSearchProvider()); |
| 1797 | 1821 |
| 1798 // Check that GetTemplateURLForKeyword returns last installed extension. | 1822 // Check that GetTemplateURLForKeyword returns last installed extension. |
| 1799 EXPECT_EQ(extension3, | 1823 EXPECT_EQ(extension3, |
| 1800 model()->GetTemplateURLForKeyword(ASCIIToUTF16("common_keyword"))); | 1824 model()->GetTemplateURLForKeyword(ASCIIToUTF16("common_keyword"))); |
| 1801 // Check that all keywords for extensions are left unchanged. | 1825 // Check that all keywords for extensions are left unchanged. |
| 1802 EXPECT_EQ(ASCIIToUTF16("common_keyword"), extension1->keyword()); | 1826 EXPECT_EQ(ASCIIToUTF16("common_keyword"), extension1->keyword()); |
| 1803 EXPECT_EQ(ASCIIToUTF16("common_keyword"), extension2->keyword()); | 1827 EXPECT_EQ(ASCIIToUTF16("common_keyword"), extension2->keyword()); |
| 1804 EXPECT_EQ(ASCIIToUTF16("common_keyword"), extension3->keyword()); | 1828 EXPECT_EQ(ASCIIToUTF16("common_keyword"), extension3->keyword()); |
| (...skipping 12 matching lines...) Expand all Loading... | |
| 1817 ExpectSimilar(expected_managed_default.get(), actual_managed_default); | 1841 ExpectSimilar(expected_managed_default.get(), actual_managed_default); |
| 1818 | 1842 |
| 1819 std::unique_ptr<TemplateURL> ext_dse = CreateKeywordWithDate( | 1843 std::unique_ptr<TemplateURL> ext_dse = CreateKeywordWithDate( |
| 1820 model(), "ext1", "ext1", "http://www.ext1.com/s?q={searchTerms}", | 1844 model(), "ext1", "ext1", "http://www.ext1.com/s?q={searchTerms}", |
| 1821 std::string(), std::string(), std::string(), true, kPrepopulatedId, | 1845 std::string(), std::string(), std::string(), true, kPrepopulatedId, |
| 1822 "UTF-8", Time(), Time(), Time(), | 1846 "UTF-8", Time(), Time(), Time(), |
| 1823 TemplateURL::NORMAL_CONTROLLED_BY_EXTENSION); | 1847 TemplateURL::NORMAL_CONTROLLED_BY_EXTENSION); |
| 1824 auto extension_info = | 1848 auto extension_info = |
| 1825 base::MakeUnique<TemplateURL::AssociatedExtensionInfo>("ext1"); | 1849 base::MakeUnique<TemplateURL::AssociatedExtensionInfo>("ext1"); |
| 1826 extension_info->wants_to_be_default_engine = true; | 1850 extension_info->wants_to_be_default_engine = true; |
| 1827 TemplateURL* ext_dse_ptr = model()->AddExtensionControlledTURL( | 1851 TemplateURL* ext_dse_ptr = test_util()->AddExtensionControlledTURL( |
| 1828 std::move(ext_dse), std::move(extension_info)); | 1852 std::move(ext_dse), std::move(extension_info)); |
| 1829 EXPECT_EQ(ext_dse_ptr, | 1853 EXPECT_EQ(ext_dse_ptr, |
| 1830 model()->GetTemplateURLForKeyword(ASCIIToUTF16("ext1"))); | 1854 model()->GetTemplateURLForKeyword(ASCIIToUTF16("ext1"))); |
| 1831 EXPECT_TRUE(model()->is_default_search_managed()); | 1855 EXPECT_TRUE(model()->is_default_search_managed()); |
| 1832 actual_managed_default = model()->GetDefaultSearchProvider(); | 1856 actual_managed_default = model()->GetDefaultSearchProvider(); |
| 1833 ExpectSimilar(expected_managed_default.get(), actual_managed_default); | 1857 ExpectSimilar(expected_managed_default.get(), actual_managed_default); |
| 1834 } | 1858 } |
| 1835 | 1859 |
| 1836 TEST_F(TemplateURLServiceTest, LastVisitedTimeUpdate) { | 1860 TEST_F(TemplateURLServiceTest, LastVisitedTimeUpdate) { |
| 1837 test_util()->VerifyLoad(); | 1861 test_util()->VerifyLoad(); |
| (...skipping 27 matching lines...) Expand all Loading... | |
| 1865 TemplateURL* update_url = | 1889 TemplateURL* update_url = |
| 1866 model()->GetTemplateURLForKeyword(ASCIIToUTF16("engine_keyword")); | 1890 model()->GetTemplateURLForKeyword(ASCIIToUTF16("engine_keyword")); |
| 1867 const base::Time update_last_modified = update_url->last_modified(); | 1891 const base::Time update_last_modified = update_url->last_modified(); |
| 1868 model()->SetUserSelectedDefaultSearchProvider(update_url); | 1892 model()->SetUserSelectedDefaultSearchProvider(update_url); |
| 1869 TemplateURL* reloaded_url = | 1893 TemplateURL* reloaded_url = |
| 1870 model()->GetTemplateURLForKeyword(ASCIIToUTF16("engine_keyword")); | 1894 model()->GetTemplateURLForKeyword(ASCIIToUTF16("engine_keyword")); |
| 1871 const base::Time reloaded_last_modified = reloaded_url->last_modified(); | 1895 const base::Time reloaded_last_modified = reloaded_url->last_modified(); |
| 1872 EXPECT_NE(original_last_modified, reloaded_last_modified); | 1896 EXPECT_NE(original_last_modified, reloaded_last_modified); |
| 1873 EXPECT_EQ(update_last_modified, reloaded_last_modified); | 1897 EXPECT_EQ(update_last_modified, reloaded_last_modified); |
| 1874 } | 1898 } |
| OLD | NEW |