OLD | NEW |
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2009 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/message_loop.h" | 5 #include "base/message_loop.h" |
6 #include "chrome/browser/browser.h" | 6 #include "chrome/browser/browser.h" |
7 #include "chrome/browser/find_notification_details.h" | 7 #include "chrome/browser/find_notification_details.h" |
8 #include "chrome/browser/renderer_host/render_view_host.h" | 8 #include "chrome/browser/renderer_host/render_view_host.h" |
9 #include "chrome/browser/tab_contents/tab_contents.h" | 9 #include "chrome/browser/tab_contents/tab_contents.h" |
10 #include "chrome/browser/tab_contents/tab_contents_view.h" | 10 #include "chrome/browser/tab_contents/tab_contents_view.h" |
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
142 // Try again case sensitive, but this time with right case. | 142 // Try again case sensitive, but this time with right case. |
143 EXPECT_EQ(1, FindInPage(L"dog", FWD, CASE_SENSITIVE, false)); | 143 EXPECT_EQ(1, FindInPage(L"dog", FWD, CASE_SENSITIVE, false)); |
144 | 144 |
145 // Try non-Latin characters ('Hreggvidur' with 'eth' for 'd' in left frame). | 145 // Try non-Latin characters ('Hreggvidur' with 'eth' for 'd' in left frame). |
146 EXPECT_EQ(1, FindInPage(L"Hreggvi\u00F0ur", FWD, IGNORE_CASE, false)); | 146 EXPECT_EQ(1, FindInPage(L"Hreggvi\u00F0ur", FWD, IGNORE_CASE, false)); |
147 EXPECT_EQ(1, FindInPage(L"Hreggvi\u00F0ur", FWD, CASE_SENSITIVE, false)); | 147 EXPECT_EQ(1, FindInPage(L"Hreggvi\u00F0ur", FWD, CASE_SENSITIVE, false)); |
148 EXPECT_EQ(0, FindInPage(L"hreggvi\u00F0ur", FWD, CASE_SENSITIVE, false)); | 148 EXPECT_EQ(0, FindInPage(L"hreggvi\u00F0ur", FWD, CASE_SENSITIVE, false)); |
149 } | 149 } |
150 | 150 |
151 std::string FocusedOnPage(WebContents* web_contents) { | 151 std::string FocusedOnPage(WebContents* web_contents) { |
152 ui_test_utils::JavaScriptRunner js_runner( | 152 std::string result; |
| 153 ui_test_utils::ExecuteJavaScriptAndExtractString( |
153 web_contents, | 154 web_contents, |
154 L"", | 155 L"", |
155 L"window.domAutomationController.send(getFocusedElement());"); | 156 L"window.domAutomationController.send(getFocusedElement());", |
156 return js_runner.Run(); | 157 &result); |
| 158 return result; |
157 } | 159 } |
158 | 160 |
159 // This tests the FindInPage end-state, in other words: what is focused when you | 161 // This tests the FindInPage end-state, in other words: what is focused when you |
160 // close the Find box (ie. if you find within a link the link should be | 162 // close the Find box (ie. if you find within a link the link should be |
161 // focused). | 163 // focused). |
162 IN_PROC_BROWSER_TEST_F(FindInPageControllerTest, FindInPageEndState) { | 164 IN_PROC_BROWSER_TEST_F(FindInPageControllerTest, FindInPageEndState) { |
163 HTTPTestServer* server = StartHTTPServer(); | 165 HTTPTestServer* server = StartHTTPServer(); |
164 | 166 |
165 // First we navigate to our special focus tracking page. | 167 // First we navigate to our special focus tracking page. |
166 GURL url = server->TestServerPageW(kEndState); | 168 GURL url = server->TestServerPageW(kEndState); |
(...skipping 12 matching lines...) Expand all Loading... |
179 // End the find session, which should set focus to the link. | 181 // End the find session, which should set focus to the link. |
180 web_contents->StopFinding(false); | 182 web_contents->StopFinding(false); |
181 | 183 |
182 // Verify that the link is focused. | 184 // Verify that the link is focused. |
183 EXPECT_STREQ("link1", FocusedOnPage(web_contents).c_str()); | 185 EXPECT_STREQ("link1", FocusedOnPage(web_contents).c_str()); |
184 | 186 |
185 // Search for a text that exists within a link on the page. | 187 // Search for a text that exists within a link on the page. |
186 EXPECT_EQ(1, FindInPage(L"Google", FWD, IGNORE_CASE, false)); | 188 EXPECT_EQ(1, FindInPage(L"Google", FWD, IGNORE_CASE, false)); |
187 | 189 |
188 // Move the selection to link 1, after searching. | 190 // Move the selection to link 1, after searching. |
189 ui_test_utils::JavaScriptRunner js_runner( | 191 std::string result; |
| 192 ui_test_utils::ExecuteJavaScriptAndExtractString( |
190 web_contents, | 193 web_contents, |
191 L"", | 194 L"", |
192 L"window.domAutomationController.send(selectLink1());"); | 195 L"window.domAutomationController.send(selectLink1());", |
193 js_runner.Run(); | 196 &result); |
194 | 197 |
195 // End the find session. | 198 // End the find session. |
196 web_contents->StopFinding(false); | 199 web_contents->StopFinding(false); |
197 | 200 |
198 // Verify that link2 is not focused. | 201 // Verify that link2 is not focused. |
199 EXPECT_STREQ("", FocusedOnPage(web_contents).c_str()); | 202 EXPECT_STREQ("", FocusedOnPage(web_contents).c_str()); |
200 } | 203 } |
OLD | NEW |