OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 "base/command_line.h" | 5 #include "base/command_line.h" |
6 #include "base/stringprintf.h" | 6 #include "base/stringprintf.h" |
7 #include "base/utf_string_conversions.h" | 7 #include "base/utf_string_conversions.h" |
8 #include "chrome/browser/autocomplete/autocomplete_edit.h" | 8 #include "chrome/browser/autocomplete/autocomplete_edit.h" |
9 #include "chrome/browser/content_settings/host_content_settings_map.h" | 9 #include "chrome/browser/content_settings/host_content_settings_map.h" |
10 #include "chrome/browser/instant/instant_controller.h" | 10 #include "chrome/browser/instant/instant_controller.h" |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
44 } | 44 } |
45 | 45 |
46 void SetupInstantProvider(const std::string& page) { | 46 void SetupInstantProvider(const std::string& page) { |
47 TemplateURLService* model = | 47 TemplateURLService* model = |
48 TemplateURLServiceFactory::GetForProfile(browser()->profile()); | 48 TemplateURLServiceFactory::GetForProfile(browser()->profile()); |
49 ASSERT_TRUE(model); | 49 ASSERT_TRUE(model); |
50 | 50 |
51 if (!model->loaded()) { | 51 if (!model->loaded()) { |
52 model->Load(); | 52 model->Load(); |
53 ui_test_utils::WaitForNotification( | 53 ui_test_utils::WaitForNotification( |
54 NotificationType::TEMPLATE_URL_SERVICE_LOADED); | 54 chrome::TEMPLATE_URL_SERVICE_LOADED); |
55 } | 55 } |
56 | 56 |
57 ASSERT_TRUE(model->loaded()); | 57 ASSERT_TRUE(model->loaded()); |
58 | 58 |
59 // TemplateURLService takes ownership of this. | 59 // TemplateURLService takes ownership of this. |
60 TemplateURL* template_url = new TemplateURL(); | 60 TemplateURL* template_url = new TemplateURL(); |
61 | 61 |
62 std::string url = StringPrintf( | 62 std::string url = StringPrintf( |
63 "http://%s:%d/files/instant/%s?q={searchTerms}", | 63 "http://%s:%d/files/instant/%s?q={searchTerms}", |
64 test_server()->host_port_pair().host().c_str(), | 64 test_server()->host_port_pair().host().c_str(), |
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
116 // When the page loads, the initial searchBox values are set and only a | 116 // When the page loads, the initial searchBox values are set and only a |
117 // resize will have been sent. | 117 // resize will have been sent. |
118 ASSERT_EQ("true 0 0 0 1 d false d false 1 1", | 118 ASSERT_EQ("true 0 0 0 1 d false d false 1 1", |
119 GetSearchStateAsString(preview_, false)); | 119 GetSearchStateAsString(preview_, false)); |
120 } | 120 } |
121 | 121 |
122 void SetLocationBarText(const std::string& text) { | 122 void SetLocationBarText(const std::string& text) { |
123 ASSERT_NO_FATAL_FAILURE(FindLocationBar()); | 123 ASSERT_NO_FATAL_FAILURE(FindLocationBar()); |
124 location_bar_->location_entry()->SetUserText(UTF8ToUTF16(text)); | 124 location_bar_->location_entry()->SetUserText(UTF8ToUTF16(text)); |
125 ui_test_utils::WaitForNotification( | 125 ui_test_utils::WaitForNotification( |
126 NotificationType::INSTANT_CONTROLLER_SHOWN); | 126 chrome::INSTANT_CONTROLLER_SHOWN); |
127 } | 127 } |
128 | 128 |
129 const string16& GetSuggestion() const { | 129 const string16& GetSuggestion() const { |
130 return browser()->instant()->loader_manager_-> | 130 return browser()->instant()->loader_manager_-> |
131 current_loader()->complete_suggested_text_; | 131 current_loader()->complete_suggested_text_; |
132 } | 132 } |
133 | 133 |
134 void SendKey(ui::KeyboardCode key) { | 134 void SendKey(ui::KeyboardCode key) { |
135 ASSERT_TRUE(ui_test_utils::SendKeyPressSync( | 135 ASSERT_TRUE(ui_test_utils::SendKeyPressSync( |
136 browser(), key, false, false, false, false)); | 136 browser(), key, false, false, false, false)); |
(...skipping 455 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
592 // results. | 592 // results. |
593 EXPECT_TRUE(browser()->instant()->IsShowingInstant()); | 593 EXPECT_TRUE(browser()->instant()->IsShowingInstant()); |
594 // But because we're waiting to determine if the page really supports instant | 594 // But because we're waiting to determine if the page really supports instant |
595 // we shouldn't be showing the preview. | 595 // we shouldn't be showing the preview. |
596 EXPECT_FALSE(browser()->instant()->is_displayable()); | 596 EXPECT_FALSE(browser()->instant()->is_displayable()); |
597 // But instant should still be active. | 597 // But instant should still be active. |
598 EXPECT_TRUE(browser()->instant()->is_active()); | 598 EXPECT_TRUE(browser()->instant()->is_active()); |
599 | 599 |
600 // When the response comes back that the page doesn't support instant the tab | 600 // When the response comes back that the page doesn't support instant the tab |
601 // should be closed. | 601 // should be closed. |
602 ui_test_utils::WaitForNotification(NotificationType::TAB_CLOSED); | 602 ui_test_utils::WaitForNotification(chrome::TAB_CLOSED); |
603 EXPECT_FALSE(browser()->instant()->IsShowingInstant()); | 603 EXPECT_FALSE(browser()->instant()->IsShowingInstant()); |
604 EXPECT_FALSE(browser()->instant()->is_displayable()); | 604 EXPECT_FALSE(browser()->instant()->is_displayable()); |
605 EXPECT_TRUE(browser()->instant()->is_active()); | 605 EXPECT_TRUE(browser()->instant()->is_active()); |
606 EXPECT_FALSE(browser()->instant()->IsCurrent()); | 606 EXPECT_FALSE(browser()->instant()->IsCurrent()); |
607 } | 607 } |
608 | 608 |
609 // Verifies transitioning from loading a non-search string to a search string | 609 // Verifies transitioning from loading a non-search string to a search string |
610 // with the provider not supporting instant works (meaning we don't display | 610 // with the provider not supporting instant works (meaning we don't display |
611 // anything). | 611 // anything). |
612 #if defined(OS_MACOSX) || defined(OS_LINUX) | 612 #if defined(OS_MACOSX) || defined(OS_LINUX) |
(...skipping 29 matching lines...) Expand all Loading... |
642 ASSERT_TRUE(browser()->instant()->is_displayable()); | 642 ASSERT_TRUE(browser()->instant()->is_displayable()); |
643 ASSERT_TRUE(browser()->instant()->is_active()); | 643 ASSERT_TRUE(browser()->instant()->is_active()); |
644 // Because we typed in a search string we should think we're showing instant | 644 // Because we typed in a search string we should think we're showing instant |
645 // results. | 645 // results. |
646 EXPECT_TRUE(browser()->instant()->MightSupportInstant()); | 646 EXPECT_TRUE(browser()->instant()->MightSupportInstant()); |
647 // Instant should not be current (it's still loading). | 647 // Instant should not be current (it's still loading). |
648 EXPECT_FALSE(browser()->instant()->IsCurrent()); | 648 EXPECT_FALSE(browser()->instant()->IsCurrent()); |
649 | 649 |
650 // When the response comes back that the page doesn't support instant the tab | 650 // When the response comes back that the page doesn't support instant the tab |
651 // should be closed. | 651 // should be closed. |
652 ui_test_utils::WaitForNotification(NotificationType::TAB_CLOSED); | 652 ui_test_utils::WaitForNotification(chrome::TAB_CLOSED); |
653 EXPECT_FALSE(browser()->instant()->IsShowingInstant()); | 653 EXPECT_FALSE(browser()->instant()->IsShowingInstant()); |
654 EXPECT_FALSE(browser()->instant()->is_displayable()); | 654 EXPECT_FALSE(browser()->instant()->is_displayable()); |
655 // But because the omnibox is still open, instant should be active. | 655 // But because the omnibox is still open, instant should be active. |
656 ASSERT_TRUE(browser()->instant()->is_active()); | 656 ASSERT_TRUE(browser()->instant()->is_active()); |
657 } | 657 } |
658 | 658 |
659 // Verifies the page was told a non-zero height. | 659 // Verifies the page was told a non-zero height. |
660 // DISABLED http://crbug.com/80118 | 660 // DISABLED http://crbug.com/80118 |
661 #if defined(OS_LINUX) | 661 #if defined(OS_LINUX) |
662 IN_PROC_BROWSER_TEST_F(InstantTest, DISABLED_ValidHeight) { | 662 IN_PROC_BROWSER_TEST_F(InstantTest, DISABLED_ValidHeight) { |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
698 EnableInstant(); | 698 EnableInstant(); |
699 GURL url(test_server()->GetURL("files/instant/403.html")); | 699 GURL url(test_server()->GetURL("files/instant/403.html")); |
700 ASSERT_NO_FATAL_FAILURE(FindLocationBar()); | 700 ASSERT_NO_FATAL_FAILURE(FindLocationBar()); |
701 location_bar_->location_entry()->SetUserText(UTF8ToUTF16(url.spec())); | 701 location_bar_->location_entry()->SetUserText(UTF8ToUTF16(url.spec())); |
702 // The preview shouldn't be showing, but it should be loading. | 702 // The preview shouldn't be showing, but it should be loading. |
703 ASSERT_TRUE(browser()->instant()->GetPreviewContents()); | 703 ASSERT_TRUE(browser()->instant()->GetPreviewContents()); |
704 ASSERT_TRUE(browser()->instant()->is_active()); | 704 ASSERT_TRUE(browser()->instant()->is_active()); |
705 ASSERT_FALSE(browser()->instant()->is_displayable()); | 705 ASSERT_FALSE(browser()->instant()->is_displayable()); |
706 | 706 |
707 // When instant sees the 403, it should close the tab. | 707 // When instant sees the 403, it should close the tab. |
708 ui_test_utils::WaitForNotification(NotificationType::TAB_CLOSED); | 708 ui_test_utils::WaitForNotification(chrome::TAB_CLOSED); |
709 ASSERT_FALSE(browser()->instant()->GetPreviewContents()); | 709 ASSERT_FALSE(browser()->instant()->GetPreviewContents()); |
710 ASSERT_TRUE(browser()->instant()->is_active()); | 710 ASSERT_TRUE(browser()->instant()->is_active()); |
711 ASSERT_FALSE(browser()->instant()->is_displayable()); | 711 ASSERT_FALSE(browser()->instant()->is_displayable()); |
712 | 712 |
713 // Try loading another url on the server. Instant shouldn't create a new tab | 713 // Try loading another url on the server. Instant shouldn't create a new tab |
714 // as the server returned 403. | 714 // as the server returned 403. |
715 GURL url2(test_server()->GetURL("files/instant/empty.html")); | 715 GURL url2(test_server()->GetURL("files/instant/empty.html")); |
716 location_bar_->location_entry()->SetUserText(UTF8ToUTF16(url2.spec())); | 716 location_bar_->location_entry()->SetUserText(UTF8ToUTF16(url2.spec())); |
717 ASSERT_FALSE(browser()->instant()->GetPreviewContents()); | 717 ASSERT_FALSE(browser()->instant()->GetPreviewContents()); |
718 ASSERT_TRUE(browser()->instant()->is_active()); | 718 ASSERT_TRUE(browser()->instant()->is_active()); |
(...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
862 IN_PROC_BROWSER_TEST_F(InstantTest, DontCrashOnBlockedJS) { | 862 IN_PROC_BROWSER_TEST_F(InstantTest, DontCrashOnBlockedJS) { |
863 #endif // OS_LINUX | 863 #endif // OS_LINUX |
864 browser()->profile()->GetHostContentSettingsMap()->SetDefaultContentSetting( | 864 browser()->profile()->GetHostContentSettingsMap()->SetDefaultContentSetting( |
865 CONTENT_SETTINGS_TYPE_JAVASCRIPT, CONTENT_SETTING_BLOCK); | 865 CONTENT_SETTINGS_TYPE_JAVASCRIPT, CONTENT_SETTING_BLOCK); |
866 ASSERT_TRUE(test_server()->Start()); | 866 ASSERT_TRUE(test_server()->Start()); |
867 EnableInstant(); | 867 EnableInstant(); |
868 ASSERT_NO_FATAL_FAILURE(SetupInstantProvider("search.html")); | 868 ASSERT_NO_FATAL_FAILURE(SetupInstantProvider("search.html")); |
869 ASSERT_NO_FATAL_FAILURE(SetupLocationBar()); | 869 ASSERT_NO_FATAL_FAILURE(SetupLocationBar()); |
870 // Wait for notification that the instant API has been determined. | 870 // Wait for notification that the instant API has been determined. |
871 ui_test_utils::WaitForNotification( | 871 ui_test_utils::WaitForNotification( |
872 NotificationType::INSTANT_SUPPORT_DETERMINED); | 872 chrome::INSTANT_SUPPORT_DETERMINED); |
873 // As long as we get the notification we're good (the renderer didn't crash). | 873 // As long as we get the notification we're good (the renderer didn't crash). |
874 } | 874 } |
875 | 875 |
876 // DISABLED http://crbug.com/80118 | 876 // DISABLED http://crbug.com/80118 |
877 #if defined(OS_LINUX) | 877 #if defined(OS_LINUX) |
878 IN_PROC_BROWSER_TEST_F(InstantTest, DISABLED_DownloadOnEnter) { | 878 IN_PROC_BROWSER_TEST_F(InstantTest, DISABLED_DownloadOnEnter) { |
879 #else | 879 #else |
880 IN_PROC_BROWSER_TEST_F(InstantTest, DownloadOnEnter) { | 880 IN_PROC_BROWSER_TEST_F(InstantTest, DownloadOnEnter) { |
881 #endif // OS_LINUX | 881 #endif // OS_LINUX |
882 ASSERT_TRUE(test_server()->Start()); | 882 ASSERT_TRUE(test_server()->Start()); |
883 EnableInstant(); | 883 EnableInstant(); |
884 // Make sure the browser window is the front most window. | 884 // Make sure the browser window is the front most window. |
885 ASSERT_TRUE(ui_test_utils::BringBrowserWindowToFront(browser())); | 885 ASSERT_TRUE(ui_test_utils::BringBrowserWindowToFront(browser())); |
886 ASSERT_NO_FATAL_FAILURE(SetupInstantProvider("search.html")); | 886 ASSERT_NO_FATAL_FAILURE(SetupInstantProvider("search.html")); |
887 ASSERT_NO_FATAL_FAILURE(FindLocationBar()); | 887 ASSERT_NO_FATAL_FAILURE(FindLocationBar()); |
888 GURL url(test_server()->GetURL("files/instant/empty.html")); | 888 GURL url(test_server()->GetURL("files/instant/empty.html")); |
889 location_bar_->location_entry()->SetUserText(UTF8ToUTF16(url.spec())); | 889 location_bar_->location_entry()->SetUserText(UTF8ToUTF16(url.spec())); |
890 printf("0\n"); | 890 printf("0\n"); |
891 ASSERT_NO_FATAL_FAILURE(WaitForPreviewToNavigate(true)); | 891 ASSERT_NO_FATAL_FAILURE(WaitForPreviewToNavigate(true)); |
892 url = test_server()->GetURL("files/instant/download.zip"); | 892 url = test_server()->GetURL("files/instant/download.zip"); |
893 location_bar_->location_entry()->SetUserText(UTF8ToUTF16(url.spec())); | 893 location_bar_->location_entry()->SetUserText(UTF8ToUTF16(url.spec())); |
894 // Wait for the load to fail (because instant disables downloads). | 894 // Wait for the load to fail (because instant disables downloads). |
895 printf("1\n"); | 895 printf("1\n"); |
896 ui_test_utils::WaitForNotification( | 896 ui_test_utils::WaitForNotification( |
897 NotificationType::FAIL_PROVISIONAL_LOAD_WITH_ERROR); | 897 chrome::FAIL_PROVISIONAL_LOAD_WITH_ERROR); |
898 | 898 |
899 printf("2\n"); | 899 printf("2\n"); |
900 ui_test_utils::WindowedNotificationObserver download_observer( | 900 ui_test_utils::WindowedNotificationObserver download_observer( |
901 NotificationType::DOWNLOAD_INITIATED, | 901 chrome::DOWNLOAD_INITIATED, |
902 NotificationService::AllSources()); | 902 NotificationService::AllSources()); |
903 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_RETURN)); | 903 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_RETURN)); |
904 printf("3\n"); | 904 printf("3\n"); |
905 download_observer.Wait(); | 905 download_observer.Wait(); |
906 printf("4\n"); | 906 printf("4\n"); |
907 | 907 |
908 // And we should end up at about:blank. | 908 // And we should end up at about:blank. |
909 TabContents* contents = browser()->GetSelectedTabContents(); | 909 TabContents* contents = browser()->GetSelectedTabContents(); |
910 ASSERT_TRUE(contents); | 910 ASSERT_TRUE(contents); |
911 EXPECT_EQ("about:blank", | 911 EXPECT_EQ("about:blank", |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
946 ui_test_utils::NavigateToURL( | 946 ui_test_utils::NavigateToURL( |
947 browser(), | 947 browser(), |
948 GURL(test_server()->GetURL("files/instant/empty.html"))); | 948 GURL(test_server()->GetURL("files/instant/empty.html"))); |
949 bool result; | 949 bool result; |
950 ASSERT_TRUE(GetBoolFromJavascript( | 950 ASSERT_TRUE(GetBoolFromJavascript( |
951 browser()->GetSelectedTabContents(), | 951 browser()->GetSelectedTabContents(), |
952 "window.chrome.searchBox.value.length == 0", | 952 "window.chrome.searchBox.value.length == 0", |
953 &result)); | 953 &result)); |
954 EXPECT_TRUE(result); | 954 EXPECT_TRUE(result); |
955 } | 955 } |
OLD | NEW |