| Index: chrome/browser/ui/views/find_bar_host_interactive_uitest.cc
|
| diff --git a/chrome/browser/ui/views/find_bar_host_interactive_uitest.cc b/chrome/browser/ui/views/find_bar_host_interactive_uitest.cc
|
| deleted file mode 100644
|
| index 904fec606817c594ae58708904fb07bedd979a3f..0000000000000000000000000000000000000000
|
| --- a/chrome/browser/ui/views/find_bar_host_interactive_uitest.cc
|
| +++ /dev/null
|
| @@ -1,444 +0,0 @@
|
| -// Copyright (c) 2012 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#include "base/strings/string_util.h"
|
| -#include "base/strings/utf_string_conversions.h"
|
| -#include "chrome/browser/chrome_notification_types.h"
|
| -#include "chrome/browser/ui/browser.h"
|
| -#include "chrome/browser/ui/browser_commands.h"
|
| -#include "chrome/browser/ui/browser_tabstrip.h"
|
| -#include "chrome/browser/ui/find_bar/find_bar_controller.h"
|
| -#include "chrome/browser/ui/find_bar/find_notification_details.h"
|
| -#include "chrome/browser/ui/tabs/tab_strip_model.h"
|
| -#include "chrome/browser/ui/view_ids.h"
|
| -#include "chrome/browser/ui/views/find_bar_host.h"
|
| -#include "chrome/browser/ui/views/frame/browser_view.h"
|
| -#include "chrome/test/base/in_process_browser_test.h"
|
| -#include "chrome/test/base/interactive_test_utils.h"
|
| -#include "chrome/test/base/ui_test_utils.h"
|
| -#include "content/public/browser/notification_service.h"
|
| -#include "content/public/browser/web_contents.h"
|
| -#include "net/test/spawned_test_server/spawned_test_server.h"
|
| -#include "ui/base/clipboard/clipboard.h"
|
| -#include "ui/events/keycodes/keyboard_codes.h"
|
| -#include "ui/views/focus/focus_manager.h"
|
| -#include "ui/views/view.h"
|
| -
|
| -using base::ASCIIToUTF16;
|
| -using content::WebContents;
|
| -
|
| -namespace {
|
| -
|
| -static const char kSimplePage[] = "files/find_in_page/simple.html";
|
| -
|
| -class FindInPageTest : public InProcessBrowserTest {
|
| - public:
|
| - FindInPageTest() {
|
| - FindBarHost::disable_animations_during_testing_ = true;
|
| - }
|
| -
|
| - base::string16 GetFindBarText() {
|
| - FindBar* find_bar = browser()->GetFindBarController()->find_bar();
|
| - return find_bar->GetFindText();
|
| - }
|
| -
|
| - base::string16 GetFindBarSelectedText() {
|
| - FindBarTesting* find_bar =
|
| - browser()->GetFindBarController()->find_bar()->GetFindBarTesting();
|
| - return find_bar->GetFindSelectedText();
|
| - }
|
| -
|
| - private:
|
| - DISALLOW_COPY_AND_ASSIGN(FindInPageTest);
|
| -};
|
| -
|
| -} // namespace
|
| -
|
| -// Flaky because the test server fails to start? See: http://crbug.com/96594.
|
| -IN_PROC_BROWSER_TEST_F(FindInPageTest, CrashEscHandlers) {
|
| - ASSERT_TRUE(test_server()->Start());
|
| -
|
| - // First we navigate to our test page (tab A).
|
| - GURL url = test_server()->GetURL(kSimplePage);
|
| - ui_test_utils::NavigateToURL(browser(), url);
|
| -
|
| - chrome::Find(browser());
|
| -
|
| - // Open another tab (tab B).
|
| - chrome::AddSelectedTabWithURL(browser(), url, ui::PAGE_TRANSITION_TYPED);
|
| -
|
| - chrome::Find(browser());
|
| - EXPECT_TRUE(ui_test_utils::IsViewFocused(browser(),
|
| - VIEW_ID_FIND_IN_PAGE_TEXT_FIELD));
|
| -
|
| - // Select tab A.
|
| - browser()->tab_strip_model()->ActivateTabAt(0, true);
|
| -
|
| - // Close tab B.
|
| - browser()->tab_strip_model()->CloseWebContentsAt(1,
|
| - TabStripModel::CLOSE_NONE);
|
| -
|
| - // Click on the location bar so that Find box loses focus.
|
| - ASSERT_NO_FATAL_FAILURE(ui_test_utils::ClickOnView(browser(),
|
| - VIEW_ID_OMNIBOX));
|
| - // Check the location bar is focused.
|
| - EXPECT_TRUE(ui_test_utils::IsViewFocused(browser(), VIEW_ID_OMNIBOX));
|
| -
|
| - // This used to crash until bug 1303709 was fixed.
|
| - ASSERT_TRUE(ui_test_utils::SendKeyPressSync(
|
| - browser(), ui::VKEY_ESCAPE, false, false, false, false));
|
| -}
|
| -
|
| -#if defined(OS_LINUX) && !defined(OS_CHROMEOS) && defined(USE_AURA)
|
| -// TODO(erg): linux_aura bringup: http://crbug.com/163931
|
| -#define MAYBE_FocusRestore DISABLED_FocusRestore
|
| -#else
|
| -#define MAYBE_FocusRestore FocusRestore
|
| -#endif
|
| -
|
| -// Flaky because the test server fails to start? See: http://crbug.com/96594.
|
| -IN_PROC_BROWSER_TEST_F(FindInPageTest, MAYBE_FocusRestore) {
|
| - ASSERT_TRUE(test_server()->Start());
|
| -
|
| - GURL url = test_server()->GetURL("title1.html");
|
| - ui_test_utils::NavigateToURL(browser(), url);
|
| -
|
| - // Focus the location bar, open and close the find-in-page, focus should
|
| - // return to the location bar.
|
| - chrome::FocusLocationBar(browser());
|
| - EXPECT_TRUE(ui_test_utils::IsViewFocused(browser(), VIEW_ID_OMNIBOX));
|
| - // Ensure the creation of the find bar controller.
|
| - browser()->GetFindBarController()->Show();
|
| - EXPECT_TRUE(ui_test_utils::IsViewFocused(browser(),
|
| - VIEW_ID_FIND_IN_PAGE_TEXT_FIELD));
|
| - browser()->GetFindBarController()->EndFindSession(
|
| - FindBarController::kKeepSelectionOnPage,
|
| - FindBarController::kKeepResultsInFindBox);
|
| - EXPECT_TRUE(ui_test_utils::IsViewFocused(browser(), VIEW_ID_OMNIBOX));
|
| -
|
| - // Focus the location bar, find something on the page, close the find box,
|
| - // focus should go to the page.
|
| - chrome::FocusLocationBar(browser());
|
| - chrome::Find(browser());
|
| - EXPECT_TRUE(ui_test_utils::IsViewFocused(browser(),
|
| - VIEW_ID_FIND_IN_PAGE_TEXT_FIELD));
|
| - ui_test_utils::FindInPage(
|
| - browser()->tab_strip_model()->GetActiveWebContents(),
|
| - ASCIIToUTF16("a"), true, false, NULL, NULL);
|
| - browser()->GetFindBarController()->EndFindSession(
|
| - FindBarController::kKeepSelectionOnPage,
|
| - FindBarController::kKeepResultsInFindBox);
|
| - EXPECT_TRUE(ui_test_utils::IsViewFocused(browser(), VIEW_ID_TAB_CONTAINER));
|
| -
|
| - // Focus the location bar, open and close the find box, focus should return to
|
| - // the location bar (same as before, just checking that http://crbug.com/23599
|
| - // is fixed).
|
| - chrome::FocusLocationBar(browser());
|
| - EXPECT_TRUE(ui_test_utils::IsViewFocused(browser(), VIEW_ID_OMNIBOX));
|
| - browser()->GetFindBarController()->Show();
|
| - EXPECT_TRUE(ui_test_utils::IsViewFocused(browser(),
|
| - VIEW_ID_FIND_IN_PAGE_TEXT_FIELD));
|
| - browser()->GetFindBarController()->EndFindSession(
|
| - FindBarController::kKeepSelectionOnPage,
|
| - FindBarController::kKeepResultsInFindBox);
|
| - EXPECT_TRUE(ui_test_utils::IsViewFocused(browser(), VIEW_ID_OMNIBOX));
|
| -}
|
| -
|
| -
|
| -// TODO(phajdan.jr): Disabling due to possible timing issues on XP
|
| -// interactive_ui_tests.
|
| -// http://crbug.com/311363
|
| -IN_PROC_BROWSER_TEST_F(FindInPageTest, DISABLED_SelectionRestoreOnTabSwitch) {
|
| - ASSERT_TRUE(test_server()->Start());
|
| -
|
| - // Make sure Chrome is in the foreground, otherwise sending input
|
| - // won't do anything and the test will hang.
|
| - ASSERT_TRUE(ui_test_utils::BringBrowserWindowToFront(browser()));
|
| -
|
| - // First we navigate to any page in the current tab (tab A).
|
| - GURL url = test_server()->GetURL(kSimplePage);
|
| - ui_test_utils::NavigateToURL(browser(), url);
|
| -
|
| - // Show the Find bar.
|
| - browser()->GetFindBarController()->Show();
|
| -
|
| - // Search for "abc".
|
| - ASSERT_TRUE(ui_test_utils::SendKeyPressSync(
|
| - browser(), ui::VKEY_A, false, false, false, false));
|
| - ASSERT_TRUE(ui_test_utils::SendKeyPressSync(
|
| - browser(), ui::VKEY_B, false, false, false, false));
|
| - ASSERT_TRUE(ui_test_utils::SendKeyPressSync(
|
| - browser(), ui::VKEY_C, false, false, false, false));
|
| - EXPECT_EQ(ASCIIToUTF16("abc"), GetFindBarText());
|
| -
|
| - // Select "bc".
|
| - ASSERT_TRUE(ui_test_utils::SendKeyPressSync(
|
| - browser(), ui::VKEY_LEFT, false, true, false, false));
|
| - ASSERT_TRUE(ui_test_utils::SendKeyPressSync(
|
| - browser(), ui::VKEY_LEFT, false, true, false, false));
|
| - EXPECT_EQ(ASCIIToUTF16("bc"), GetFindBarSelectedText());
|
| -
|
| - // Open another tab (tab B).
|
| - content::WindowedNotificationObserver observer(
|
| - content::NOTIFICATION_LOAD_STOP,
|
| - content::NotificationService::AllSources());
|
| - chrome::AddSelectedTabWithURL(browser(), url, ui::PAGE_TRANSITION_TYPED);
|
| - observer.Wait();
|
| -
|
| - // Show the Find bar.
|
| - browser()->GetFindBarController()->Show();
|
| -
|
| - // Search for "def".
|
| - ASSERT_TRUE(ui_test_utils::SendKeyPressSync(
|
| - browser(), ui::VKEY_D, false, false, false, false));
|
| - ASSERT_TRUE(ui_test_utils::SendKeyPressSync(
|
| - browser(), ui::VKEY_E, false, false, false, false));
|
| - ASSERT_TRUE(ui_test_utils::SendKeyPressSync(
|
| - browser(), ui::VKEY_F, false, false, false, false));
|
| - EXPECT_EQ(ASCIIToUTF16("def"), GetFindBarText());
|
| -
|
| - // Select "de".
|
| - ASSERT_TRUE(ui_test_utils::SendKeyPressSync(
|
| - browser(), ui::VKEY_HOME, false, false, false, false));
|
| - ASSERT_TRUE(ui_test_utils::SendKeyPressSync(
|
| - browser(), ui::VKEY_RIGHT, false, true, false, false));
|
| - ASSERT_TRUE(ui_test_utils::SendKeyPressSync(
|
| - browser(), ui::VKEY_RIGHT, false, true, false, false));
|
| - EXPECT_EQ(ASCIIToUTF16("de"), GetFindBarSelectedText());
|
| -
|
| - // Select tab A. Find bar should select "bc".
|
| - browser()->tab_strip_model()->ActivateTabAt(0, true);
|
| - EXPECT_TRUE(ui_test_utils::IsViewFocused(browser(),
|
| - VIEW_ID_FIND_IN_PAGE_TEXT_FIELD));
|
| - EXPECT_EQ(ASCIIToUTF16("bc"), GetFindBarSelectedText());
|
| -
|
| - // Select tab B. Find bar should select "de".
|
| - browser()->tab_strip_model()->ActivateTabAt(1, true);
|
| - EXPECT_TRUE(ui_test_utils::IsViewFocused(browser(),
|
| - VIEW_ID_FIND_IN_PAGE_TEXT_FIELD));
|
| - EXPECT_EQ(ASCIIToUTF16("de"), GetFindBarSelectedText());
|
| -}
|
| -
|
| -#if defined(OS_LINUX) && !defined(OS_CHROMEOS) && defined(USE_AURA)
|
| -// TODO(erg): linux_aura bringup: http://crbug.com/163931
|
| -#define MAYBE_FocusRestoreOnTabSwitch DISABLED_FocusRestoreOnTabSwitch
|
| -#else
|
| -#define MAYBE_FocusRestoreOnTabSwitch FocusRestoreOnTabSwitch
|
| -#endif
|
| -
|
| -// Flaky because the test server fails to start? See: http://crbug.com/96594.
|
| -IN_PROC_BROWSER_TEST_F(FindInPageTest, MAYBE_FocusRestoreOnTabSwitch) {
|
| - ASSERT_TRUE(test_server()->Start());
|
| -
|
| - // First we navigate to our test page (tab A).
|
| - GURL url = test_server()->GetURL(kSimplePage);
|
| - ui_test_utils::NavigateToURL(browser(), url);
|
| -
|
| - chrome::Find(browser());
|
| - EXPECT_TRUE(ui_test_utils::IsViewFocused(browser(),
|
| - VIEW_ID_FIND_IN_PAGE_TEXT_FIELD));
|
| -
|
| - // Search for 'a'.
|
| - ui_test_utils::FindInPage(
|
| - browser()->tab_strip_model()->GetActiveWebContents(),
|
| - ASCIIToUTF16("a"), true, false, NULL, NULL);
|
| - EXPECT_EQ(ASCIIToUTF16("a"), GetFindBarSelectedText());
|
| -
|
| - // Open another tab (tab B).
|
| - content::WindowedNotificationObserver observer(
|
| - content::NOTIFICATION_LOAD_STOP,
|
| - content::NotificationService::AllSources());
|
| - chrome::AddSelectedTabWithURL(browser(), url, ui::PAGE_TRANSITION_TYPED);
|
| - observer.Wait();
|
| -
|
| - // Make sure Find box is open.
|
| - chrome::Find(browser());
|
| - EXPECT_TRUE(ui_test_utils::IsViewFocused(browser(),
|
| - VIEW_ID_FIND_IN_PAGE_TEXT_FIELD));
|
| -
|
| - // Search for 'b'.
|
| - ui_test_utils::FindInPage(
|
| - browser()->tab_strip_model()->GetActiveWebContents(),
|
| - ASCIIToUTF16("b"), true, false, NULL, NULL);
|
| - EXPECT_EQ(ASCIIToUTF16("b"), GetFindBarSelectedText());
|
| -
|
| - // Set focus away from the Find bar (to the Location bar).
|
| - chrome::FocusLocationBar(browser());
|
| - EXPECT_TRUE(ui_test_utils::IsViewFocused(browser(), VIEW_ID_OMNIBOX));
|
| -
|
| - // Select tab A. Find bar should get focus.
|
| - browser()->tab_strip_model()->ActivateTabAt(0, true);
|
| - EXPECT_TRUE(ui_test_utils::IsViewFocused(browser(),
|
| - VIEW_ID_FIND_IN_PAGE_TEXT_FIELD));
|
| - EXPECT_EQ(ASCIIToUTF16("a"), GetFindBarSelectedText());
|
| -
|
| - // Select tab B. Location bar should get focus.
|
| - browser()->tab_strip_model()->ActivateTabAt(1, true);
|
| - EXPECT_TRUE(ui_test_utils::IsViewFocused(browser(), VIEW_ID_OMNIBOX));
|
| -}
|
| -
|
| -// FindInPage on Mac doesn't use prepopulated values. Search there is global.
|
| -#if !defined(OS_MACOSX) && !defined(USE_AURA)
|
| -// Flaky because the test server fails to start? See: http://crbug.com/96594.
|
| -// This tests that whenever you clear values from the Find box and close it that
|
| -// it respects that and doesn't show you the last search, as reported in bug:
|
| -// http://crbug.com/40121. For Aura see bug http://crbug.com/292299.
|
| -IN_PROC_BROWSER_TEST_F(FindInPageTest, PrepopulateRespectBlank) {
|
| - ASSERT_TRUE(test_server()->Start());
|
| -
|
| - // Make sure Chrome is in the foreground, otherwise sending input
|
| - // won't do anything and the test will hang.
|
| - ASSERT_TRUE(ui_test_utils::BringBrowserWindowToFront(browser()));
|
| -
|
| - // First we navigate to any page.
|
| - GURL url = test_server()->GetURL(kSimplePage);
|
| - ui_test_utils::NavigateToURL(browser(), url);
|
| -
|
| - // Show the Find bar.
|
| - browser()->GetFindBarController()->Show();
|
| -
|
| - // Search for "a".
|
| - ASSERT_TRUE(ui_test_utils::SendKeyPressSync(
|
| - browser(), ui::VKEY_A, false, false, false, false));
|
| -
|
| - // We should find "a" here.
|
| - EXPECT_EQ(ASCIIToUTF16("a"), GetFindBarText());
|
| -
|
| - // Delete "a".
|
| - ASSERT_TRUE(ui_test_utils::SendKeyPressSync(
|
| - browser(), ui::VKEY_BACK, false, false, false, false));
|
| -
|
| - // Validate we have cleared the text.
|
| - EXPECT_EQ(base::string16(), GetFindBarText());
|
| -
|
| - // Close the Find box.
|
| - ASSERT_TRUE(ui_test_utils::SendKeyPressSync(
|
| - browser(), ui::VKEY_ESCAPE, false, false, false, false));
|
| -
|
| - // Show the Find bar.
|
| - browser()->GetFindBarController()->Show();
|
| -
|
| - // After the Find box has been reopened, it should not have been prepopulated
|
| - // with "a" again.
|
| - EXPECT_EQ(base::string16(), GetFindBarText());
|
| -
|
| - // Close the Find box.
|
| - ASSERT_TRUE(ui_test_utils::SendKeyPressSync(
|
| - browser(), ui::VKEY_ESCAPE, false, false, false, false));
|
| -
|
| - // Press F3 to trigger FindNext.
|
| - ASSERT_TRUE(ui_test_utils::SendKeyPressSync(
|
| - browser(), ui::VKEY_F3, false, false, false, false));
|
| -
|
| - // After the Find box has been reopened, it should still have no prepopulate
|
| - // value.
|
| - EXPECT_EQ(base::string16(), GetFindBarText());
|
| -}
|
| -#endif
|
| -
|
| -// Flaky on Win. http://crbug.com/92467
|
| -// Flaky on ChromeOS. http://crbug.com/118216
|
| -// Flaky on linux aura. http://crbug.com/163931
|
| -#if defined(TOOLKIT_VIEWS)
|
| -#define MAYBE_PasteWithoutTextChange DISABLED_PasteWithoutTextChange
|
| -#else
|
| -#define MAYBE_PasteWithoutTextChange PasteWithoutTextChange
|
| -#endif
|
| -
|
| -IN_PROC_BROWSER_TEST_F(FindInPageTest, MAYBE_PasteWithoutTextChange) {
|
| - ASSERT_TRUE(test_server()->Start());
|
| -
|
| - // Make sure Chrome is in the foreground, otherwise sending input
|
| - // won't do anything and the test will hang.
|
| - ASSERT_TRUE(ui_test_utils::BringBrowserWindowToFront(browser()));
|
| -
|
| - // First we navigate to any page.
|
| - GURL url = test_server()->GetURL(kSimplePage);
|
| - ui_test_utils::NavigateToURL(browser(), url);
|
| -
|
| - // Show the Find bar.
|
| - browser()->GetFindBarController()->Show();
|
| -
|
| - EXPECT_TRUE(ui_test_utils::IsViewFocused(browser(),
|
| - VIEW_ID_FIND_IN_PAGE_TEXT_FIELD));
|
| -
|
| - // Search for "a".
|
| - ASSERT_TRUE(ui_test_utils::SendKeyPressSync(
|
| - browser(), ui::VKEY_A, false, false, false, false));
|
| -
|
| - // We should find "a" here.
|
| - EXPECT_EQ(ASCIIToUTF16("a"), GetFindBarText());
|
| -
|
| - // Reload the page to clear the matching result.
|
| - chrome::Reload(browser(), CURRENT_TAB);
|
| -
|
| - // Focus the Find bar again to make sure the text is selected.
|
| - browser()->GetFindBarController()->Show();
|
| -
|
| - EXPECT_TRUE(ui_test_utils::IsViewFocused(browser(),
|
| - VIEW_ID_FIND_IN_PAGE_TEXT_FIELD));
|
| -
|
| - // "a" should be selected.
|
| - EXPECT_EQ(ASCIIToUTF16("a"), GetFindBarSelectedText());
|
| -
|
| - // Press Ctrl-C to copy the content.
|
| - ASSERT_TRUE(ui_test_utils::SendKeyPressSync(
|
| - browser(), ui::VKEY_C, true, false, false, false));
|
| -
|
| - base::string16 str;
|
| - ui::Clipboard::GetForCurrentThread()->ReadText(ui::CLIPBOARD_TYPE_COPY_PASTE,
|
| - &str);
|
| -
|
| - // Make sure the text is copied successfully.
|
| - EXPECT_EQ(ASCIIToUTF16("a"), str);
|
| -
|
| - // Press Ctrl-V to paste the content back, it should start finding even if the
|
| - // content is not changed.
|
| - content::Source<WebContents> notification_source(
|
| - browser()->tab_strip_model()->GetActiveWebContents());
|
| - ui_test_utils::WindowedNotificationObserverWithDetails
|
| - <FindNotificationDetails> observer(
|
| - chrome::NOTIFICATION_FIND_RESULT_AVAILABLE, notification_source);
|
| -
|
| - ASSERT_TRUE(ui_test_utils::SendKeyPressSync(
|
| - browser(), ui::VKEY_V, true, false, false, false));
|
| -
|
| - ASSERT_NO_FATAL_FAILURE(observer.Wait());
|
| - FindNotificationDetails details;
|
| - ASSERT_TRUE(observer.GetDetailsFor(notification_source.map_key(), &details));
|
| - EXPECT_TRUE(details.number_of_matches() > 0);
|
| -}
|
| -
|
| -#if defined(OS_WIN)
|
| -// TODO(phajdan.jr): Disabling due to possible timing issues on XP
|
| -// interactive_ui_tests.
|
| -// http://crbug.com/311363
|
| -IN_PROC_BROWSER_TEST_F(FindInPageTest, DISABLED_CtrlEnter) {
|
| - ui_test_utils::NavigateToURL(browser(),
|
| - GURL("data:text/html,This is some text with a "
|
| - "<a href=\"about:blank\">link</a>."));
|
| -
|
| - browser()->GetFindBarController()->Show();
|
| -
|
| - // Search for "link".
|
| - ASSERT_TRUE(ui_test_utils::SendKeyPressSync(
|
| - browser(), ui::VKEY_L, false, false, false, false));
|
| - ASSERT_TRUE(ui_test_utils::SendKeyPressSync(
|
| - browser(), ui::VKEY_I, false, false, false, false));
|
| - ASSERT_TRUE(ui_test_utils::SendKeyPressSync(
|
| - browser(), ui::VKEY_N, false, false, false, false));
|
| - ASSERT_TRUE(ui_test_utils::SendKeyPressSync(
|
| - browser(), ui::VKEY_K, false, false, false, false));
|
| - EXPECT_EQ(ASCIIToUTF16("link"), GetFindBarText());
|
| -
|
| - ui_test_utils::UrlLoadObserver observer(
|
| - GURL("about:blank"), content::NotificationService::AllSources());
|
| -
|
| - // Send Ctrl-Enter, should cause navigation to about:blank.
|
| - ASSERT_TRUE(ui_test_utils::SendKeyPressSync(
|
| - browser(), ui::VKEY_RETURN, true, false, false, false));
|
| -
|
| - observer.Wait();
|
| -}
|
| -#endif
|
|
|