OLD | NEW |
1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 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 "chrome/browser/content_settings/host_content_settings_map.h" | 5 #include "chrome/browser/content_settings/host_content_settings_map.h" |
6 #include "chrome/browser/history/history_service_factory.h" | 6 #include "chrome/browser/history/history_service_factory.h" |
7 #include "chrome/browser/instant/instant_loader.h" | 7 #include "chrome/browser/instant/instant_loader.h" |
8 #include "chrome/browser/instant/instant_model_observer.h" | 8 #include "chrome/browser/instant/instant_model_observer.h" |
9 #include "chrome/browser/prefs/pref_service.h" | 9 #include "chrome/browser/prefs/pref_service.h" |
10 #include "chrome/browser/search_engines/template_url_service.h" | 10 #include "chrome/browser/search_engines/template_url_service.h" |
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
95 | 95 |
96 void KillInstantRenderView() { | 96 void KillInstantRenderView() { |
97 base::KillProcess( | 97 base::KillProcess( |
98 instant()->GetPreviewContents()->GetRenderProcessHost()->GetHandle(), | 98 instant()->GetPreviewContents()->GetRenderProcessHost()->GetHandle(), |
99 content::RESULT_CODE_KILLED, | 99 content::RESULT_CODE_KILLED, |
100 false); | 100 false); |
101 } | 101 } |
102 | 102 |
103 void FocusOmnibox() { | 103 void FocusOmnibox() { |
104 // If the omnibox already has focus, just notify Instant. | 104 // If the omnibox already has focus, just notify Instant. |
105 if (omnibox()->model()->has_focus()) | 105 if (omnibox()->model()->has_focus()) { |
106 instant()->OmniboxGotFocus(); | 106 instant()->OmniboxFocusChanged(OMNIBOX_FOCUS_VISIBLE, |
107 else | 107 OMNIBOX_FOCUS_CHANGE_EXPLICIT, NULL); |
| 108 } |
| 109 else { |
108 browser()->window()->GetLocationBar()->FocusLocation(false); | 110 browser()->window()->GetLocationBar()->FocusLocation(false); |
| 111 } |
109 } | 112 } |
110 | 113 |
111 void FocusOmniboxAndWaitForInstantSupport() { | 114 void FocusOmniboxAndWaitForInstantSupport() { |
112 content::WindowedNotificationObserver observer( | 115 content::WindowedNotificationObserver observer( |
113 chrome::NOTIFICATION_INSTANT_SUPPORT_DETERMINED, | 116 chrome::NOTIFICATION_INSTANT_SUPPORT_DETERMINED, |
114 content::NotificationService::AllSources()); | 117 content::NotificationService::AllSources()); |
115 FocusOmnibox(); | 118 FocusOmnibox(); |
116 observer.Wait(); | 119 observer.Wait(); |
117 } | 120 } |
118 | 121 |
(...skipping 552 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
671 content::WebContents* preview_tab = instant()->GetPreviewContents(); | 674 content::WebContents* preview_tab = instant()->GetPreviewContents(); |
672 EXPECT_TRUE(preview_tab); | 675 EXPECT_TRUE(preview_tab); |
673 | 676 |
674 // Type a URL. This causes the preview to be hidden. | 677 // Type a URL. This causes the preview to be hidden. |
675 SetOmniboxText("http://hideous/zippleback"); | 678 SetOmniboxText("http://hideous/zippleback"); |
676 EXPECT_FALSE(instant()->IsPreviewingSearchResults()); | 679 EXPECT_FALSE(instant()->IsPreviewingSearchResults()); |
677 EXPECT_TRUE(instant()->model()->mode().is_default()); | 680 EXPECT_TRUE(instant()->model()->mode().is_default()); |
678 | 681 |
679 // Pretend the omnibox got focus. It already had focus, so we are just trying | 682 // Pretend the omnibox got focus. It already had focus, so we are just trying |
680 // to tickle a different code path. | 683 // to tickle a different code path. |
681 instant()->OmniboxGotFocus(); | 684 instant()->OmniboxFocusChanged(OMNIBOX_FOCUS_VISIBLE, |
| 685 OMNIBOX_FOCUS_CHANGE_EXPLICIT, NULL); |
682 | 686 |
683 // Commit the URL. As before, check that Instant wasn't committed. | 687 // Commit the URL. As before, check that Instant wasn't committed. |
684 browser()->window()->GetLocationBar()->AcceptInput(); | 688 browser()->window()->GetLocationBar()->AcceptInput(); |
685 content::WebContents* active_tab = | 689 content::WebContents* active_tab = |
686 browser()->tab_strip_model()->GetActiveWebContents(); | 690 browser()->tab_strip_model()->GetActiveWebContents(); |
687 EXPECT_NE(preview_tab, active_tab); | 691 EXPECT_NE(preview_tab, active_tab); |
688 EXPECT_EQ(ASCIIToUTF16("hideous/zippleback"), omnibox()->GetText()); | 692 EXPECT_EQ(ASCIIToUTF16("hideous/zippleback"), omnibox()->GetText()); |
689 | 693 |
690 // As before, Instant shouldn't have done anything. | 694 // As before, Instant shouldn't have done anything. |
691 EXPECT_EQ(preview_tab, instant()->GetPreviewContents()); | 695 EXPECT_EQ(preview_tab, instant()->GetPreviewContents()); |
(...skipping 198 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
890 ASSERT_NO_FATAL_FAILURE(SetupInstant()); | 894 ASSERT_NO_FATAL_FAILURE(SetupInstant()); |
891 FocusOmniboxAndWaitForInstantSupport(); | 895 FocusOmniboxAndWaitForInstantSupport(); |
892 | 896 |
893 // The preview is refreshed only after all three conditions above are met. | 897 // The preview is refreshed only after all three conditions above are met. |
894 SetOmniboxTextAndWaitForInstantToShow("query"); | 898 SetOmniboxTextAndWaitForInstantToShow("query"); |
895 instant()->stale_loader_timer_.Stop(); | 899 instant()->stale_loader_timer_.Stop(); |
896 instant()->OnStaleLoader(); | 900 instant()->OnStaleLoader(); |
897 EXPECT_TRUE(instant()->loader_->supports_instant()); | 901 EXPECT_TRUE(instant()->loader_->supports_instant()); |
898 instant()->HideLoader(); | 902 instant()->HideLoader(); |
899 EXPECT_TRUE(instant()->loader_->supports_instant()); | 903 EXPECT_TRUE(instant()->loader_->supports_instant()); |
900 instant()->OmniboxLostFocus(NULL); | 904 instant()->OmniboxFocusChanged(OMNIBOX_FOCUS_NONE, |
| 905 OMNIBOX_FOCUS_CHANGE_EXPLICIT, NULL); |
901 EXPECT_FALSE(instant()->loader_->supports_instant()); | 906 EXPECT_FALSE(instant()->loader_->supports_instant()); |
902 | 907 |
903 // Try with a different ordering. | 908 // Try with a different ordering. |
904 SetOmniboxTextAndWaitForInstantToShow("query"); | 909 SetOmniboxTextAndWaitForInstantToShow("query"); |
905 instant()->stale_loader_timer_.Stop(); | 910 instant()->stale_loader_timer_.Stop(); |
906 instant()->OnStaleLoader(); | 911 instant()->OnStaleLoader(); |
907 EXPECT_TRUE(instant()->loader_->supports_instant()); | 912 EXPECT_TRUE(instant()->loader_->supports_instant()); |
908 instant()->OmniboxLostFocus(NULL); | 913 instant()->OmniboxFocusChanged(OMNIBOX_FOCUS_NONE, |
| 914 OMNIBOX_FOCUS_CHANGE_EXPLICIT, NULL); |
909 // TODO(sreeram): Currently, OmniboxLostFocus() calls HideLoader(). When it | 915 // TODO(sreeram): Currently, OmniboxLostFocus() calls HideLoader(). When it |
910 // stops hiding the preview eventually, uncomment these two lines: | 916 // stops hiding the preview eventually, uncomment these two lines: |
911 // EXPECT_TRUE(instant()->loader_->supports_instant()); | 917 // EXPECT_TRUE(instant()->loader_->supports_instant()); |
912 // instant()->HideLoader(); | 918 // instant()->HideLoader(); |
913 EXPECT_FALSE(instant()->loader_->supports_instant()); | 919 EXPECT_FALSE(instant()->loader_->supports_instant()); |
914 } | 920 } |
915 | 921 |
916 // Test that suggestions are case insensitive. http://crbug.com/150728 | 922 // Test that suggestions are case insensitive. http://crbug.com/150728 |
917 IN_PROC_BROWSER_TEST_F(InstantTest, SuggestionsAreCaseInsensitive) { | 923 IN_PROC_BROWSER_TEST_F(InstantTest, SuggestionsAreCaseInsensitive) { |
918 ASSERT_NO_FATAL_FAILURE(SetupInstant()); | 924 ASSERT_NO_FATAL_FAILURE(SetupInstant()); |
(...skipping 159 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1078 SetOmniboxTextAndWaitForInstantToShow("q"); | 1084 SetOmniboxTextAndWaitForInstantToShow("q"); |
1079 EXPECT_EQ(ASCIIToUTF16("query suggestion"), omnibox()->GetText()); | 1085 EXPECT_EQ(ASCIIToUTF16("query suggestion"), omnibox()->GetText()); |
1080 | 1086 |
1081 // Kill the instant renderer and wait for instant support again. | 1087 // Kill the instant renderer and wait for instant support again. |
1082 KillInstantRenderView(); | 1088 KillInstantRenderView(); |
1083 FocusOmniboxAndWaitForInstantSupport(); | 1089 FocusOmniboxAndWaitForInstantSupport(); |
1084 | 1090 |
1085 SetOmniboxTextAndWaitForInstantToShow("qu"); | 1091 SetOmniboxTextAndWaitForInstantToShow("qu"); |
1086 EXPECT_EQ(ASCIIToUTF16("query suggestion"), omnibox()->GetText()); | 1092 EXPECT_EQ(ASCIIToUTF16("query suggestion"), omnibox()->GetText()); |
1087 } | 1093 } |
OLD | NEW |