OLD | NEW |
---|---|
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 <stddef.h> | 5 #include <stddef.h> |
6 | 6 |
7 #include "base/command_line.h" | 7 #include "base/command_line.h" |
8 #include "base/files/file_util.h" | 8 #include "base/files/file_util.h" |
9 #include "base/message_loop/message_loop.h" | 9 #include "base/message_loop/message_loop.h" |
10 #include "base/run_loop.h" | 10 #include "base/run_loop.h" |
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
121 base::string16 GetMatchCountText() { | 121 base::string16 GetMatchCountText() { |
122 return GetFindBarMatchCountTextForBrowser(browser()); | 122 return GetFindBarMatchCountTextForBrowser(browser()); |
123 } | 123 } |
124 | 124 |
125 int GetFindBarWidthForBrowser(Browser* browser) { | 125 int GetFindBarWidthForBrowser(Browser* browser) { |
126 FindBarTesting* find_bar = | 126 FindBarTesting* find_bar = |
127 browser->GetFindBarController()->find_bar()->GetFindBarTesting(); | 127 browser->GetFindBarController()->find_bar()->GetFindBarTesting(); |
128 return find_bar->GetWidth(); | 128 return find_bar->GetWidth(); |
129 } | 129 } |
130 | 130 |
131 size_t GetFindBarAudibleAlertsForBrowser(Browser* browser) { | |
132 FindBarTesting* find_bar = | |
133 browser->GetFindBarController()->find_bar()->GetFindBarTesting(); | |
134 return find_bar->GetAudibleAlertCount(); | |
135 } | |
136 | |
131 void EnsureFindBoxOpenForBrowser(Browser* browser) { | 137 void EnsureFindBoxOpenForBrowser(Browser* browser) { |
132 chrome::ShowFindBar(browser); | 138 chrome::ShowFindBar(browser); |
133 gfx::Point position; | 139 gfx::Point position; |
134 bool fully_visible = false; | 140 bool fully_visible = false; |
135 EXPECT_TRUE(GetFindBarWindowInfoForBrowser( | 141 EXPECT_TRUE(GetFindBarWindowInfoForBrowser( |
136 browser, &position, &fully_visible)); | 142 browser, &position, &fully_visible)); |
137 EXPECT_TRUE(fully_visible); | 143 EXPECT_TRUE(fully_visible); |
138 } | 144 } |
139 | 145 |
140 void EnsureFindBoxOpen() { | 146 void EnsureFindBoxOpen() { |
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
207 // This test loads a page with frames and starts FindInPage requests. | 213 // This test loads a page with frames and starts FindInPage requests. |
208 IN_PROC_BROWSER_TEST_F(FindInPageControllerTest, FindInPageFrames) { | 214 IN_PROC_BROWSER_TEST_F(FindInPageControllerTest, FindInPageFrames) { |
209 // First we navigate to our frames page. | 215 // First we navigate to our frames page. |
210 GURL url = GetURL(kFramePage); | 216 GURL url = GetURL(kFramePage); |
211 ui_test_utils::NavigateToURL(browser(), url); | 217 ui_test_utils::NavigateToURL(browser(), url); |
212 | 218 |
213 // Try incremental search (mimicking user typing in). | 219 // Try incremental search (mimicking user typing in). |
214 int ordinal = 0; | 220 int ordinal = 0; |
215 WebContents* web_contents = | 221 WebContents* web_contents = |
216 browser()->tab_strip_model()->GetActiveWebContents(); | 222 browser()->tab_strip_model()->GetActiveWebContents(); |
223 EXPECT_EQ(0u, GetFindBarAudibleAlertsForBrowser(browser())); | |
224 | |
217 EXPECT_EQ(18, FindInPageASCII(web_contents, "g", | 225 EXPECT_EQ(18, FindInPageASCII(web_contents, "g", |
218 kFwd, kIgnoreCase, &ordinal)); | 226 kFwd, kIgnoreCase, &ordinal)); |
219 EXPECT_EQ(1, ordinal); | 227 EXPECT_EQ(1, ordinal); |
220 EXPECT_EQ(11, FindInPageASCII(web_contents, "go", | 228 EXPECT_EQ(11, FindInPageASCII(web_contents, "go", |
221 kFwd, kIgnoreCase, &ordinal)); | 229 kFwd, kIgnoreCase, &ordinal)); |
222 EXPECT_EQ(1, ordinal); | 230 EXPECT_EQ(1, ordinal); |
223 EXPECT_EQ(4, FindInPageASCII(web_contents, "goo", | 231 EXPECT_EQ(4, FindInPageASCII(web_contents, "goo", |
224 kFwd, kIgnoreCase, &ordinal)); | 232 kFwd, kIgnoreCase, &ordinal)); |
225 EXPECT_EQ(1, ordinal); | 233 EXPECT_EQ(1, ordinal); |
226 EXPECT_EQ(3, FindInPageASCII(web_contents, "goog", | 234 EXPECT_EQ(3, FindInPageASCII(web_contents, "goog", |
227 kFwd, kIgnoreCase, &ordinal)); | 235 kFwd, kIgnoreCase, &ordinal)); |
228 EXPECT_EQ(1, ordinal); | 236 EXPECT_EQ(1, ordinal); |
229 EXPECT_EQ(2, FindInPageASCII(web_contents, "googl", | 237 EXPECT_EQ(2, FindInPageASCII(web_contents, "googl", |
230 kFwd, kIgnoreCase, &ordinal)); | 238 kFwd, kIgnoreCase, &ordinal)); |
231 EXPECT_EQ(1, ordinal); | 239 EXPECT_EQ(1, ordinal); |
232 EXPECT_EQ(1, FindInPageASCII(web_contents, "google", | 240 EXPECT_EQ(1, FindInPageASCII(web_contents, "google", |
233 kFwd, kIgnoreCase, &ordinal)); | 241 kFwd, kIgnoreCase, &ordinal)); |
234 EXPECT_EQ(1, ordinal); | 242 EXPECT_EQ(1, ordinal); |
243 EXPECT_EQ(0u, GetFindBarAudibleAlertsForBrowser(browser())); | |
244 | |
245 EXPECT_EQ( | |
246 0, FindInPageASCII(web_contents, "google!", kFwd, kIgnoreCase, &ordinal)); | |
247 EXPECT_EQ(0, ordinal); | |
248 EXPECT_EQ(1u, GetFindBarAudibleAlertsForBrowser(browser())); | |
249 | |
250 // Extend the search string one more. | |
251 EXPECT_EQ(0, FindInPageASCII(web_contents, "google!!", kFwd, kIgnoreCase, | |
252 &ordinal)); | |
253 EXPECT_EQ(0, ordinal); | |
254 EXPECT_EQ(2u, GetFindBarAudibleAlertsForBrowser(browser())); | |
255 | |
256 // "Backspace" one, make sure there's no audible alert while backspacing. | |
235 EXPECT_EQ(0, FindInPageASCII(web_contents, "google!", | 257 EXPECT_EQ(0, FindInPageASCII(web_contents, "google!", |
236 kFwd, kIgnoreCase, &ordinal)); | 258 kFwd, kIgnoreCase, &ordinal)); |
237 EXPECT_EQ(0, ordinal); | 259 EXPECT_EQ(0, ordinal); |
260 EXPECT_EQ(2u, GetFindBarAudibleAlertsForBrowser(browser())); | |
238 | 261 |
239 // Negative test (no matches should be found). | 262 // Negative test (no matches should be found). |
240 EXPECT_EQ(0, FindInPageASCII(web_contents, "Non-existing string", | 263 EXPECT_EQ(0, FindInPageASCII(web_contents, "Non-existing string", |
241 kFwd, kIgnoreCase, &ordinal)); | 264 kFwd, kIgnoreCase, &ordinal)); |
242 EXPECT_EQ(0, ordinal); | 265 EXPECT_EQ(0, ordinal); |
243 | 266 |
244 // 'horse' only exists in the three right frames. | 267 // 'horse' only exists in the three right frames. |
245 EXPECT_EQ(3, FindInPageASCII(web_contents, "horse", | 268 EXPECT_EQ(3, FindInPageASCII(web_contents, "horse", |
246 kFwd, kIgnoreCase, &ordinal)); | 269 kFwd, kIgnoreCase, &ordinal)); |
247 EXPECT_EQ(1, ordinal); | 270 EXPECT_EQ(1, ordinal); |
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
294 | 317 |
295 for (size_t i = 0; i < urls.size(); ++i) { | 318 for (size_t i = 0; i < urls.size(); ++i) { |
296 ui_test_utils::NavigateToURL(browser(), urls[i]); | 319 ui_test_utils::NavigateToURL(browser(), urls[i]); |
297 EXPECT_EQ(1, FindInPageASCII(web_contents, "cat", | 320 EXPECT_EQ(1, FindInPageASCII(web_contents, "cat", |
298 kFwd, kIgnoreCase, NULL)); | 321 kFwd, kIgnoreCase, NULL)); |
299 EXPECT_EQ(0, FindInPageASCII(web_contents, "bat", | 322 EXPECT_EQ(0, FindInPageASCII(web_contents, "bat", |
300 kFwd, kIgnoreCase, NULL)); | 323 kFwd, kIgnoreCase, NULL)); |
301 } | 324 } |
302 } | 325 } |
303 | 326 |
327 // This test removes a frame after a search comes up empty, then navigates to | |
328 // a different page and verifies this doesn't cause an extrenous dings. | |
sky
2017/05/04 04:16:36
an -> any
extrenous -> extraneous
Sigurður Ásgeirsson
2017/05/04 13:46:54
Done.
| |
329 IN_PROC_BROWSER_TEST_F(FindInPageControllerTest, NoAudibleAlertOnFrameChange) { | |
330 // First we navigate to our frames page. | |
331 GURL url = GetURL(kFramePage); | |
332 ui_test_utils::NavigateToURL(browser(), url); | |
333 | |
334 int ordinal = 0; | |
335 WebContents* web_contents = | |
336 browser()->tab_strip_model()->GetActiveWebContents(); | |
337 EXPECT_EQ(0u, GetFindBarAudibleAlertsForBrowser(browser())); | |
338 | |
339 // Search for a non-existant string. | |
340 EXPECT_EQ( | |
341 0, FindInPageASCII(web_contents, "google!", kFwd, kIgnoreCase, &ordinal)); | |
342 EXPECT_EQ(0, ordinal); | |
343 EXPECT_EQ(1u, GetFindBarAudibleAlertsForBrowser(browser())); | |
344 | |
345 // Remove the first frame of the page. | |
346 constexpr char kRemoveFrameScript[] = | |
347 "frame = document.getElementsByTagName(\"FRAME\")[0];\n" | |
348 "frame.parentElement.removeChild(frame);\n"; | |
349 ASSERT_TRUE(content::ExecuteScript(web_contents, kRemoveFrameScript)); | |
350 | |
351 ui_test_utils::NavigateToURL(browser(), GetURL("specialchar.html")); | |
352 | |
353 EXPECT_EQ(1u, GetFindBarAudibleAlertsForBrowser(browser())); | |
354 } | |
355 | |
304 // Verify search for text within special URLs such as chrome:history, | 356 // Verify search for text within special URLs such as chrome:history, |
305 // chrome://downloads, data directory | 357 // chrome://downloads, data directory |
306 #if defined(OS_MACOSX) || defined(OS_WIN) | 358 #if defined(OS_MACOSX) || defined(OS_WIN) |
307 // Disabled on Mac due to http://crbug.com/419987 | 359 // Disabled on Mac due to http://crbug.com/419987 |
308 // Disabled on Win due to http://crbug.com/661013 | 360 // Disabled on Win due to http://crbug.com/661013 |
309 #define MAYBE_SearchWithinSpecialURL \ | 361 #define MAYBE_SearchWithinSpecialURL \ |
310 DISABLED_SearchWithinSpecialURL | 362 DISABLED_SearchWithinSpecialURL |
311 #else | 363 #else |
312 #define MAYBE_SearchWithinSpecialURL \ | 364 #define MAYBE_SearchWithinSpecialURL \ |
313 SearchWithinSpecialURL | 365 SearchWithinSpecialURL |
(...skipping 1254 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1568 | 1620 |
1569 EXPECT_TRUE(chrome::ExecuteCommand(browser_incognito, IDC_FIND_NEXT)); | 1621 EXPECT_TRUE(chrome::ExecuteCommand(browser_incognito, IDC_FIND_NEXT)); |
1570 WebContents* web_contents_incognito = | 1622 WebContents* web_contents_incognito = |
1571 browser_incognito->tab_strip_model()->GetActiveWebContents(); | 1623 browser_incognito->tab_strip_model()->GetActiveWebContents(); |
1572 ui_test_utils::FindInPageNotificationObserver observer( | 1624 ui_test_utils::FindInPageNotificationObserver observer( |
1573 web_contents_incognito); | 1625 web_contents_incognito); |
1574 observer.Wait(); | 1626 observer.Wait(); |
1575 EXPECT_EQ(ASCIIToUTF16("bar"), | 1627 EXPECT_EQ(ASCIIToUTF16("bar"), |
1576 GetFindBarTextForBrowser(browser_incognito)); | 1628 GetFindBarTextForBrowser(browser_incognito)); |
1577 } | 1629 } |
OLD | NEW |