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