OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 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 <sstream> | 5 #include <sstream> |
6 | 6 |
7 #include "base/command_line.h" | 7 #include "base/command_line.h" |
8 #include "base/metrics/histogram_base.h" | 8 #include "base/metrics/histogram_base.h" |
9 #include "base/metrics/histogram_samples.h" | 9 #include "base/metrics/histogram_samples.h" |
10 #include "base/metrics/statistics_recorder.h" | 10 #include "base/metrics/statistics_recorder.h" |
(...skipping 1553 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1564 active_tab->GetController().GoBack(); | 1564 active_tab->GetController().GoBack(); |
1565 back_observer.Wait(); | 1565 back_observer.Wait(); |
1566 | 1566 |
1567 // Verify that onmostvisitedchange event is dispatched when we navigate from | 1567 // Verify that onmostvisitedchange event is dispatched when we navigate from |
1568 // SRP to NTP. | 1568 // SRP to NTP. |
1569 active_tab = browser()->tab_strip_model()->GetActiveWebContents(); | 1569 active_tab = browser()->tab_strip_model()->GetActiveWebContents(); |
1570 EXPECT_TRUE(UpdateSearchState(active_tab)); | 1570 EXPECT_TRUE(UpdateSearchState(active_tab)); |
1571 EXPECT_EQ(1, on_most_visited_change_calls_); | 1571 EXPECT_EQ(1, on_most_visited_change_calls_); |
1572 } | 1572 } |
1573 | 1573 |
1574 // Flaky: crbug.com/267096 | |
1575 IN_PROC_BROWSER_TEST_F(InstantExtendedTest, | |
1576 DISABLED_OnDefaultSearchProviderChanged) { | |
1577 InstantService* instant_service = | |
1578 InstantServiceFactory::GetForProfile(browser()->profile()); | |
1579 ASSERT_NE(static_cast<InstantService*>(NULL), instant_service); | |
1580 | |
1581 // Setup Instant. | |
1582 ASSERT_NO_FATAL_FAILURE(SetupInstant(browser())); | |
1583 FocusOmniboxAndWaitForInstantNTPSupport(); | |
1584 EXPECT_EQ(1, instant_service->GetInstantProcessCount()); | |
1585 | |
1586 // Navigating to the NTP should use the Instant render process. | |
1587 content::WindowedNotificationObserver new_tab_observer( | |
1588 content::NOTIFICATION_NAV_ENTRY_COMMITTED, | |
1589 content::NotificationService::AllSources()); | |
1590 ui_test_utils::NavigateToURLWithDisposition( | |
1591 browser(), | |
1592 GURL(chrome::kChromeUINewTabURL), | |
1593 CURRENT_TAB, | |
1594 ui_test_utils::BROWSER_TEST_NONE); | |
1595 new_tab_observer.Wait(); | |
1596 | |
1597 content::WebContents* ntp_contents = | |
1598 browser()->tab_strip_model()->GetActiveWebContents(); | |
1599 EXPECT_TRUE(chrome::IsInstantNTP(ntp_contents)); | |
1600 EXPECT_TRUE(instant_service->IsInstantProcess( | |
1601 ntp_contents->GetRenderProcessHost()->GetID())); | |
1602 GURL ntp_url = ntp_contents->GetURL(); | |
1603 | |
1604 AddBlankTabAndShow(browser()); | |
1605 content::WebContents* active_tab = | |
1606 browser()->tab_strip_model()->GetActiveWebContents(); | |
1607 EXPECT_FALSE(chrome::IsInstantNTP(active_tab)); | |
1608 EXPECT_FALSE(instant_service->IsInstantProcess( | |
1609 active_tab->GetRenderProcessHost()->GetID())); | |
1610 | |
1611 TemplateURLData data; | |
1612 data.short_name = ASCIIToUTF16("t"); | |
1613 data.SetURL("http://defaultturl/q={searchTerms}"); | |
1614 data.suggestions_url = "http://defaultturl2/q={searchTerms}"; | |
1615 data.instant_url = "http://does/not/exist"; | |
1616 data.alternate_urls.push_back(data.instant_url + "#q={searchTerms}"); | |
1617 data.search_terms_replacement_key = "strk"; | |
1618 | |
1619 TemplateURL* template_url = new TemplateURL(browser()->profile(), data); | |
1620 TemplateURLService* service = | |
1621 TemplateURLServiceFactory::GetForProfile(browser()->profile()); | |
1622 ui_test_utils::WaitForTemplateURLServiceToLoad(service); | |
1623 service->Add(template_url); // Takes ownership of |template_url|. | |
1624 | |
1625 // Change the default search provider. | |
1626 content::WindowedNotificationObserver observer( | |
1627 content::NOTIFICATION_LOAD_STOP, | |
1628 content::Source<content::NavigationController>( | |
1629 &ntp_contents->GetController())); | |
1630 service->SetDefaultSearchProvider(template_url); | |
1631 observer.Wait(); | |
1632 | |
1633 // |ntp_contents| should not use the Instant render process. | |
1634 EXPECT_FALSE(chrome::IsInstantNTP(ntp_contents)); | |
1635 EXPECT_FALSE(instant_service->IsInstantProcess( | |
1636 ntp_contents->GetRenderProcessHost()->GetID())); | |
1637 // Make sure the URL remains the same. | |
1638 EXPECT_EQ(ntp_url, ntp_contents->GetURL()); | |
1639 } | |
1640 | |
1641 IN_PROC_BROWSER_TEST_F(InstantExtendedTest, | |
1642 ReloadLocalNTPOnSearchProviderChange) { | |
1643 // Setup Instant. | |
1644 ASSERT_NO_FATAL_FAILURE(SetupInstant(browser())); | |
1645 FocusOmniboxAndWaitForInstantNTPSupport(); | |
1646 | |
1647 // Navigate to Local NTP. | |
1648 content::WindowedNotificationObserver new_tab_observer( | |
1649 content::NOTIFICATION_NAV_ENTRY_COMMITTED, | |
1650 content::NotificationService::AllSources()); | |
1651 ui_test_utils::NavigateToURLWithDisposition( | |
1652 browser(), | |
1653 GURL(chrome::kChromeSearchLocalNtpUrl), | |
1654 CURRENT_TAB, | |
1655 ui_test_utils::BROWSER_TEST_NONE); | |
1656 new_tab_observer.Wait(); | |
1657 | |
1658 content::WebContents* ntp_contents = | |
1659 browser()->tab_strip_model()->GetActiveWebContents(); | |
1660 GURL ntp_url = ntp_contents->GetURL(); | |
1661 | |
1662 TemplateURLData data; | |
1663 data.short_name = ASCIIToUTF16("t"); | |
1664 data.SetURL("http://defaultturl/q={searchTerms}"); | |
1665 data.suggestions_url = "http://defaultturl2/q={searchTerms}"; | |
1666 data.instant_url = "http://does/not/exist"; | |
1667 data.alternate_urls.push_back(data.instant_url + "#q={searchTerms}"); | |
1668 data.search_terms_replacement_key = "strk"; | |
1669 | |
1670 TemplateURL* template_url = new TemplateURL(browser()->profile(), data); | |
1671 TemplateURLService* service = | |
1672 TemplateURLServiceFactory::GetForProfile(browser()->profile()); | |
1673 ui_test_utils::WaitForTemplateURLServiceToLoad(service); | |
1674 service->Add(template_url); // Takes ownership of |template_url|. | |
1675 | |
1676 // Change the default search provider. This will reload the local NTP and the | |
1677 // page URL will remain the same. | |
1678 content::WindowedNotificationObserver observer( | |
1679 content::NOTIFICATION_LOAD_STOP, | |
1680 content::Source<content::NavigationController>( | |
1681 &ntp_contents->GetController())); | |
1682 service->SetDefaultSearchProvider(template_url); | |
1683 observer.Wait(); | |
1684 | |
1685 // Make sure the URL remains the same. | |
1686 EXPECT_EQ(ntp_url, ntp_contents->GetURL()); | |
1687 } | |
1688 | |
1689 IN_PROC_BROWSER_TEST_F(InstantExtendedPrefetchTest, SetPrefetchQuery) { | 1574 IN_PROC_BROWSER_TEST_F(InstantExtendedPrefetchTest, SetPrefetchQuery) { |
1690 ASSERT_NO_FATAL_FAILURE(SetupInstant(browser())); | 1575 ASSERT_NO_FATAL_FAILURE(SetupInstant(browser())); |
1691 FocusOmniboxAndWaitForInstantNTPSupport(); | 1576 FocusOmniboxAndWaitForInstantNTPSupport(); |
1692 | 1577 |
1693 content::WindowedNotificationObserver new_tab_observer( | 1578 content::WindowedNotificationObserver new_tab_observer( |
1694 content::NOTIFICATION_NAV_ENTRY_COMMITTED, | 1579 content::NOTIFICATION_NAV_ENTRY_COMMITTED, |
1695 content::NotificationService::AllSources()); | 1580 content::NotificationService::AllSources()); |
1696 ui_test_utils::NavigateToURLWithDisposition( | 1581 ui_test_utils::NavigateToURLWithDisposition( |
1697 browser(), | 1582 browser(), |
1698 GURL(chrome::kChromeUINewTabURL), | 1583 GURL(chrome::kChromeUINewTabURL), |
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1796 EXPECT_EQ(ASCIIToUTF16("foo"), omnibox()->GetText()); | 1681 EXPECT_EQ(ASCIIToUTF16("foo"), omnibox()->GetText()); |
1797 | 1682 |
1798 // Calling ShowURL() should disable search term replacement and show the URL. | 1683 // Calling ShowURL() should disable search term replacement and show the URL. |
1799 omnibox()->ShowURL(); | 1684 omnibox()->ShowURL(); |
1800 EXPECT_FALSE(browser()->toolbar_model()->WouldPerformSearchTermReplacement( | 1685 EXPECT_FALSE(browser()->toolbar_model()->WouldPerformSearchTermReplacement( |
1801 false)); | 1686 false)); |
1802 // Don't bother looking for a specific URL; ensuring we're no longer showing | 1687 // Don't bother looking for a specific URL; ensuring we're no longer showing |
1803 // the search terms is sufficient. | 1688 // the search terms is sufficient. |
1804 EXPECT_NE(ASCIIToUTF16("foo"), omnibox()->GetText()); | 1689 EXPECT_NE(ASCIIToUTF16("foo"), omnibox()->GetText()); |
1805 } | 1690 } |
OLD | NEW |