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 <algorithm> | 5 #include <algorithm> |
6 #include <list> | 6 #include <list> |
7 #include <map> | 7 #include <map> |
8 | 8 |
9 #include "base/metrics/field_trial.h" | 9 #include "base/metrics/field_trial.h" |
10 #include "base/strings/utf_string_conversions.h" | 10 #include "base/strings/utf_string_conversions.h" |
(...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
147 } set_prefetch_for_test(true); | 147 } set_prefetch_for_test(true); |
148 | 148 |
149 content::WebContents* contents = | 149 content::WebContents* contents = |
150 browser()->tab_strip_model()->GetActiveWebContents(); | 150 browser()->tab_strip_model()->GetActiveWebContents(); |
151 NavigationController* controller = &contents->GetController(); | 151 NavigationController* controller = &contents->GetController(); |
152 LoginPromptBrowserTestObserver observer; | 152 LoginPromptBrowserTestObserver observer; |
153 | 153 |
154 observer.Register(content::Source<NavigationController>(controller)); | 154 observer.Register(content::Source<NavigationController>(controller)); |
155 | 155 |
156 WindowedLoadStopObserver load_stop_waiter(controller, 1); | 156 WindowedLoadStopObserver load_stop_waiter(controller, 1); |
157 browser()->OpenURL(OpenURLParams( | 157 browser()->OpenURL(OpenURLParams(test_page, Referrer(), |
158 test_page, Referrer(), CURRENT_TAB, ui::PAGE_TRANSITION_TYPED, | 158 WindowOpenDisposition::CURRENT_TAB, |
159 false)); | 159 ui::PAGE_TRANSITION_TYPED, false)); |
160 | 160 |
161 load_stop_waiter.Wait(); | 161 load_stop_waiter.Wait(); |
162 EXPECT_TRUE(observer.handlers().empty()); | 162 EXPECT_TRUE(observer.handlers().empty()); |
163 } | 163 } |
164 | 164 |
165 // Test that "Basic" HTTP authentication works. | 165 // Test that "Basic" HTTP authentication works. |
166 IN_PROC_BROWSER_TEST_F(LoginPromptBrowserTest, TestBasicAuth) { | 166 IN_PROC_BROWSER_TEST_F(LoginPromptBrowserTest, TestBasicAuth) { |
167 ASSERT_TRUE(embedded_test_server()->Start()); | 167 ASSERT_TRUE(embedded_test_server()->Start()); |
168 GURL test_page = embedded_test_server()->GetURL(kAuthBasicPage); | 168 GURL test_page = embedded_test_server()->GetURL(kAuthBasicPage); |
169 | 169 |
170 content::WebContents* contents = | 170 content::WebContents* contents = |
171 browser()->tab_strip_model()->GetActiveWebContents(); | 171 browser()->tab_strip_model()->GetActiveWebContents(); |
172 NavigationController* controller = &contents->GetController(); | 172 NavigationController* controller = &contents->GetController(); |
173 LoginPromptBrowserTestObserver observer; | 173 LoginPromptBrowserTestObserver observer; |
174 | 174 |
175 observer.Register(content::Source<NavigationController>(controller)); | 175 observer.Register(content::Source<NavigationController>(controller)); |
176 | 176 |
177 { | 177 { |
178 WindowedAuthNeededObserver auth_needed_waiter(controller); | 178 WindowedAuthNeededObserver auth_needed_waiter(controller); |
179 browser()->OpenURL(OpenURLParams( | 179 browser()->OpenURL(OpenURLParams(test_page, Referrer(), |
180 test_page, Referrer(), CURRENT_TAB, ui::PAGE_TRANSITION_TYPED, | 180 WindowOpenDisposition::CURRENT_TAB, |
181 false)); | 181 ui::PAGE_TRANSITION_TYPED, false)); |
182 auth_needed_waiter.Wait(); | 182 auth_needed_waiter.Wait(); |
183 } | 183 } |
184 | 184 |
185 ASSERT_FALSE(observer.handlers().empty()); | 185 ASSERT_FALSE(observer.handlers().empty()); |
186 { | 186 { |
187 WindowedAuthNeededObserver auth_needed_waiter(controller); | 187 WindowedAuthNeededObserver auth_needed_waiter(controller); |
188 WindowedAuthSuppliedObserver auth_supplied_waiter(controller); | 188 WindowedAuthSuppliedObserver auth_supplied_waiter(controller); |
189 LoginHandler* handler = *observer.handlers().begin(); | 189 LoginHandler* handler = *observer.handlers().begin(); |
190 | 190 |
191 ASSERT_TRUE(handler); | 191 ASSERT_TRUE(handler); |
(...skipping 27 matching lines...) Expand all Loading... |
219 | 219 |
220 content::WebContents* contents = | 220 content::WebContents* contents = |
221 browser()->tab_strip_model()->GetActiveWebContents(); | 221 browser()->tab_strip_model()->GetActiveWebContents(); |
222 NavigationController* controller = &contents->GetController(); | 222 NavigationController* controller = &contents->GetController(); |
223 LoginPromptBrowserTestObserver observer; | 223 LoginPromptBrowserTestObserver observer; |
224 | 224 |
225 observer.Register(content::Source<NavigationController>(controller)); | 225 observer.Register(content::Source<NavigationController>(controller)); |
226 | 226 |
227 { | 227 { |
228 WindowedAuthNeededObserver auth_needed_waiter(controller); | 228 WindowedAuthNeededObserver auth_needed_waiter(controller); |
229 browser()->OpenURL(OpenURLParams( | 229 browser()->OpenURL(OpenURLParams(test_page, Referrer(), |
230 test_page, Referrer(), CURRENT_TAB, ui::PAGE_TRANSITION_TYPED, | 230 WindowOpenDisposition::CURRENT_TAB, |
231 false)); | 231 ui::PAGE_TRANSITION_TYPED, false)); |
232 auth_needed_waiter.Wait(); | 232 auth_needed_waiter.Wait(); |
233 } | 233 } |
234 | 234 |
235 ASSERT_FALSE(observer.handlers().empty()); | 235 ASSERT_FALSE(observer.handlers().empty()); |
236 { | 236 { |
237 WindowedAuthNeededObserver auth_needed_waiter(controller); | 237 WindowedAuthNeededObserver auth_needed_waiter(controller); |
238 WindowedAuthSuppliedObserver auth_supplied_waiter(controller); | 238 WindowedAuthSuppliedObserver auth_supplied_waiter(controller); |
239 LoginHandler* handler = *observer.handlers().begin(); | 239 LoginHandler* handler = *observer.handlers().begin(); |
240 | 240 |
241 ASSERT_TRUE(handler); | 241 ASSERT_TRUE(handler); |
(...skipping 26 matching lines...) Expand all Loading... |
268 | 268 |
269 content::WebContents* contents1 = | 269 content::WebContents* contents1 = |
270 browser()->tab_strip_model()->GetActiveWebContents(); | 270 browser()->tab_strip_model()->GetActiveWebContents(); |
271 NavigationController* controller1 = &contents1->GetController(); | 271 NavigationController* controller1 = &contents1->GetController(); |
272 LoginPromptBrowserTestObserver observer; | 272 LoginPromptBrowserTestObserver observer; |
273 | 273 |
274 observer.Register(content::Source<NavigationController>(controller1)); | 274 observer.Register(content::Source<NavigationController>(controller1)); |
275 | 275 |
276 // Open a new tab. | 276 // Open a new tab. |
277 ui_test_utils::NavigateToURLWithDisposition( | 277 ui_test_utils::NavigateToURLWithDisposition( |
278 browser(), | 278 browser(), GURL("about:blank"), WindowOpenDisposition::NEW_FOREGROUND_TAB, |
279 GURL("about:blank"), | |
280 NEW_FOREGROUND_TAB, | |
281 ui_test_utils::BROWSER_TEST_WAIT_FOR_TAB); | 279 ui_test_utils::BROWSER_TEST_WAIT_FOR_TAB); |
282 | 280 |
283 content::WebContents* contents2 = | 281 content::WebContents* contents2 = |
284 browser()->tab_strip_model()->GetActiveWebContents(); | 282 browser()->tab_strip_model()->GetActiveWebContents(); |
285 ASSERT_NE(contents1, contents2); | 283 ASSERT_NE(contents1, contents2); |
286 NavigationController* controller2 = &contents2->GetController(); | 284 NavigationController* controller2 = &contents2->GetController(); |
287 observer.Register(content::Source<NavigationController>(controller2)); | 285 observer.Register(content::Source<NavigationController>(controller2)); |
288 | 286 |
289 { | 287 { |
290 WindowedAuthNeededObserver auth_needed_waiter(controller1); | 288 WindowedAuthNeededObserver auth_needed_waiter(controller1); |
291 contents1->OpenURL(OpenURLParams( | 289 contents1->OpenURL(OpenURLParams( |
292 embedded_test_server()->GetURL(kAuthBasicPage), Referrer(), | 290 embedded_test_server()->GetURL(kAuthBasicPage), Referrer(), |
293 CURRENT_TAB, ui::PAGE_TRANSITION_TYPED, false)); | 291 WindowOpenDisposition::CURRENT_TAB, ui::PAGE_TRANSITION_TYPED, false)); |
294 auth_needed_waiter.Wait(); | 292 auth_needed_waiter.Wait(); |
295 } | 293 } |
296 | 294 |
297 { | 295 { |
298 WindowedAuthNeededObserver auth_needed_waiter(controller2); | 296 WindowedAuthNeededObserver auth_needed_waiter(controller2); |
299 contents2->OpenURL(OpenURLParams( | 297 contents2->OpenURL(OpenURLParams( |
300 embedded_test_server()->GetURL(kAuthDigestPage), Referrer(), | 298 embedded_test_server()->GetURL(kAuthDigestPage), Referrer(), |
301 CURRENT_TAB, ui::PAGE_TRANSITION_TYPED, false)); | 299 WindowOpenDisposition::CURRENT_TAB, ui::PAGE_TRANSITION_TYPED, false)); |
302 auth_needed_waiter.Wait(); | 300 auth_needed_waiter.Wait(); |
303 } | 301 } |
304 | 302 |
305 ASSERT_EQ(2u, observer.handlers().size()); | 303 ASSERT_EQ(2u, observer.handlers().size()); |
306 | 304 |
307 LoginHandler* handler1 = *observer.handlers().begin(); | 305 LoginHandler* handler1 = *observer.handlers().begin(); |
308 LoginHandler* handler2 = *(++(observer.handlers().begin())); | 306 LoginHandler* handler2 = *(++(observer.handlers().begin())); |
309 | 307 |
310 base::string16 expected_title1 = ExpectedTitleFromAuth( | 308 base::string16 expected_title1 = ExpectedTitleFromAuth( |
311 base::UTF8ToUTF16(username_basic_), base::UTF8ToUTF16(password_)); | 309 base::UTF8ToUTF16(username_basic_), base::UTF8ToUTF16(password_)); |
(...skipping 17 matching lines...) Expand all Loading... |
329 const GURL kAuthURL = embedded_test_server()->GetURL(kAuthBasicPage); | 327 const GURL kAuthURL = embedded_test_server()->GetURL(kAuthBasicPage); |
330 | 328 |
331 NavigationController* controller = | 329 NavigationController* controller = |
332 &browser()->tab_strip_model()->GetActiveWebContents()->GetController(); | 330 &browser()->tab_strip_model()->GetActiveWebContents()->GetController(); |
333 | 331 |
334 LoginPromptBrowserTestObserver observer; | 332 LoginPromptBrowserTestObserver observer; |
335 observer.Register(content::Source<NavigationController>(controller)); | 333 observer.Register(content::Source<NavigationController>(controller)); |
336 | 334 |
337 WindowedLoadStopObserver load_stop_waiter(controller, 1); | 335 WindowedLoadStopObserver load_stop_waiter(controller, 1); |
338 WindowedAuthNeededObserver auth_needed_waiter(controller); | 336 WindowedAuthNeededObserver auth_needed_waiter(controller); |
339 browser()->OpenURL(OpenURLParams(kAuthURL, Referrer(), CURRENT_TAB, | 337 browser()->OpenURL(OpenURLParams(kAuthURL, Referrer(), |
| 338 WindowOpenDisposition::CURRENT_TAB, |
340 ui::PAGE_TRANSITION_TYPED, false)); | 339 ui::PAGE_TRANSITION_TYPED, false)); |
341 auth_needed_waiter.Wait(); | 340 auth_needed_waiter.Wait(); |
342 WindowedAuthCancelledObserver auth_cancelled_waiter(controller); | 341 WindowedAuthCancelledObserver auth_cancelled_waiter(controller); |
343 LoginHandler* handler = *observer.handlers().begin(); | 342 LoginHandler* handler = *observer.handlers().begin(); |
344 ASSERT_TRUE(handler); | 343 ASSERT_TRUE(handler); |
345 handler->CancelAuth(); | 344 handler->CancelAuth(); |
346 auth_cancelled_waiter.Wait(); | 345 auth_cancelled_waiter.Wait(); |
347 load_stop_waiter.Wait(); | 346 load_stop_waiter.Wait(); |
348 EXPECT_TRUE(observer.handlers().empty()); | 347 EXPECT_TRUE(observer.handlers().empty()); |
349 } | 348 } |
350 | 349 |
351 // Test login prompt cancellation on navigation to a new page. | 350 // Test login prompt cancellation on navigation to a new page. |
352 IN_PROC_BROWSER_TEST_F(LoginPromptBrowserTest, TestCancelAuth_OnNavigation) { | 351 IN_PROC_BROWSER_TEST_F(LoginPromptBrowserTest, TestCancelAuth_OnNavigation) { |
353 ASSERT_TRUE(embedded_test_server()->Start()); | 352 ASSERT_TRUE(embedded_test_server()->Start()); |
354 const GURL kAuthURL = embedded_test_server()->GetURL(kAuthBasicPage); | 353 const GURL kAuthURL = embedded_test_server()->GetURL(kAuthBasicPage); |
355 const GURL kNoAuthURL = embedded_test_server()->GetURL(kNoAuthPage1); | 354 const GURL kNoAuthURL = embedded_test_server()->GetURL(kNoAuthPage1); |
356 | 355 |
357 NavigationController* controller = | 356 NavigationController* controller = |
358 &browser()->tab_strip_model()->GetActiveWebContents()->GetController(); | 357 &browser()->tab_strip_model()->GetActiveWebContents()->GetController(); |
359 | 358 |
360 LoginPromptBrowserTestObserver observer; | 359 LoginPromptBrowserTestObserver observer; |
361 observer.Register(content::Source<NavigationController>(controller)); | 360 observer.Register(content::Source<NavigationController>(controller)); |
362 | 361 |
363 // One LOAD_STOP event for kAuthURL and one for kNoAuthURL. | 362 // One LOAD_STOP event for kAuthURL and one for kNoAuthURL. |
364 const int kLoadStopEvents = 2; | 363 const int kLoadStopEvents = 2; |
365 WindowedLoadStopObserver load_stop_waiter(controller, kLoadStopEvents); | 364 WindowedLoadStopObserver load_stop_waiter(controller, kLoadStopEvents); |
366 WindowedAuthNeededObserver auth_needed_waiter(controller); | 365 WindowedAuthNeededObserver auth_needed_waiter(controller); |
367 browser()->OpenURL(OpenURLParams(kAuthURL, Referrer(), CURRENT_TAB, | 366 browser()->OpenURL(OpenURLParams(kAuthURL, Referrer(), |
| 367 WindowOpenDisposition::CURRENT_TAB, |
368 ui::PAGE_TRANSITION_TYPED, false)); | 368 ui::PAGE_TRANSITION_TYPED, false)); |
369 auth_needed_waiter.Wait(); | 369 auth_needed_waiter.Wait(); |
370 WindowedAuthCancelledObserver auth_cancelled_waiter(controller); | 370 WindowedAuthCancelledObserver auth_cancelled_waiter(controller); |
371 // Navigating while auth is requested is the same as cancelling. | 371 // Navigating while auth is requested is the same as cancelling. |
372 browser()->OpenURL(OpenURLParams(kNoAuthURL, Referrer(), CURRENT_TAB, | 372 browser()->OpenURL(OpenURLParams(kNoAuthURL, Referrer(), |
| 373 WindowOpenDisposition::CURRENT_TAB, |
373 ui::PAGE_TRANSITION_TYPED, false)); | 374 ui::PAGE_TRANSITION_TYPED, false)); |
374 auth_cancelled_waiter.Wait(); | 375 auth_cancelled_waiter.Wait(); |
375 load_stop_waiter.Wait(); | 376 load_stop_waiter.Wait(); |
376 EXPECT_TRUE(observer.handlers().empty()); | 377 EXPECT_TRUE(observer.handlers().empty()); |
377 } | 378 } |
378 | 379 |
379 // Test login prompt cancellation on navigation to back. | 380 // Test login prompt cancellation on navigation to back. |
380 IN_PROC_BROWSER_TEST_F(LoginPromptBrowserTest, TestCancelAuth_OnBack) { | 381 IN_PROC_BROWSER_TEST_F(LoginPromptBrowserTest, TestCancelAuth_OnBack) { |
381 ASSERT_TRUE(embedded_test_server()->Start()); | 382 ASSERT_TRUE(embedded_test_server()->Start()); |
382 const GURL kAuthURL = embedded_test_server()->GetURL(kAuthBasicPage); | 383 const GURL kAuthURL = embedded_test_server()->GetURL(kAuthBasicPage); |
383 const GURL kNoAuthURL = embedded_test_server()->GetURL(kNoAuthPage1); | 384 const GURL kNoAuthURL = embedded_test_server()->GetURL(kNoAuthPage1); |
384 | 385 |
385 NavigationController* controller = | 386 NavigationController* controller = |
386 &browser()->tab_strip_model()->GetActiveWebContents()->GetController(); | 387 &browser()->tab_strip_model()->GetActiveWebContents()->GetController(); |
387 | 388 |
388 LoginPromptBrowserTestObserver observer; | 389 LoginPromptBrowserTestObserver observer; |
389 observer.Register(content::Source<NavigationController>(controller)); | 390 observer.Register(content::Source<NavigationController>(controller)); |
390 | 391 |
391 // First navigate to an unauthenticated page so we have something to | 392 // First navigate to an unauthenticated page so we have something to |
392 // go back to. | 393 // go back to. |
393 ui_test_utils::NavigateToURL(browser(), kNoAuthURL); | 394 ui_test_utils::NavigateToURL(browser(), kNoAuthURL); |
394 | 395 |
395 // One LOAD_STOP event for kAuthURL and one for kNoAuthURL. | 396 // One LOAD_STOP event for kAuthURL and one for kNoAuthURL. |
396 const int kLoadStopEvents = 2; | 397 const int kLoadStopEvents = 2; |
397 WindowedLoadStopObserver load_stop_waiter(controller, kLoadStopEvents); | 398 WindowedLoadStopObserver load_stop_waiter(controller, kLoadStopEvents); |
398 WindowedAuthNeededObserver auth_needed_waiter(controller); | 399 WindowedAuthNeededObserver auth_needed_waiter(controller); |
399 browser()->OpenURL(OpenURLParams(kAuthURL, Referrer(), CURRENT_TAB, | 400 browser()->OpenURL(OpenURLParams(kAuthURL, Referrer(), |
| 401 WindowOpenDisposition::CURRENT_TAB, |
400 ui::PAGE_TRANSITION_TYPED, false)); | 402 ui::PAGE_TRANSITION_TYPED, false)); |
401 auth_needed_waiter.Wait(); | 403 auth_needed_waiter.Wait(); |
402 WindowedAuthCancelledObserver auth_cancelled_waiter(controller); | 404 WindowedAuthCancelledObserver auth_cancelled_waiter(controller); |
403 // Navigating back while auth is requested is the same as cancelling. | 405 // Navigating back while auth is requested is the same as cancelling. |
404 ASSERT_TRUE(controller->CanGoBack()); | 406 ASSERT_TRUE(controller->CanGoBack()); |
405 controller->GoBack(); | 407 controller->GoBack(); |
406 auth_cancelled_waiter.Wait(); | 408 auth_cancelled_waiter.Wait(); |
407 load_stop_waiter.Wait(); | 409 load_stop_waiter.Wait(); |
408 EXPECT_TRUE(observer.handlers().empty()); | 410 EXPECT_TRUE(observer.handlers().empty()); |
409 } | 411 } |
(...skipping 19 matching lines...) Expand all Loading... |
429 WindowedLoadStopObserver load_stop_waiter(controller, 1); | 431 WindowedLoadStopObserver load_stop_waiter(controller, 1); |
430 ASSERT_TRUE(controller->CanGoBack()); | 432 ASSERT_TRUE(controller->CanGoBack()); |
431 controller->GoBack(); | 433 controller->GoBack(); |
432 load_stop_waiter.Wait(); | 434 load_stop_waiter.Wait(); |
433 } | 435 } |
434 | 436 |
435 // One LOAD_STOP event for kAuthURL and one for kNoAuthURL. | 437 // One LOAD_STOP event for kAuthURL and one for kNoAuthURL. |
436 const int kLoadStopEvents = 2; | 438 const int kLoadStopEvents = 2; |
437 WindowedLoadStopObserver load_stop_waiter(controller, kLoadStopEvents); | 439 WindowedLoadStopObserver load_stop_waiter(controller, kLoadStopEvents); |
438 WindowedAuthNeededObserver auth_needed_waiter(controller); | 440 WindowedAuthNeededObserver auth_needed_waiter(controller); |
439 browser()->OpenURL(OpenURLParams(kAuthURL, Referrer(), CURRENT_TAB, | 441 browser()->OpenURL(OpenURLParams(kAuthURL, Referrer(), |
| 442 WindowOpenDisposition::CURRENT_TAB, |
440 ui::PAGE_TRANSITION_TYPED, false)); | 443 ui::PAGE_TRANSITION_TYPED, false)); |
441 auth_needed_waiter.Wait(); | 444 auth_needed_waiter.Wait(); |
442 WindowedAuthCancelledObserver auth_cancelled_waiter(controller); | 445 WindowedAuthCancelledObserver auth_cancelled_waiter(controller); |
443 ASSERT_TRUE(controller->CanGoForward()); | 446 ASSERT_TRUE(controller->CanGoForward()); |
444 controller->GoForward(); | 447 controller->GoForward(); |
445 auth_cancelled_waiter.Wait(); | 448 auth_cancelled_waiter.Wait(); |
446 load_stop_waiter.Wait(); | 449 load_stop_waiter.Wait(); |
447 EXPECT_TRUE(observer.handlers().empty()); | 450 EXPECT_TRUE(observer.handlers().empty()); |
448 } | 451 } |
449 | 452 |
(...skipping 10 matching lines...) Expand all Loading... |
460 browser()->tab_strip_model()->GetActiveWebContents(); | 463 browser()->tab_strip_model()->GetActiveWebContents(); |
461 NavigationController* controller = &contents->GetController(); | 464 NavigationController* controller = &contents->GetController(); |
462 LoginPromptBrowserTestObserver observer; | 465 LoginPromptBrowserTestObserver observer; |
463 | 466 |
464 observer.Register(content::Source<NavigationController>(controller)); | 467 observer.Register(content::Source<NavigationController>(controller)); |
465 | 468 |
466 WindowedLoadStopObserver load_stop_waiter(controller, 1); | 469 WindowedLoadStopObserver load_stop_waiter(controller, 1); |
467 | 470 |
468 { | 471 { |
469 WindowedAuthNeededObserver auth_needed_waiter(controller); | 472 WindowedAuthNeededObserver auth_needed_waiter(controller); |
470 browser()->OpenURL(OpenURLParams( | 473 browser()->OpenURL(OpenURLParams(test_page, Referrer(), |
471 test_page, Referrer(), CURRENT_TAB, ui::PAGE_TRANSITION_TYPED, | 474 WindowOpenDisposition::CURRENT_TAB, |
472 false)); | 475 ui::PAGE_TRANSITION_TYPED, false)); |
473 auth_needed_waiter.Wait(); | 476 auth_needed_waiter.Wait(); |
474 } | 477 } |
475 | 478 |
476 int n_handlers = 0; | 479 int n_handlers = 0; |
477 | 480 |
478 while (n_handlers < kMultiRealmTestRealmCount) { | 481 while (n_handlers < kMultiRealmTestRealmCount) { |
479 WindowedAuthNeededObserver auth_needed_waiter(controller); | 482 WindowedAuthNeededObserver auth_needed_waiter(controller); |
480 | 483 |
481 while (!observer.handlers().empty()) { | 484 while (!observer.handlers().empty()) { |
482 WindowedAuthCancelledObserver auth_cancelled_waiter(controller); | 485 WindowedAuthCancelledObserver auth_cancelled_waiter(controller); |
(...skipping 29 matching lines...) Expand all Loading... |
512 LoginPromptBrowserTestObserver observer; | 515 LoginPromptBrowserTestObserver observer; |
513 | 516 |
514 observer.Register(content::Source<NavigationController>(controller)); | 517 observer.Register(content::Source<NavigationController>(controller)); |
515 | 518 |
516 WindowedLoadStopObserver load_stop_waiter(controller, 1); | 519 WindowedLoadStopObserver load_stop_waiter(controller, 1); |
517 int n_handlers = 0; | 520 int n_handlers = 0; |
518 | 521 |
519 { | 522 { |
520 WindowedAuthNeededObserver auth_needed_waiter(controller); | 523 WindowedAuthNeededObserver auth_needed_waiter(controller); |
521 | 524 |
522 browser()->OpenURL(OpenURLParams( | 525 browser()->OpenURL(OpenURLParams(test_page, Referrer(), |
523 test_page, Referrer(), CURRENT_TAB, ui::PAGE_TRANSITION_TYPED, | 526 WindowOpenDisposition::CURRENT_TAB, |
524 false)); | 527 ui::PAGE_TRANSITION_TYPED, false)); |
525 auth_needed_waiter.Wait(); | 528 auth_needed_waiter.Wait(); |
526 } | 529 } |
527 | 530 |
528 while (n_handlers < kMultiRealmTestRealmCount) { | 531 while (n_handlers < kMultiRealmTestRealmCount) { |
529 WindowedAuthNeededObserver auth_needed_waiter(controller); | 532 WindowedAuthNeededObserver auth_needed_waiter(controller); |
530 | 533 |
531 while (!observer.handlers().empty()) { | 534 while (!observer.handlers().empty()) { |
532 WindowedAuthSuppliedObserver auth_supplied_waiter(controller); | 535 WindowedAuthSuppliedObserver auth_supplied_waiter(controller); |
533 LoginHandler* handler = *observer.handlers().begin(); | 536 LoginHandler* handler = *observer.handlers().begin(); |
534 | 537 |
(...skipping 23 matching lines...) Expand all Loading... |
558 | 561 |
559 content::WebContents* contents = | 562 content::WebContents* contents = |
560 browser()->tab_strip_model()->GetActiveWebContents(); | 563 browser()->tab_strip_model()->GetActiveWebContents(); |
561 NavigationController* controller = &contents->GetController(); | 564 NavigationController* controller = &contents->GetController(); |
562 LoginPromptBrowserTestObserver observer; | 565 LoginPromptBrowserTestObserver observer; |
563 | 566 |
564 observer.Register(content::Source<NavigationController>(controller)); | 567 observer.Register(content::Source<NavigationController>(controller)); |
565 | 568 |
566 { | 569 { |
567 WindowedAuthNeededObserver auth_needed_waiter(controller); | 570 WindowedAuthNeededObserver auth_needed_waiter(controller); |
568 browser()->OpenURL(OpenURLParams( | 571 browser()->OpenURL(OpenURLParams(test_page, Referrer(), |
569 test_page, Referrer(), CURRENT_TAB, ui::PAGE_TRANSITION_TYPED, | 572 WindowOpenDisposition::CURRENT_TAB, |
570 false)); | 573 ui::PAGE_TRANSITION_TYPED, false)); |
571 auth_needed_waiter.Wait(); | 574 auth_needed_waiter.Wait(); |
572 } | 575 } |
573 | 576 |
574 EXPECT_FALSE(observer.handlers().empty()); | 577 EXPECT_FALSE(observer.handlers().empty()); |
575 | 578 |
576 if (!observer.handlers().empty()) { | 579 if (!observer.handlers().empty()) { |
577 WindowedAuthNeededObserver auth_needed_waiter(controller); | 580 WindowedAuthNeededObserver auth_needed_waiter(controller); |
578 WindowedAuthSuppliedObserver auth_supplied_waiter(controller); | 581 WindowedAuthSuppliedObserver auth_supplied_waiter(controller); |
579 LoginHandler* handler = *observer.handlers().begin(); | 582 LoginHandler* handler = *observer.handlers().begin(); |
580 | 583 |
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
630 NavigationController* controller = &contents->GetController(); | 633 NavigationController* controller = &contents->GetController(); |
631 LoginPromptBrowserTestObserver observer; | 634 LoginPromptBrowserTestObserver observer; |
632 | 635 |
633 observer.Register(content::Source<NavigationController>(controller)); | 636 observer.Register(content::Source<NavigationController>(controller)); |
634 | 637 |
635 // First load a page that has a favicon that requires | 638 // First load a page that has a favicon that requires |
636 // authentication. There should be no login prompt. | 639 // authentication. There should be no login prompt. |
637 { | 640 { |
638 GURL test_page = embedded_test_server()->GetURL(kFaviconTestPage); | 641 GURL test_page = embedded_test_server()->GetURL(kFaviconTestPage); |
639 WindowedLoadStopObserver load_stop_waiter(controller, 1); | 642 WindowedLoadStopObserver load_stop_waiter(controller, 1); |
640 browser()->OpenURL(OpenURLParams( | 643 browser()->OpenURL(OpenURLParams(test_page, Referrer(), |
641 test_page, Referrer(), CURRENT_TAB, ui::PAGE_TRANSITION_TYPED, | 644 WindowOpenDisposition::CURRENT_TAB, |
642 false)); | 645 ui::PAGE_TRANSITION_TYPED, false)); |
643 load_stop_waiter.Wait(); | 646 load_stop_waiter.Wait(); |
644 } | 647 } |
645 | 648 |
646 // Now request the same favicon, but directly as the document. | 649 // Now request the same favicon, but directly as the document. |
647 // There should be one login prompt. | 650 // There should be one login prompt. |
648 { | 651 { |
649 GURL test_page = embedded_test_server()->GetURL(kFaviconResource); | 652 GURL test_page = embedded_test_server()->GetURL(kFaviconResource); |
650 WindowedLoadStopObserver load_stop_waiter(controller, 1); | 653 WindowedLoadStopObserver load_stop_waiter(controller, 1); |
651 WindowedAuthNeededObserver auth_needed_waiter(controller); | 654 WindowedAuthNeededObserver auth_needed_waiter(controller); |
652 browser()->OpenURL(OpenURLParams( | 655 browser()->OpenURL(OpenURLParams(test_page, Referrer(), |
653 test_page, Referrer(), CURRENT_TAB, ui::PAGE_TRANSITION_TYPED, | 656 WindowOpenDisposition::CURRENT_TAB, |
654 false)); | 657 ui::PAGE_TRANSITION_TYPED, false)); |
655 auth_needed_waiter.Wait(); | 658 auth_needed_waiter.Wait(); |
656 ASSERT_EQ(1u, observer.handlers().size()); | 659 ASSERT_EQ(1u, observer.handlers().size()); |
657 | 660 |
658 while (!observer.handlers().empty()) { | 661 while (!observer.handlers().empty()) { |
659 WindowedAuthCancelledObserver auth_cancelled_waiter(controller); | 662 WindowedAuthCancelledObserver auth_cancelled_waiter(controller); |
660 LoginHandler* handler = *observer.handlers().begin(); | 663 LoginHandler* handler = *observer.handlers().begin(); |
661 | 664 |
662 ASSERT_TRUE(handler); | 665 ASSERT_TRUE(handler); |
663 handler->CancelAuth(); | 666 handler->CancelAuth(); |
664 auth_cancelled_waiter.Wait(); | 667 auth_cancelled_waiter.Wait(); |
(...skipping 28 matching lines...) Expand all Loading... |
693 GURL test_page = embedded_test_server()->GetURL(kTestPage); | 696 GURL test_page = embedded_test_server()->GetURL(kTestPage); |
694 ASSERT_EQ("127.0.0.1", test_page.host()); | 697 ASSERT_EQ("127.0.0.1", test_page.host()); |
695 | 698 |
696 // Change the host from 127.0.0.1 to www.a.com so that when the | 699 // Change the host from 127.0.0.1 to www.a.com so that when the |
697 // page tries to load from b, it will be cross-origin. | 700 // page tries to load from b, it will be cross-origin. |
698 GURL::Replacements replacements; | 701 GURL::Replacements replacements; |
699 replacements.SetHostStr("www.a.com"); | 702 replacements.SetHostStr("www.a.com"); |
700 test_page = test_page.ReplaceComponents(replacements); | 703 test_page = test_page.ReplaceComponents(replacements); |
701 | 704 |
702 WindowedLoadStopObserver load_stop_waiter(controller, 1); | 705 WindowedLoadStopObserver load_stop_waiter(controller, 1); |
703 browser()->OpenURL(OpenURLParams( | 706 browser()->OpenURL(OpenURLParams(test_page, Referrer(), |
704 test_page, Referrer(), CURRENT_TAB, ui::PAGE_TRANSITION_TYPED, | 707 WindowOpenDisposition::CURRENT_TAB, |
705 false)); | 708 ui::PAGE_TRANSITION_TYPED, false)); |
706 load_stop_waiter.Wait(); | 709 load_stop_waiter.Wait(); |
707 } | 710 } |
708 | 711 |
709 EXPECT_EQ(0, observer.auth_needed_count()); | 712 EXPECT_EQ(0, observer.auth_needed_count()); |
710 | 713 |
711 // Now request the same page, but from the same origin. | 714 // Now request the same page, but from the same origin. |
712 // There should be one login prompt. | 715 // There should be one login prompt. |
713 { | 716 { |
714 GURL test_page = embedded_test_server()->GetURL(kTestPage); | 717 GURL test_page = embedded_test_server()->GetURL(kTestPage); |
715 ASSERT_EQ("127.0.0.1", test_page.host()); | 718 ASSERT_EQ("127.0.0.1", test_page.host()); |
716 | 719 |
717 // Change the host from 127.0.0.1 to www.b.com so that when the | 720 // Change the host from 127.0.0.1 to www.b.com so that when the |
718 // page tries to load from b, it will be same-origin. | 721 // page tries to load from b, it will be same-origin. |
719 GURL::Replacements replacements; | 722 GURL::Replacements replacements; |
720 replacements.SetHostStr("www.b.com"); | 723 replacements.SetHostStr("www.b.com"); |
721 test_page = test_page.ReplaceComponents(replacements); | 724 test_page = test_page.ReplaceComponents(replacements); |
722 | 725 |
723 WindowedAuthNeededObserver auth_needed_waiter(controller); | 726 WindowedAuthNeededObserver auth_needed_waiter(controller); |
724 browser()->OpenURL(OpenURLParams( | 727 browser()->OpenURL(OpenURLParams(test_page, Referrer(), |
725 test_page, Referrer(), CURRENT_TAB, ui::PAGE_TRANSITION_TYPED, | 728 WindowOpenDisposition::CURRENT_TAB, |
726 false)); | 729 ui::PAGE_TRANSITION_TYPED, false)); |
727 auth_needed_waiter.Wait(); | 730 auth_needed_waiter.Wait(); |
728 ASSERT_EQ(1u, observer.handlers().size()); | 731 ASSERT_EQ(1u, observer.handlers().size()); |
729 | 732 |
730 while (!observer.handlers().empty()) { | 733 while (!observer.handlers().empty()) { |
731 WindowedAuthCancelledObserver auth_cancelled_waiter(controller); | 734 WindowedAuthCancelledObserver auth_cancelled_waiter(controller); |
732 LoginHandler* handler = *observer.handlers().begin(); | 735 LoginHandler* handler = *observer.handlers().begin(); |
733 | 736 |
734 ASSERT_TRUE(handler); | 737 ASSERT_TRUE(handler); |
735 handler->CancelAuth(); | 738 handler->CancelAuth(); |
736 auth_cancelled_waiter.Wait(); | 739 auth_cancelled_waiter.Wait(); |
(...skipping 24 matching lines...) Expand all Loading... |
761 ASSERT_EQ("127.0.0.1", test_page.host()); | 764 ASSERT_EQ("127.0.0.1", test_page.host()); |
762 | 765 |
763 // Change the host from 127.0.0.1 to www.a.com so that when the | 766 // Change the host from 127.0.0.1 to www.a.com so that when the |
764 // page tries to load from b, it will be cross-origin. | 767 // page tries to load from b, it will be cross-origin. |
765 static const char kNewHost[] = "www.a.com"; | 768 static const char kNewHost[] = "www.a.com"; |
766 GURL::Replacements replacements; | 769 GURL::Replacements replacements; |
767 replacements.SetHostStr(kNewHost); | 770 replacements.SetHostStr(kNewHost); |
768 test_page = test_page.ReplaceComponents(replacements); | 771 test_page = test_page.ReplaceComponents(replacements); |
769 | 772 |
770 WindowedAuthNeededObserver auth_needed_waiter(controller); | 773 WindowedAuthNeededObserver auth_needed_waiter(controller); |
771 browser()->OpenURL(OpenURLParams( | 774 browser()->OpenURL(OpenURLParams(test_page, Referrer(), |
772 test_page, Referrer(), CURRENT_TAB, ui::PAGE_TRANSITION_TYPED, | 775 WindowOpenDisposition::CURRENT_TAB, |
773 false)); | 776 ui::PAGE_TRANSITION_TYPED, false)); |
774 auth_needed_waiter.Wait(); | 777 auth_needed_waiter.Wait(); |
775 ASSERT_EQ(1u, observer.handlers().size()); | 778 ASSERT_EQ(1u, observer.handlers().size()); |
776 | 779 |
777 while (!observer.handlers().empty()) { | 780 while (!observer.handlers().empty()) { |
778 WindowedAuthCancelledObserver auth_cancelled_waiter(controller); | 781 WindowedAuthCancelledObserver auth_cancelled_waiter(controller); |
779 LoginHandler* handler = *observer.handlers().begin(); | 782 LoginHandler* handler = *observer.handlers().begin(); |
780 | 783 |
781 ASSERT_TRUE(handler); | 784 ASSERT_TRUE(handler); |
782 // When a cross origin iframe displays a login prompt, the blank | 785 // When a cross origin iframe displays a login prompt, the blank |
783 // interstitial shouldn't be displayed and the omnibox should show the | 786 // interstitial shouldn't be displayed and the omnibox should show the |
(...skipping 14 matching lines...) Expand all Loading... |
798 IN_PROC_BROWSER_TEST_F(LoginPromptBrowserTest, SupplyRedundantAuths) { | 801 IN_PROC_BROWSER_TEST_F(LoginPromptBrowserTest, SupplyRedundantAuths) { |
799 ASSERT_TRUE(embedded_test_server()->Start()); | 802 ASSERT_TRUE(embedded_test_server()->Start()); |
800 | 803 |
801 // Get NavigationController for tab 1. | 804 // Get NavigationController for tab 1. |
802 content::WebContents* contents_1 = | 805 content::WebContents* contents_1 = |
803 browser()->tab_strip_model()->GetActiveWebContents(); | 806 browser()->tab_strip_model()->GetActiveWebContents(); |
804 NavigationController* controller_1 = &contents_1->GetController(); | 807 NavigationController* controller_1 = &contents_1->GetController(); |
805 | 808 |
806 // Open a new tab. | 809 // Open a new tab. |
807 ui_test_utils::NavigateToURLWithDisposition( | 810 ui_test_utils::NavigateToURLWithDisposition( |
808 browser(), | 811 browser(), GURL("about:blank"), WindowOpenDisposition::NEW_FOREGROUND_TAB, |
809 GURL("about:blank"), | |
810 NEW_FOREGROUND_TAB, | |
811 ui_test_utils::BROWSER_TEST_WAIT_FOR_TAB); | 812 ui_test_utils::BROWSER_TEST_WAIT_FOR_TAB); |
812 | 813 |
813 // Get NavigationController for tab 2. | 814 // Get NavigationController for tab 2. |
814 content::WebContents* contents_2 = | 815 content::WebContents* contents_2 = |
815 browser()->tab_strip_model()->GetActiveWebContents(); | 816 browser()->tab_strip_model()->GetActiveWebContents(); |
816 ASSERT_NE(contents_1, contents_2); | 817 ASSERT_NE(contents_1, contents_2); |
817 NavigationController* controller_2 = &contents_2->GetController(); | 818 NavigationController* controller_2 = &contents_2->GetController(); |
818 | 819 |
819 LoginPromptBrowserTestObserver observer; | 820 LoginPromptBrowserTestObserver observer; |
820 observer.Register(content::Source<NavigationController>(controller_1)); | 821 observer.Register(content::Source<NavigationController>(controller_1)); |
821 observer.Register(content::Source<NavigationController>(controller_2)); | 822 observer.Register(content::Source<NavigationController>(controller_2)); |
822 | 823 |
823 { | 824 { |
824 // Open different auth urls in each tab. | 825 // Open different auth urls in each tab. |
825 WindowedAuthNeededObserver auth_needed_waiter_1(controller_1); | 826 WindowedAuthNeededObserver auth_needed_waiter_1(controller_1); |
826 WindowedAuthNeededObserver auth_needed_waiter_2(controller_2); | 827 WindowedAuthNeededObserver auth_needed_waiter_2(controller_2); |
827 contents_1->OpenURL(OpenURLParams( | 828 contents_1->OpenURL(OpenURLParams( |
828 embedded_test_server()->GetURL("/auth-basic/1"), | 829 embedded_test_server()->GetURL("/auth-basic/1"), content::Referrer(), |
829 content::Referrer(), | 830 WindowOpenDisposition::CURRENT_TAB, ui::PAGE_TRANSITION_TYPED, false)); |
830 CURRENT_TAB, | |
831 ui::PAGE_TRANSITION_TYPED, | |
832 false)); | |
833 contents_2->OpenURL(OpenURLParams( | 831 contents_2->OpenURL(OpenURLParams( |
834 embedded_test_server()->GetURL("/auth-basic/2"), | 832 embedded_test_server()->GetURL("/auth-basic/2"), content::Referrer(), |
835 content::Referrer(), | 833 WindowOpenDisposition::CURRENT_TAB, ui::PAGE_TRANSITION_TYPED, false)); |
836 CURRENT_TAB, | |
837 ui::PAGE_TRANSITION_TYPED, | |
838 false)); | |
839 auth_needed_waiter_1.Wait(); | 834 auth_needed_waiter_1.Wait(); |
840 auth_needed_waiter_2.Wait(); | 835 auth_needed_waiter_2.Wait(); |
841 | 836 |
842 ASSERT_EQ(2U, observer.handlers().size()); | 837 ASSERT_EQ(2U, observer.handlers().size()); |
843 | 838 |
844 // Supply auth in one of the tabs. | 839 // Supply auth in one of the tabs. |
845 WindowedAuthSuppliedObserver auth_supplied_waiter_1(controller_1); | 840 WindowedAuthSuppliedObserver auth_supplied_waiter_1(controller_1); |
846 WindowedAuthSuppliedObserver auth_supplied_waiter_2(controller_2); | 841 WindowedAuthSuppliedObserver auth_supplied_waiter_2(controller_2); |
847 LoginHandler* handler_1 = *observer.handlers().begin(); | 842 LoginHandler* handler_1 = *observer.handlers().begin(); |
848 ASSERT_TRUE(handler_1); | 843 ASSERT_TRUE(handler_1); |
(...skipping 12 matching lines...) Expand all Loading... |
861 IN_PROC_BROWSER_TEST_F(LoginPromptBrowserTest, CancelRedundantAuths) { | 856 IN_PROC_BROWSER_TEST_F(LoginPromptBrowserTest, CancelRedundantAuths) { |
862 ASSERT_TRUE(embedded_test_server()->Start()); | 857 ASSERT_TRUE(embedded_test_server()->Start()); |
863 | 858 |
864 // Get NavigationController for tab 1. | 859 // Get NavigationController for tab 1. |
865 content::WebContents* contents_1 = | 860 content::WebContents* contents_1 = |
866 browser()->tab_strip_model()->GetActiveWebContents(); | 861 browser()->tab_strip_model()->GetActiveWebContents(); |
867 NavigationController* controller_1 = &contents_1->GetController(); | 862 NavigationController* controller_1 = &contents_1->GetController(); |
868 | 863 |
869 // Open a new tab. | 864 // Open a new tab. |
870 ui_test_utils::NavigateToURLWithDisposition( | 865 ui_test_utils::NavigateToURLWithDisposition( |
871 browser(), | 866 browser(), GURL("about:blank"), WindowOpenDisposition::NEW_FOREGROUND_TAB, |
872 GURL("about:blank"), | |
873 NEW_FOREGROUND_TAB, | |
874 ui_test_utils::BROWSER_TEST_WAIT_FOR_TAB); | 867 ui_test_utils::BROWSER_TEST_WAIT_FOR_TAB); |
875 | 868 |
876 // Get NavigationController for tab 2. | 869 // Get NavigationController for tab 2. |
877 content::WebContents* contents_2 = | 870 content::WebContents* contents_2 = |
878 browser()->tab_strip_model()->GetActiveWebContents(); | 871 browser()->tab_strip_model()->GetActiveWebContents(); |
879 ASSERT_NE(contents_1, contents_2); | 872 ASSERT_NE(contents_1, contents_2); |
880 NavigationController* controller_2 = &contents_2->GetController(); | 873 NavigationController* controller_2 = &contents_2->GetController(); |
881 | 874 |
882 LoginPromptBrowserTestObserver observer; | 875 LoginPromptBrowserTestObserver observer; |
883 observer.Register(content::Source<NavigationController>(controller_1)); | 876 observer.Register(content::Source<NavigationController>(controller_1)); |
884 observer.Register(content::Source<NavigationController>(controller_2)); | 877 observer.Register(content::Source<NavigationController>(controller_2)); |
885 | 878 |
886 { | 879 { |
887 // Open different auth urls in each tab. | 880 // Open different auth urls in each tab. |
888 WindowedAuthNeededObserver auth_needed_waiter_1(controller_1); | 881 WindowedAuthNeededObserver auth_needed_waiter_1(controller_1); |
889 WindowedAuthNeededObserver auth_needed_waiter_2(controller_2); | 882 WindowedAuthNeededObserver auth_needed_waiter_2(controller_2); |
890 contents_1->OpenURL(OpenURLParams( | 883 contents_1->OpenURL(OpenURLParams( |
891 embedded_test_server()->GetURL("/auth-basic/1"), | 884 embedded_test_server()->GetURL("/auth-basic/1"), content::Referrer(), |
892 content::Referrer(), | 885 WindowOpenDisposition::CURRENT_TAB, ui::PAGE_TRANSITION_TYPED, false)); |
893 CURRENT_TAB, | |
894 ui::PAGE_TRANSITION_TYPED, | |
895 false)); | |
896 contents_2->OpenURL(OpenURLParams( | 886 contents_2->OpenURL(OpenURLParams( |
897 embedded_test_server()->GetURL("/auth-basic/2"), | 887 embedded_test_server()->GetURL("/auth-basic/2"), content::Referrer(), |
898 content::Referrer(), | 888 WindowOpenDisposition::CURRENT_TAB, ui::PAGE_TRANSITION_TYPED, false)); |
899 CURRENT_TAB, | |
900 ui::PAGE_TRANSITION_TYPED, | |
901 false)); | |
902 auth_needed_waiter_1.Wait(); | 889 auth_needed_waiter_1.Wait(); |
903 auth_needed_waiter_2.Wait(); | 890 auth_needed_waiter_2.Wait(); |
904 | 891 |
905 ASSERT_EQ(2U, observer.handlers().size()); | 892 ASSERT_EQ(2U, observer.handlers().size()); |
906 | 893 |
907 // Cancel auth in one of the tabs. | 894 // Cancel auth in one of the tabs. |
908 WindowedAuthCancelledObserver auth_cancelled_waiter_1(controller_1); | 895 WindowedAuthCancelledObserver auth_cancelled_waiter_1(controller_1); |
909 WindowedAuthCancelledObserver auth_cancelled_waiter_2(controller_2); | 896 WindowedAuthCancelledObserver auth_cancelled_waiter_2(controller_2); |
910 LoginHandler* handler_1 = *observer.handlers().begin(); | 897 LoginHandler* handler_1 = *observer.handlers().begin(); |
911 ASSERT_TRUE(handler_1); | 898 ASSERT_TRUE(handler_1); |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
945 LoginPromptBrowserTestObserver observer_incognito; | 932 LoginPromptBrowserTestObserver observer_incognito; |
946 observer_incognito.Register( | 933 observer_incognito.Register( |
947 content::Source<NavigationController>(controller_incognito)); | 934 content::Source<NavigationController>(controller_incognito)); |
948 | 935 |
949 { | 936 { |
950 // Open an auth url in each window. | 937 // Open an auth url in each window. |
951 WindowedAuthNeededObserver auth_needed_waiter(controller); | 938 WindowedAuthNeededObserver auth_needed_waiter(controller); |
952 WindowedAuthNeededObserver auth_needed_waiter_incognito( | 939 WindowedAuthNeededObserver auth_needed_waiter_incognito( |
953 controller_incognito); | 940 controller_incognito); |
954 contents->OpenURL(OpenURLParams( | 941 contents->OpenURL(OpenURLParams( |
955 embedded_test_server()->GetURL("/auth-basic/1"), | 942 embedded_test_server()->GetURL("/auth-basic/1"), content::Referrer(), |
956 content::Referrer(), | 943 WindowOpenDisposition::CURRENT_TAB, ui::PAGE_TRANSITION_TYPED, false)); |
957 CURRENT_TAB, | |
958 ui::PAGE_TRANSITION_TYPED, | |
959 false)); | |
960 contents_incognito->OpenURL(OpenURLParams( | 944 contents_incognito->OpenURL(OpenURLParams( |
961 embedded_test_server()->GetURL("/auth-basic/2"), | 945 embedded_test_server()->GetURL("/auth-basic/2"), content::Referrer(), |
962 content::Referrer(), | 946 WindowOpenDisposition::CURRENT_TAB, ui::PAGE_TRANSITION_TYPED, false)); |
963 CURRENT_TAB, | |
964 ui::PAGE_TRANSITION_TYPED, | |
965 false)); | |
966 auth_needed_waiter.Wait(); | 947 auth_needed_waiter.Wait(); |
967 auth_needed_waiter_incognito.Wait(); | 948 auth_needed_waiter_incognito.Wait(); |
968 | 949 |
969 ASSERT_EQ(1U, observer.handlers().size()); | 950 ASSERT_EQ(1U, observer.handlers().size()); |
970 ASSERT_EQ(1U, observer_incognito.handlers().size()); | 951 ASSERT_EQ(1U, observer_incognito.handlers().size()); |
971 | 952 |
972 // Supply auth in regular tab. | 953 // Supply auth in regular tab. |
973 WindowedAuthSuppliedObserver auth_supplied_waiter(controller); | 954 WindowedAuthSuppliedObserver auth_supplied_waiter(controller); |
974 LoginHandler* handler = *observer.handlers().begin(); | 955 LoginHandler* handler = *observer.handlers().begin(); |
975 ASSERT_TRUE(handler); | 956 ASSERT_TRUE(handler); |
(...skipping 30 matching lines...) Expand all Loading... |
1006 NavigationController* controller = &contents->GetController(); | 987 NavigationController* controller = &contents->GetController(); |
1007 LoginPromptBrowserTestObserver observer; | 988 LoginPromptBrowserTestObserver observer; |
1008 | 989 |
1009 observer.Register(content::Source<NavigationController>(controller)); | 990 observer.Register(content::Source<NavigationController>(controller)); |
1010 | 991 |
1011 // Load a page which makes a synchronous XMLHttpRequest for an authenticated | 992 // Load a page which makes a synchronous XMLHttpRequest for an authenticated |
1012 // resource with the wrong credentials. There should be no login prompt. | 993 // resource with the wrong credentials. There should be no login prompt. |
1013 { | 994 { |
1014 GURL test_page = embedded_test_server()->GetURL(kXHRTestPage); | 995 GURL test_page = embedded_test_server()->GetURL(kXHRTestPage); |
1015 WindowedLoadStopObserver load_stop_waiter(controller, 1); | 996 WindowedLoadStopObserver load_stop_waiter(controller, 1); |
1016 browser()->OpenURL(OpenURLParams( | 997 browser()->OpenURL(OpenURLParams(test_page, Referrer(), |
1017 test_page, Referrer(), CURRENT_TAB, ui::PAGE_TRANSITION_TYPED, | 998 WindowOpenDisposition::CURRENT_TAB, |
1018 false)); | 999 ui::PAGE_TRANSITION_TYPED, false)); |
1019 load_stop_waiter.Wait(); | 1000 load_stop_waiter.Wait(); |
1020 } | 1001 } |
1021 | 1002 |
1022 base::string16 expected_title(base::UTF8ToUTF16("status=401")); | 1003 base::string16 expected_title(base::UTF8ToUTF16("status=401")); |
1023 | 1004 |
1024 EXPECT_EQ(expected_title, contents->GetTitle()); | 1005 EXPECT_EQ(expected_title, contents->GetTitle()); |
1025 EXPECT_EQ(0, observer.auth_supplied_count()); | 1006 EXPECT_EQ(0, observer.auth_supplied_count()); |
1026 EXPECT_EQ(0, observer.auth_needed_count()); | 1007 EXPECT_EQ(0, observer.auth_needed_count()); |
1027 EXPECT_EQ(0, observer.auth_cancelled_count()); | 1008 EXPECT_EQ(0, observer.auth_cancelled_count()); |
1028 } | 1009 } |
(...skipping 11 matching lines...) Expand all Loading... |
1040 NavigationController* controller = &contents->GetController(); | 1021 NavigationController* controller = &contents->GetController(); |
1041 LoginPromptBrowserTestObserver observer; | 1022 LoginPromptBrowserTestObserver observer; |
1042 | 1023 |
1043 observer.Register(content::Source<NavigationController>(controller)); | 1024 observer.Register(content::Source<NavigationController>(controller)); |
1044 | 1025 |
1045 // Load a page which makes a synchronous XMLHttpRequest for an authenticated | 1026 // Load a page which makes a synchronous XMLHttpRequest for an authenticated |
1046 // resource with the wrong credentials. There should be no login prompt. | 1027 // resource with the wrong credentials. There should be no login prompt. |
1047 { | 1028 { |
1048 GURL test_page = embedded_test_server()->GetURL(kXHRTestPage); | 1029 GURL test_page = embedded_test_server()->GetURL(kXHRTestPage); |
1049 WindowedLoadStopObserver load_stop_waiter(controller, 1); | 1030 WindowedLoadStopObserver load_stop_waiter(controller, 1); |
1050 browser()->OpenURL(OpenURLParams( | 1031 browser()->OpenURL(OpenURLParams(test_page, Referrer(), |
1051 test_page, Referrer(), CURRENT_TAB, ui::PAGE_TRANSITION_TYPED, | 1032 WindowOpenDisposition::CURRENT_TAB, |
1052 false)); | 1033 ui::PAGE_TRANSITION_TYPED, false)); |
1053 load_stop_waiter.Wait(); | 1034 load_stop_waiter.Wait(); |
1054 } | 1035 } |
1055 | 1036 |
1056 base::string16 expected_title(base::UTF8ToUTF16("status=200")); | 1037 base::string16 expected_title(base::UTF8ToUTF16("status=200")); |
1057 | 1038 |
1058 EXPECT_EQ(expected_title, contents->GetTitle()); | 1039 EXPECT_EQ(expected_title, contents->GetTitle()); |
1059 EXPECT_EQ(0, observer.auth_supplied_count()); | 1040 EXPECT_EQ(0, observer.auth_supplied_count()); |
1060 EXPECT_EQ(0, observer.auth_needed_count()); | 1041 EXPECT_EQ(0, observer.auth_needed_count()); |
1061 EXPECT_EQ(0, observer.auth_cancelled_count()); | 1042 EXPECT_EQ(0, observer.auth_cancelled_count()); |
1062 } | 1043 } |
(...skipping 11 matching lines...) Expand all Loading... |
1074 NavigationController* controller = &contents->GetController(); | 1055 NavigationController* controller = &contents->GetController(); |
1075 LoginPromptBrowserTestObserver observer; | 1056 LoginPromptBrowserTestObserver observer; |
1076 | 1057 |
1077 observer.Register(content::Source<NavigationController>(controller)); | 1058 observer.Register(content::Source<NavigationController>(controller)); |
1078 | 1059 |
1079 // Load a page which makes a synchronous XMLHttpRequest for an authenticated | 1060 // Load a page which makes a synchronous XMLHttpRequest for an authenticated |
1080 // resource with the wrong credentials. There should be no login prompt. | 1061 // resource with the wrong credentials. There should be no login prompt. |
1081 { | 1062 { |
1082 GURL test_page = embedded_test_server()->GetURL(kXHRTestPage); | 1063 GURL test_page = embedded_test_server()->GetURL(kXHRTestPage); |
1083 WindowedAuthNeededObserver auth_needed_waiter(controller); | 1064 WindowedAuthNeededObserver auth_needed_waiter(controller); |
1084 browser()->OpenURL(OpenURLParams( | 1065 browser()->OpenURL(OpenURLParams(test_page, Referrer(), |
1085 test_page, Referrer(), CURRENT_TAB, ui::PAGE_TRANSITION_TYPED, | 1066 WindowOpenDisposition::CURRENT_TAB, |
1086 false)); | 1067 ui::PAGE_TRANSITION_TYPED, false)); |
1087 auth_needed_waiter.Wait(); | 1068 auth_needed_waiter.Wait(); |
1088 } | 1069 } |
1089 | 1070 |
1090 ASSERT_FALSE(observer.handlers().empty()); | 1071 ASSERT_FALSE(observer.handlers().empty()); |
1091 { | 1072 { |
1092 WindowedAuthNeededObserver auth_needed_waiter(controller); | 1073 WindowedAuthNeededObserver auth_needed_waiter(controller); |
1093 WindowedAuthSuppliedObserver auth_supplied_waiter(controller); | 1074 WindowedAuthSuppliedObserver auth_supplied_waiter(controller); |
1094 LoginHandler* handler = *observer.handlers().begin(); | 1075 LoginHandler* handler = *observer.handlers().begin(); |
1095 | 1076 |
1096 ASSERT_TRUE(handler); | 1077 ASSERT_TRUE(handler); |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1137 NavigationController* controller = &contents->GetController(); | 1118 NavigationController* controller = &contents->GetController(); |
1138 LoginPromptBrowserTestObserver observer; | 1119 LoginPromptBrowserTestObserver observer; |
1139 | 1120 |
1140 observer.Register(content::Source<NavigationController>(controller)); | 1121 observer.Register(content::Source<NavigationController>(controller)); |
1141 | 1122 |
1142 // Load a page which makes a synchronous XMLHttpRequest for an authenticated | 1123 // Load a page which makes a synchronous XMLHttpRequest for an authenticated |
1143 // resource with the wrong credentials. There should be no login prompt. | 1124 // resource with the wrong credentials. There should be no login prompt. |
1144 { | 1125 { |
1145 GURL test_page = embedded_test_server()->GetURL(kXHRTestPage); | 1126 GURL test_page = embedded_test_server()->GetURL(kXHRTestPage); |
1146 WindowedAuthNeededObserver auth_needed_waiter(controller); | 1127 WindowedAuthNeededObserver auth_needed_waiter(controller); |
1147 browser()->OpenURL(OpenURLParams( | 1128 browser()->OpenURL(OpenURLParams(test_page, Referrer(), |
1148 test_page, Referrer(), CURRENT_TAB, ui::PAGE_TRANSITION_TYPED, | 1129 WindowOpenDisposition::CURRENT_TAB, |
1149 false)); | 1130 ui::PAGE_TRANSITION_TYPED, false)); |
1150 auth_needed_waiter.Wait(); | 1131 auth_needed_waiter.Wait(); |
1151 } | 1132 } |
1152 | 1133 |
1153 ASSERT_EQ(1u, observer.handlers().size()); | 1134 ASSERT_EQ(1u, observer.handlers().size()); |
1154 WindowedAuthCancelledObserver auth_cancelled_waiter(controller); | 1135 WindowedAuthCancelledObserver auth_cancelled_waiter(controller); |
1155 LoginHandler* handler = *observer.handlers().begin(); | 1136 LoginHandler* handler = *observer.handlers().begin(); |
1156 | 1137 |
1157 handler->CancelAuth(); | 1138 handler->CancelAuth(); |
1158 auth_cancelled_waiter.Wait(); | 1139 auth_cancelled_waiter.Wait(); |
1159 | 1140 |
(...skipping 16 matching lines...) Expand all Loading... |
1176 bool cancel_prompt) const { | 1157 bool cancel_prompt) const { |
1177 content::WebContents* contents = | 1158 content::WebContents* contents = |
1178 browser()->tab_strip_model()->GetActiveWebContents(); | 1159 browser()->tab_strip_model()->GetActiveWebContents(); |
1179 NavigationController* controller = &contents->GetController(); | 1160 NavigationController* controller = &contents->GetController(); |
1180 LoginPromptBrowserTestObserver observer; | 1161 LoginPromptBrowserTestObserver observer; |
1181 | 1162 |
1182 observer.Register(content::Source<NavigationController>(controller)); | 1163 observer.Register(content::Source<NavigationController>(controller)); |
1183 | 1164 |
1184 // Load a page which will trigger a login prompt. | 1165 // Load a page which will trigger a login prompt. |
1185 WindowedAuthNeededObserver auth_needed_waiter(controller); | 1166 WindowedAuthNeededObserver auth_needed_waiter(controller); |
1186 browser()->OpenURL(OpenURLParams(visit_url, Referrer(), CURRENT_TAB, | 1167 browser()->OpenURL(OpenURLParams(visit_url, Referrer(), |
| 1168 WindowOpenDisposition::CURRENT_TAB, |
1187 ui::PAGE_TRANSITION_TYPED, false)); | 1169 ui::PAGE_TRANSITION_TYPED, false)); |
1188 ASSERT_EQ(visit_url.host(), contents->GetVisibleURL().host()); | 1170 ASSERT_EQ(visit_url.host(), contents->GetVisibleURL().host()); |
1189 auth_needed_waiter.Wait(); | 1171 auth_needed_waiter.Wait(); |
1190 ASSERT_EQ(1u, observer.handlers().size()); | 1172 ASSERT_EQ(1u, observer.handlers().size()); |
1191 content::WaitForInterstitialAttach(contents); | 1173 content::WaitForInterstitialAttach(contents); |
1192 | 1174 |
1193 // The omnibox should show the correct origin for the new page when the | 1175 // The omnibox should show the correct origin for the new page when the |
1194 // login prompt is shown. | 1176 // login prompt is shown. |
1195 EXPECT_EQ(expected_hostname, contents->GetVisibleURL().host()); | 1177 EXPECT_EQ(expected_hostname, contents->GetVisibleURL().host()); |
1196 EXPECT_TRUE(contents->ShowingInterstitialPage()); | 1178 EXPECT_TRUE(contents->ShowingInterstitialPage()); |
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1318 | 1300 |
1319 observer.Register(content::Source<NavigationController>(controller)); | 1301 observer.Register(content::Source<NavigationController>(controller)); |
1320 | 1302 |
1321 // Load a page which triggers an SSL interstitial. Proceeding through it | 1303 // Load a page which triggers an SSL interstitial. Proceeding through it |
1322 // should show the login page with the blank interstitial. | 1304 // should show the login page with the blank interstitial. |
1323 { | 1305 { |
1324 GURL test_page = https_server.GetURL(kAuthBasicPage); | 1306 GURL test_page = https_server.GetURL(kAuthBasicPage); |
1325 ASSERT_EQ("127.0.0.1", test_page.host()); | 1307 ASSERT_EQ("127.0.0.1", test_page.host()); |
1326 | 1308 |
1327 WindowedAuthNeededObserver auth_needed_waiter(controller); | 1309 WindowedAuthNeededObserver auth_needed_waiter(controller); |
1328 browser()->OpenURL(OpenURLParams( | 1310 browser()->OpenURL(OpenURLParams(test_page, Referrer(), |
1329 test_page, Referrer(), CURRENT_TAB, ui::PAGE_TRANSITION_TYPED, | 1311 WindowOpenDisposition::CURRENT_TAB, |
1330 false)); | 1312 ui::PAGE_TRANSITION_TYPED, false)); |
1331 ASSERT_EQ("127.0.0.1", contents->GetURL().host()); | 1313 ASSERT_EQ("127.0.0.1", contents->GetURL().host()); |
1332 content::WaitForInterstitialAttach(contents); | 1314 content::WaitForInterstitialAttach(contents); |
1333 | 1315 |
1334 EXPECT_EQ(SSLBlockingPage::kTypeForTesting, contents->GetInterstitialPage() | 1316 EXPECT_EQ(SSLBlockingPage::kTypeForTesting, contents->GetInterstitialPage() |
1335 ->GetDelegateForTesting() | 1317 ->GetDelegateForTesting() |
1336 ->GetTypeForTesting()); | 1318 ->GetTypeForTesting()); |
1337 // An overrideable SSL interstitial is now being displayed. Proceed through | 1319 // An overrideable SSL interstitial is now being displayed. Proceed through |
1338 // the interstitial to see the login prompt. | 1320 // the interstitial to see the login prompt. |
1339 contents->GetInterstitialPage()->Proceed(); | 1321 contents->GetInterstitialPage()->Proceed(); |
1340 auth_needed_waiter.Wait(); | 1322 auth_needed_waiter.Wait(); |
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1389 LoginPromptBrowserTestObserver observer; | 1371 LoginPromptBrowserTestObserver observer; |
1390 | 1372 |
1391 observer.Register(content::Source<NavigationController>(controller)); | 1373 observer.Register(content::Source<NavigationController>(controller)); |
1392 | 1374 |
1393 GURL auth_url = embedded_test_server()->GetURL(kAuthBasicPage); | 1375 GURL auth_url = embedded_test_server()->GetURL(kAuthBasicPage); |
1394 GURL broken_ssl_page = https_server.GetURL("/"); | 1376 GURL broken_ssl_page = https_server.GetURL("/"); |
1395 | 1377 |
1396 // Navigate to an auth url and wait for the login prompt. | 1378 // Navigate to an auth url and wait for the login prompt. |
1397 { | 1379 { |
1398 WindowedAuthNeededObserver auth_needed_waiter(controller); | 1380 WindowedAuthNeededObserver auth_needed_waiter(controller); |
1399 browser()->OpenURL(OpenURLParams(auth_url, Referrer(), CURRENT_TAB, | 1381 browser()->OpenURL(OpenURLParams(auth_url, Referrer(), |
| 1382 WindowOpenDisposition::CURRENT_TAB, |
1400 ui::PAGE_TRANSITION_TYPED, false)); | 1383 ui::PAGE_TRANSITION_TYPED, false)); |
1401 ASSERT_EQ("127.0.0.1", contents->GetURL().host()); | 1384 ASSERT_EQ("127.0.0.1", contents->GetURL().host()); |
1402 ASSERT_TRUE(contents->GetURL().SchemeIs("http")); | 1385 ASSERT_TRUE(contents->GetURL().SchemeIs("http")); |
1403 auth_needed_waiter.Wait(); | 1386 auth_needed_waiter.Wait(); |
1404 ASSERT_EQ(1u, observer.handlers().size()); | 1387 ASSERT_EQ(1u, observer.handlers().size()); |
1405 content::WaitForInterstitialAttach(contents); | 1388 content::WaitForInterstitialAttach(contents); |
1406 ASSERT_TRUE(contents->ShowingInterstitialPage()); | 1389 ASSERT_TRUE(contents->ShowingInterstitialPage()); |
1407 EXPECT_EQ(LoginInterstitialDelegate::kTypeForTesting, | 1390 EXPECT_EQ(LoginInterstitialDelegate::kTypeForTesting, |
1408 contents->GetInterstitialPage() | 1391 contents->GetInterstitialPage() |
1409 ->GetDelegateForTesting() | 1392 ->GetDelegateForTesting() |
1410 ->GetTypeForTesting()); | 1393 ->GetTypeForTesting()); |
1411 // Cancel the auth prompt. This commits the navigation. | 1394 // Cancel the auth prompt. This commits the navigation. |
1412 LoginHandler* handler = *observer.handlers().begin(); | 1395 LoginHandler* handler = *observer.handlers().begin(); |
1413 content::RunTaskAndWaitForInterstitialDetach( | 1396 content::RunTaskAndWaitForInterstitialDetach( |
1414 contents, base::Bind(&LoginHandler::CancelAuth, handler)); | 1397 contents, base::Bind(&LoginHandler::CancelAuth, handler)); |
1415 EXPECT_EQ("127.0.0.1", contents->GetVisibleURL().host()); | 1398 EXPECT_EQ("127.0.0.1", contents->GetVisibleURL().host()); |
1416 EXPECT_FALSE(contents->ShowingInterstitialPage()); | 1399 EXPECT_FALSE(contents->ShowingInterstitialPage()); |
1417 EXPECT_EQ(auth_url, contents->GetLastCommittedURL()); | 1400 EXPECT_EQ(auth_url, contents->GetLastCommittedURL()); |
1418 } | 1401 } |
1419 | 1402 |
1420 // Navigate to a broken SSL page. This is a cross origin navigation since | 1403 // Navigate to a broken SSL page. This is a cross origin navigation since |
1421 // schemes don't match (http vs https). | 1404 // schemes don't match (http vs https). |
1422 { | 1405 { |
1423 ASSERT_EQ("127.0.0.1", broken_ssl_page.host()); | 1406 ASSERT_EQ("127.0.0.1", broken_ssl_page.host()); |
1424 browser()->OpenURL(OpenURLParams(broken_ssl_page, Referrer(), CURRENT_TAB, | 1407 browser()->OpenURL(OpenURLParams(broken_ssl_page, Referrer(), |
| 1408 WindowOpenDisposition::CURRENT_TAB, |
1425 ui::PAGE_TRANSITION_TYPED, false)); | 1409 ui::PAGE_TRANSITION_TYPED, false)); |
1426 ASSERT_EQ("127.0.0.1", contents->GetURL().host()); | 1410 ASSERT_EQ("127.0.0.1", contents->GetURL().host()); |
1427 ASSERT_TRUE(contents->GetURL().SchemeIs("https")); | 1411 ASSERT_TRUE(contents->GetURL().SchemeIs("https")); |
1428 content::WaitForInterstitialAttach(contents); | 1412 content::WaitForInterstitialAttach(contents); |
1429 EXPECT_TRUE(contents->ShowingInterstitialPage()); | 1413 EXPECT_TRUE(contents->ShowingInterstitialPage()); |
1430 EXPECT_EQ(SSLBlockingPage::kTypeForTesting, contents->GetInterstitialPage() | 1414 EXPECT_EQ(SSLBlockingPage::kTypeForTesting, contents->GetInterstitialPage() |
1431 ->GetDelegateForTesting() | 1415 ->GetDelegateForTesting() |
1432 ->GetTypeForTesting()); | 1416 ->GetTypeForTesting()); |
1433 EXPECT_EQ(auth_url, contents->GetLastCommittedURL()); | 1417 EXPECT_EQ(auth_url, contents->GetLastCommittedURL()); |
1434 } | 1418 } |
1435 | 1419 |
1436 // An overrideable SSL interstitial is now being displayed. Navigate to the | 1420 // An overrideable SSL interstitial is now being displayed. Navigate to the |
1437 // auth URL again. This is again a cross origin navigation, but last committed | 1421 // auth URL again. This is again a cross origin navigation, but last committed |
1438 // URL is the same as the auth URL (since SSL navigation never committed). | 1422 // URL is the same as the auth URL (since SSL navigation never committed). |
1439 // Should still replace SSL interstitial with an auth interstitial even though | 1423 // Should still replace SSL interstitial with an auth interstitial even though |
1440 // last committed URL and the new URL is the same. | 1424 // last committed URL and the new URL is the same. |
1441 { | 1425 { |
1442 WindowedAuthNeededObserver auth_needed_waiter(controller); | 1426 WindowedAuthNeededObserver auth_needed_waiter(controller); |
1443 browser()->OpenURL(OpenURLParams(auth_url, Referrer(), CURRENT_TAB, | 1427 browser()->OpenURL(OpenURLParams(auth_url, Referrer(), |
| 1428 WindowOpenDisposition::CURRENT_TAB, |
1444 ui::PAGE_TRANSITION_TYPED, false)); | 1429 ui::PAGE_TRANSITION_TYPED, false)); |
1445 ASSERT_EQ("127.0.0.1", contents->GetURL().host()); | 1430 ASSERT_EQ("127.0.0.1", contents->GetURL().host()); |
1446 ASSERT_TRUE(contents->GetURL().SchemeIs("http")); | 1431 ASSERT_TRUE(contents->GetURL().SchemeIs("http")); |
1447 ASSERT_TRUE(contents->ShowingInterstitialPage()); | 1432 ASSERT_TRUE(contents->ShowingInterstitialPage()); |
1448 | 1433 |
1449 auth_needed_waiter.Wait(); | 1434 auth_needed_waiter.Wait(); |
1450 ASSERT_EQ(1u, observer.handlers().size()); | 1435 ASSERT_EQ(1u, observer.handlers().size()); |
1451 content::WaitForInterstitialAttach(contents); | 1436 content::WaitForInterstitialAttach(contents); |
1452 EXPECT_EQ(LoginInterstitialDelegate::kTypeForTesting, | 1437 EXPECT_EQ(LoginInterstitialDelegate::kTypeForTesting, |
1453 contents->GetInterstitialPage() | 1438 contents->GetInterstitialPage() |
(...skipping 22 matching lines...) Expand all Loading... |
1476 NavigationController* controller = &contents->GetController(); | 1461 NavigationController* controller = &contents->GetController(); |
1477 LoginPromptBrowserTestObserver observer; | 1462 LoginPromptBrowserTestObserver observer; |
1478 observer.Register(content::Source<NavigationController>(controller)); | 1463 observer.Register(content::Source<NavigationController>(controller)); |
1479 | 1464 |
1480 // Load a page that has a cross-domain iframe authentication. This should | 1465 // Load a page that has a cross-domain iframe authentication. This should |
1481 // trigger a login prompt but no login interstitial. | 1466 // trigger a login prompt but no login interstitial. |
1482 GURL test_page = embedded_test_server()->GetURL(kTestPage); | 1467 GURL test_page = embedded_test_server()->GetURL(kTestPage); |
1483 GURL broken_ssl_page = https_server.GetURL("/"); | 1468 GURL broken_ssl_page = https_server.GetURL("/"); |
1484 ASSERT_EQ("127.0.0.1", test_page.host()); | 1469 ASSERT_EQ("127.0.0.1", test_page.host()); |
1485 WindowedAuthNeededObserver auth_needed_waiter(controller); | 1470 WindowedAuthNeededObserver auth_needed_waiter(controller); |
1486 browser()->OpenURL(OpenURLParams(test_page, Referrer(), CURRENT_TAB, | 1471 browser()->OpenURL(OpenURLParams(test_page, Referrer(), |
| 1472 WindowOpenDisposition::CURRENT_TAB, |
1487 ui::PAGE_TRANSITION_TYPED, false)); | 1473 ui::PAGE_TRANSITION_TYPED, false)); |
1488 auth_needed_waiter.Wait(); | 1474 auth_needed_waiter.Wait(); |
1489 ASSERT_EQ(1u, observer.handlers().size()); | 1475 ASSERT_EQ(1u, observer.handlers().size()); |
1490 EXPECT_FALSE(contents->ShowingInterstitialPage()); | 1476 EXPECT_FALSE(contents->ShowingInterstitialPage()); |
1491 | 1477 |
1492 // Redirect to a broken SSL page. This redirect should not accidentally | 1478 // Redirect to a broken SSL page. This redirect should not accidentally |
1493 // proceed through the SSL interstitial. | 1479 // proceed through the SSL interstitial. |
1494 WindowedAuthCancelledObserver auth_cancelled_waiter(controller); | 1480 WindowedAuthCancelledObserver auth_cancelled_waiter(controller); |
1495 EXPECT_TRUE(content::ExecuteScript( | 1481 EXPECT_TRUE(content::ExecuteScript( |
1496 browser()->tab_strip_model()->GetActiveWebContents(), | 1482 browser()->tab_strip_model()->GetActiveWebContents(), |
1497 std::string("window.location = '") + broken_ssl_page.spec() + "'")); | 1483 std::string("window.location = '") + broken_ssl_page.spec() + "'")); |
1498 content::WaitForInterstitialAttach(contents); | 1484 content::WaitForInterstitialAttach(contents); |
1499 auth_cancelled_waiter.Wait(); | 1485 auth_cancelled_waiter.Wait(); |
1500 | 1486 |
1501 // If the interstitial was accidentally clicked through, this wait may time | 1487 // If the interstitial was accidentally clicked through, this wait may time |
1502 // out. | 1488 // out. |
1503 EXPECT_TRUE( | 1489 EXPECT_TRUE( |
1504 WaitForRenderFrameReady(contents->GetInterstitialPage()->GetMainFrame())); | 1490 WaitForRenderFrameReady(contents->GetInterstitialPage()->GetMainFrame())); |
1505 EXPECT_TRUE(contents->ShowingInterstitialPage()); | 1491 EXPECT_TRUE(contents->ShowingInterstitialPage()); |
1506 EXPECT_EQ(SSLBlockingPage::kTypeForTesting, contents->GetInterstitialPage() | 1492 EXPECT_EQ(SSLBlockingPage::kTypeForTesting, contents->GetInterstitialPage() |
1507 ->GetDelegateForTesting() | 1493 ->GetDelegateForTesting() |
1508 ->GetTypeForTesting()); | 1494 ->GetTypeForTesting()); |
1509 } | 1495 } |
1510 | 1496 |
1511 } // namespace | 1497 } // namespace |
OLD | NEW |