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

Side by Side Diff: chrome/browser/ui/search/instant_extended_browsertest.cc

Issue 12895007: Send onsubmit query down to the instant extended overlay page when a navigation is performed from t… (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: OnSubmit tweak + comment. 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « chrome/browser/ui/search/instant_controller.cc ('k') | chrome/renderer/searchbox/searchbox.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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/prefs/pref_service.h" 7 #include "base/prefs/pref_service.h"
8 #include "base/string_util.h" 8 #include "base/string_util.h"
9 #include "base/stringprintf.h" 9 #include "base/stringprintf.h"
10 #include "base/utf_string_conversions.h" 10 #include "base/utf_string_conversions.h"
(...skipping 430 matching lines...) Expand 10 before | Expand all | Expand 10 after
441 std::string result; 441 std::string result;
442 EXPECT_TRUE(GetStringFromJS(instant()->GetOverlayContents(), 442 EXPECT_TRUE(GetStringFromJS(instant()->GetOverlayContents(),
443 "window.chrome.searchBox.value", 443 "window.chrome.searchBox.value",
444 &result)); 444 &result));
445 EXPECT_EQ("hello", result); 445 EXPECT_EQ("hello", result);
446 446
447 EXPECT_TRUE(HasUserInputInProgress()); 447 EXPECT_TRUE(HasUserInputInProgress());
448 // TODO(beaudoin): Figure out why this fails. 448 // TODO(beaudoin): Figure out why this fails.
449 // EXPECT_FALSE(HasTemporaryText()); 449 // EXPECT_FALSE(HasTemporaryText());
450 450
451
452 // Commit the search by pressing Enter. 451 // Commit the search by pressing Enter.
453 browser()->window()->GetLocationBar()->AcceptInput(); 452 browser()->window()->GetLocationBar()->AcceptInput();
454 EXPECT_EQ("hello", GetOmniboxText()); 453 EXPECT_EQ("hello", GetOmniboxText());
455 } 454 }
456 455
456
457 // This test simulates a search provider using the InstantExtended API to
458 // navigate through the suggested results and back to the original user query.
459 IN_PROC_BROWSER_TEST_F(InstantExtendedTest,
460 NavigateToURLSuggestionHitEnterAndLookForSubmit) {
461 ASSERT_NO_FATAL_FAILURE(SetupInstant(browser()));
462 FocusOmniboxAndWaitForInstantExtendedSupport();
463
464 // Create an observer to wait for the instant tab to support Instant.
465 content::WindowedNotificationObserver observer(
466 chrome::NOTIFICATION_INSTANT_TAB_SUPPORT_DETERMINED,
467 content::NotificationService::AllSources());
468
469 // Do a search and commit it.
470 SetOmniboxTextAndWaitForOverlayToShow("hello k");
471 EXPECT_EQ(ASCIIToUTF16("hello k"), omnibox()->GetText());
472 browser()->window()->GetLocationBar()->AcceptInput();
473 observer.Wait();
474
475 SetOmniboxText("http");
476 EXPECT_EQ("http", GetOmniboxText());
477
478 SendDownArrow();
479 EXPECT_EQ("result 1", GetOmniboxText());
480 SendDownArrow();
481 EXPECT_EQ("result 2", GetOmniboxText());
482 SendDownArrow();
483 EXPECT_EQ("http://www.google.com", GetOmniboxText());
484
485 EXPECT_TRUE(HasUserInputInProgress());
486
487 int submit_count = 0;
488 GetIntFromJS(instant()->instant_tab()->contents(), "submitCount",
489 &submit_count);
490 // Note the commit count is initially 1 due to the AcceptInput() call above.
491 EXPECT_EQ(1, submit_count);
492
493 // Commit the search by pressing Enter.
494 browser()->window()->GetLocationBar()->AcceptInput();
495
496 // Make sure a submit message got sent.
497 GetIntFromJS(instant()->instant_tab()->contents(), "submitCount",
sreeram 2013/04/08 16:20:38 I'm mildly worried that this is brittle. If in the
robertshield 2013/04/09 14:49:29 Maybe. I could examine the IPCs being sent, by sti
sreeram 2013/04/09 16:39:41 Here are some alternatives: 1. Get a handle to th
498 &submit_count);
sreeram 2013/04/08 16:20:38 Use UpdateSearchState() and verify both the submit
499 EXPECT_EQ(2, submit_count);
500 }
501
457 // This test simulates a search provider using the InstantExtended API to 502 // This test simulates a search provider using the InstantExtended API to
458 // navigate through the suggested results and hitting escape to get back to the 503 // navigate through the suggested results and hitting escape to get back to the
459 // original user query. 504 // original user query.
460 IN_PROC_BROWSER_TEST_F(InstantExtendedTest, NavigateSuggestionsAndHitEscape) { 505 IN_PROC_BROWSER_TEST_F(InstantExtendedTest, NavigateSuggestionsAndHitEscape) {
461 ASSERT_NO_FATAL_FAILURE(SetupInstant(browser())); 506 ASSERT_NO_FATAL_FAILURE(SetupInstant(browser()));
462 FocusOmniboxAndWaitForInstantExtendedSupport(); 507 FocusOmniboxAndWaitForInstantExtendedSupport();
463 508
464 SetOmniboxTextAndWaitForOverlayToShow("hello"); 509 SetOmniboxTextAndWaitForOverlayToShow("hello");
465 EXPECT_EQ("hello", GetOmniboxText()); 510 EXPECT_EQ("hello", GetOmniboxText());
466 511
(...skipping 962 matching lines...) Expand 10 before | Expand all | Expand 10 after
1429 ASSERT_NO_FATAL_FAILURE(SetupInstant(browser())); 1474 ASSERT_NO_FATAL_FAILURE(SetupInstant(browser()));
1430 1475
1431 EXPECT_EQ(instant_url(), instant()->ntp_->contents()->GetURL()); 1476 EXPECT_EQ(instant_url(), instant()->ntp_->contents()->GetURL());
1432 1477
1433 // The second argument says to use only the local overlay. 1478 // The second argument says to use only the local overlay.
1434 instant()->SetInstantEnabled(false, true); 1479 instant()->SetInstantEnabled(false, true);
1435 1480
1436 EXPECT_EQ(GURL(chrome::kChromeSearchLocalNtpUrl), 1481 EXPECT_EQ(GURL(chrome::kChromeSearchLocalNtpUrl),
1437 instant()->ntp_->contents()->GetURL()); 1482 instant()->ntp_->contents()->GetURL());
1438 } 1483 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/search/instant_controller.cc ('k') | chrome/renderer/searchbox/searchbox.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698