Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(4292)

Unified Diff: chrome/browser/ui/search/instant_extended_interactive_uitest.cc

Issue 13963014: Local omnibox treats navsuggest suggestions as queries. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/ui/search/instant_controller.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/ui/search/instant_extended_interactive_uitest.cc
diff --git a/chrome/browser/ui/search/instant_extended_interactive_uitest.cc b/chrome/browser/ui/search/instant_extended_interactive_uitest.cc
index b9d31d61d21faf12ffdb4b7deacb3f37f547fab1..c2a411115f30546127de704704e312ae795d6e5f 100644
--- a/chrome/browser/ui/search/instant_extended_interactive_uitest.cc
+++ b/chrome/browser/ui/search/instant_extended_interactive_uitest.cc
@@ -7,6 +7,7 @@
#include "base/prefs/pref_service.h"
#include "base/string_util.h"
#include "base/stringprintf.h"
+#include "base/strings/string_number_conversions.h"
#include "base/utf_string_conversions.h"
#include "chrome/browser/autocomplete/autocomplete_controller.h"
#include "chrome/browser/autocomplete/autocomplete_match.h"
@@ -37,6 +38,7 @@
#include "chrome/browser/ui/tabs/tab_strip_model.h"
#include "chrome/browser/ui/webui/theme_source.h"
#include "chrome/common/chrome_notification_types.h"
+#include "chrome/common/chrome_switches.h"
#include "chrome/common/pref_names.h"
#include "chrome/common/thumbnail_score.h"
#include "chrome/common/url_constants.h"
@@ -831,6 +833,66 @@ IN_PROC_BROWSER_TEST_F(InstantExtendedTest, ProcessIsolation) {
active_tab->GetRenderProcessHost()->GetID()));
}
+// Test that a search query will not be displayed for navsuggest queries.
+IN_PROC_BROWSER_TEST_F(InstantExtendedTest,
+ SearchQueryNotDisplayedForNavsuggest) {
+ // Use only the local overlay.
+ CommandLine::ForCurrentProcess()->AppendSwitch(
+ switches::kEnableLocalOnlyInstantExtendedAPI);
+ ASSERT_TRUE(chrome::IsLocalOnlyInstantExtendedAPIEnabled());
+
+ ASSERT_NO_FATAL_FAILURE(SetupInstant(browser()));
+
+ // The second argument indicates to use only the local overlay and NTP.
+ instant()->SetInstantEnabled(true, true);
+
+ // Focus omnibox and confirm overlay isn't shown.
+ FocusOmniboxAndWaitForInstantOverlaySupport();
+
+ // Typing in the omnibox should show the overlay.
+ SetOmniboxText("face");
+
+ content::WebContents* overlay = instant()->GetOverlayContents();
+
+ // Add a navsuggest suggestion.
+ instant()->SetSuggestions(
+ overlay,
+ std::vector<InstantSuggestion>(
+ 1,
+ InstantSuggestion(ASCIIToUTF16("http://facemash.com/"),
+ INSTANT_COMPLETE_NOW,
+ INSTANT_SUGGESTION_URL,
+ ASCIIToUTF16("face"))));
+
+ while (!omnibox()->model()->autocomplete_controller()->done()) {
+ content::WindowedNotificationObserver autocomplete_observer(
+ chrome::NOTIFICATION_AUTOCOMPLETE_CONTROLLER_RESULT_READY,
+ content::NotificationService::AllSources());
+ autocomplete_observer.Wait();
+ }
+
+ EXPECT_TRUE(ExecuteScript(
+ "var sorted = chrome.embeddedSearch.searchBox.nativeSuggestions.sort("
+ "function (a,b) {"
+ "return b.rankingData.relevance - a.rankingData.relevance;"
+ "});"));
+
+ int suggestions_count = -1;
+ EXPECT_TRUE(GetIntFromJS(
+ overlay, "sorted.length", &suggestions_count));
+ ASSERT_GT(suggestions_count, 0);
+
+ std::string type;
+ EXPECT_TRUE(
+ GetStringFromJS(overlay, "sorted[0].type", &type));
+ ASSERT_EQ("navsuggest", type);
+
+ bool is_search;
+ EXPECT_TRUE(GetBoolFromJS(
+ overlay, "!!sorted[0].is_search", &is_search));
+ EXPECT_FALSE(is_search);
+}
+
// Verification of fix for BUG=176365. Ensure that each Instant WebContents in
// a tab uses a new BrowsingInstance, to avoid conflicts in the
// NavigationController.
« no previous file with comments | « chrome/browser/ui/search/instant_controller.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698