| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 "base/strings/utf_string_conversions.h" | 5 #include "base/strings/utf_string_conversions.h" |
| 6 #include "chrome/browser/ui/browser_finder.h" | 6 #include "chrome/browser/ui/browser_finder.h" |
| 7 #include "chrome/browser/ui/find_bar/find_bar.h" | 7 #include "chrome/browser/ui/find_bar/find_bar.h" |
| 8 #include "chrome/browser/ui/find_bar/find_bar_controller.h" | 8 #include "chrome/browser/ui/find_bar/find_bar_controller.h" |
| 9 #include "chrome/browser/ui/find_bar/find_tab_helper.h" | 9 #include "chrome/browser/ui/find_bar/find_tab_helper.h" |
| 10 #include "chrome/browser/ui/tabs/tab_strip_model.h" | 10 #include "chrome/browser/ui/tabs/tab_strip_model.h" |
| (...skipping 12 matching lines...) Expand all Loading... |
| 23 | 23 |
| 24 const char kEndState[] = "/find_in_page/end_state.html"; | 24 const char kEndState[] = "/find_in_page/end_state.html"; |
| 25 | 25 |
| 26 class FindInPageInteractiveTest : public InProcessBrowserTest { | 26 class FindInPageInteractiveTest : public InProcessBrowserTest { |
| 27 public: | 27 public: |
| 28 FindInPageInteractiveTest() { | 28 FindInPageInteractiveTest() { |
| 29 } | 29 } |
| 30 | 30 |
| 31 // Platform independent FindInPage that takes |const wchar_t*| | 31 // Platform independent FindInPage that takes |const wchar_t*| |
| 32 // as an input. | 32 // as an input. |
| 33 int FindInPageWchar(WebContents* web_contents, | 33 int FindInPageASCII(WebContents* web_contents, |
| 34 const wchar_t* search_str, | 34 const base::StringPiece& search_str, |
| 35 bool forward, | 35 bool forward, |
| 36 bool case_sensitive, | 36 bool case_sensitive, |
| 37 int* ordinal) { | 37 int* ordinal) { |
| 38 base::string16 search_str16(WideToUTF16(std::wstring(search_str))); | 38 base::string16 search_str16(ASCIIToUTF16(search_str)); |
| 39 Browser* browser = chrome::FindBrowserWithWebContents(web_contents); | 39 Browser* browser = chrome::FindBrowserWithWebContents(web_contents); |
| 40 browser->GetFindBarController()->find_bar()->SetFindTextAndSelectedRange( | 40 browser->GetFindBarController()->find_bar()->SetFindTextAndSelectedRange( |
| 41 search_str16, gfx::Range()); | 41 search_str16, gfx::Range()); |
| 42 return ui_test_utils::FindInPage( | 42 return ui_test_utils::FindInPage( |
| 43 web_contents, search_str16, forward, case_sensitive, ordinal, NULL); | 43 web_contents, search_str16, forward, case_sensitive, ordinal, NULL); |
| 44 } | 44 } |
| 45 }; | 45 }; |
| 46 | 46 |
| 47 } // namespace | 47 } // namespace |
| 48 | 48 |
| (...skipping 28 matching lines...) Expand all Loading... |
| 77 FindTabHelper* find_tab_helper = | 77 FindTabHelper* find_tab_helper = |
| 78 FindTabHelper::FromWebContents(web_contents); | 78 FindTabHelper::FromWebContents(web_contents); |
| 79 | 79 |
| 80 // Verify that nothing has focus. | 80 // Verify that nothing has focus. |
| 81 std::string result; | 81 std::string result; |
| 82 ASSERT_TRUE(FocusedOnPage(web_contents, &result)); | 82 ASSERT_TRUE(FocusedOnPage(web_contents, &result)); |
| 83 ASSERT_STREQ("{nothing focused}", result.c_str()); | 83 ASSERT_STREQ("{nothing focused}", result.c_str()); |
| 84 | 84 |
| 85 // Search for a text that exists within a link on the page. | 85 // Search for a text that exists within a link on the page. |
| 86 int ordinal = 0; | 86 int ordinal = 0; |
| 87 EXPECT_EQ(1, FindInPageWchar(web_contents, L"nk", | 87 EXPECT_EQ(1, FindInPageASCII(web_contents, "nk", |
| 88 true, false, &ordinal)); | 88 true, false, &ordinal)); |
| 89 EXPECT_EQ(1, ordinal); | 89 EXPECT_EQ(1, ordinal); |
| 90 | 90 |
| 91 // End the find session, which should set focus to the link. | 91 // End the find session, which should set focus to the link. |
| 92 find_tab_helper->StopFinding(FindBarController::kKeepSelectionOnPage); | 92 find_tab_helper->StopFinding(FindBarController::kKeepSelectionOnPage); |
| 93 | 93 |
| 94 // Verify that the link is focused. | 94 // Verify that the link is focused. |
| 95 ASSERT_TRUE(FocusedOnPage(web_contents, &result)); | 95 ASSERT_TRUE(FocusedOnPage(web_contents, &result)); |
| 96 EXPECT_STREQ("link1", result.c_str()); | 96 EXPECT_STREQ("link1", result.c_str()); |
| 97 | 97 |
| 98 // Search for a text that exists within a link on the page. | 98 // Search for a text that exists within a link on the page. |
| 99 EXPECT_EQ(1, FindInPageWchar(web_contents, L"Google", | 99 EXPECT_EQ(1, FindInPageASCII(web_contents, "Google", |
| 100 true, false, &ordinal)); | 100 true, false, &ordinal)); |
| 101 EXPECT_EQ(1, ordinal); | 101 EXPECT_EQ(1, ordinal); |
| 102 | 102 |
| 103 // Move the selection to link 1, after searching. | 103 // Move the selection to link 1, after searching. |
| 104 ASSERT_TRUE(content::ExecuteScriptAndExtractString( | 104 ASSERT_TRUE(content::ExecuteScriptAndExtractString( |
| 105 web_contents, | 105 web_contents, |
| 106 "window.domAutomationController.send(selectLink1());", | 106 "window.domAutomationController.send(selectLink1());", |
| 107 &result)); | 107 &result)); |
| 108 | 108 |
| 109 // End the find session. | 109 // End the find session. |
| 110 find_tab_helper->StopFinding(FindBarController::kKeepSelectionOnPage); | 110 find_tab_helper->StopFinding(FindBarController::kKeepSelectionOnPage); |
| 111 | 111 |
| 112 // Verify that link2 is not focused. | 112 // Verify that link2 is not focused. |
| 113 ASSERT_TRUE(FocusedOnPage(web_contents, &result)); | 113 ASSERT_TRUE(FocusedOnPage(web_contents, &result)); |
| 114 EXPECT_STREQ("", result.c_str()); | 114 EXPECT_STREQ("", result.c_str()); |
| 115 } | 115 } |
| OLD | NEW |