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

Unified Diff: chrome/browser/instant/instant_extended_browsertest.cc

Issue 11644009: Added support for passing WindowOpenDisposition into BrowserInstantController::OpenURL() from the o… (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 10 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
Index: chrome/browser/instant/instant_extended_browsertest.cc
diff --git a/chrome/browser/instant/instant_extended_browsertest.cc b/chrome/browser/instant/instant_extended_browsertest.cc
index 803122a7f61512109e2f7d42ec0eb978108d13f0..a55ead4e9795cc390cc60b17efe33240f4857550 100644
--- a/chrome/browser/instant/instant_extended_browsertest.cc
+++ b/chrome/browser/instant/instant_extended_browsertest.cc
@@ -18,6 +18,9 @@
#include "content/public/browser/render_process_host.h"
#include "content/public/browser/web_contents.h"
+#include "content/public/browser/web_contents.h"
+#include "chrome/browser/ui/tabs/tab_strip_model.h"
sreeram 2013/02/20 22:53:32 Delete lines 20 and 21 (unnecessary blank line and
dougw 2013/02/20 23:35:11 Done.
+
class InstantExtendedTest : public InstantTestBase {
protected:
virtual void SetUpInProcessBrowserTestFixture() OVERRIDE {
@@ -73,7 +76,8 @@ IN_PROC_BROWSER_TEST_F(InstantExtendedTest, OmniboxFocusLoadsInstant) {
// Explicitly unfocus the omnibox.
EXPECT_TRUE(ui_test_utils::BringBrowserWindowToFront(browser()));
- ui_test_utils::ClickOnView(browser(), VIEW_ID_TAB_CONTAINER);
+ ui_test_utils::ClickOnView(browser(),
+ VIEW_ID_TAB_CONTAINER);
sreeram 2013/02/20 22:53:32 Revert this change.
dougw 2013/02/20 23:35:11 Done.
EXPECT_TRUE(ui_test_utils::IsViewFocused(browser(), VIEW_ID_TAB_CONTAINER));
EXPECT_FALSE(omnibox()->model()->has_focus());
@@ -126,6 +130,53 @@ IN_PROC_BROWSER_TEST_F(InstantExtendedTest, InputShowsOverlay) {
EXPECT_EQ(preview_tab, instant()->GetPreviewContents());
}
+// Test that middle clicking on a suggestion opens the result in a new tab.
+IN_PROC_BROWSER_TEST_F(
+ InstantExtendedTest, MiddleClickOnSuggestionOpensInNewTab) {
sreeram 2013/02/20 22:53:32 Reformat like so: ...(InstantExtendedTest, Mid
dougw 2013/02/20 23:35:11 Done.
+ ASSERT_NO_FATAL_FAILURE(SetupInstant());
+ FocusOmniboxAndWaitForInstantSupport();
+ EXPECT_TRUE(ui_test_utils::BringBrowserWindowToFront(browser()));
+
+ EXPECT_EQ(1, browser()->tab_strip_model()->count());
+
+ // Typing in the omnibox should show the overlay.
+ SetOmniboxTextAndWaitForInstantToShow("santa");
+ EXPECT_TRUE(instant()->model()->mode().is_search_suggestions());
+
+ // Create an event listener that opens the top suggestion in a new tab.
+ EXPECT_TRUE(ExecuteScript(
+ "var nativeSuggestions = getApiHandle().nativeSuggestions;"
+ "var rid = nativeSuggestions[0].rid;"
+ "document.body.addEventListener(\"click\", function() {"
+ "if (nativeSuggestions.length > 0) {"
sreeram 2013/02/20 22:53:32 Why are you testing for nativeSuggestions here? Yo
dougw 2013/02/20 23:35:11 Done. That's a cached copy of nativeSuggestions -
+ "chrome.embeddedSearch.navigateContentWindow("
+ "rid, 2);}});"
sreeram 2013/02/20 22:53:32 The indentation of this code block (within the str
dougw 2013/02/20 23:35:11 Done. On 2013/02/20 22:53:32, sreeram wrote:
+ ));
+
+ EXPECT_EQ(100, instant()->model()->height());
+ EXPECT_EQ(INSTANT_SIZE_PERCENT, instant()->model()->height_units());
+ EXPECT_TRUE(instant()->IsPreviewingSearchResults());
sreeram 2013/02/20 22:53:32 No need for these expectations. Perhaps just delet
dougw 2013/02/20 23:35:11 Done.
+
+ content::WindowedNotificationObserver observer(
+ chrome::NOTIFICATION_TAB_ADDED,
+ content::NotificationService::AllSources());
+
+ // Click to trigger the event listener.
+ ui_test_utils::ClickOnView(browser(), VIEW_ID_TAB_CONTAINER);
+
+ // Wait for the new tab to be added.
+ observer.Wait();
+
+ // Check that the new tab url is as expected.
sreeram 2013/02/20 22:53:32 url -> URL
dougw 2013/02/20 23:35:11 Done.
+ content::WebContents* newTabContents =
sreeram 2013/02/20 22:53:32 newTabContents -> new_tab_contents
dougw 2013/02/20 23:35:11 Done.
+ browser()->tab_strip_model()->GetWebContentsAt(1);
+ EXPECT_EQ(newTabContents->GetURL().possibly_invalid_spec(),
+ instant_url_.possibly_invalid_spec()+"q=santa");
sreeram 2013/02/20 22:53:32 I think you can just use ".spec()" here, since we
dougw 2013/02/20 23:35:11 Done.
+
+ // Check that there are now two tabs.
+ EXPECT_EQ(2, browser()->tab_strip_model()->count());
+}
+
// TODO(sreeram): Enable this test once @mathp's CL lands:
// https://codereview.chromium.org/12179025/
//

Powered by Google App Engine
This is Rietveld 408576698