Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(122)

Side by Side Diff: chrome/browser/ui/login/login_handler_browsertest.cc

Issue 2248873002: Convert WindowOpenDisposition to an enum class. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase. Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
OLDNEW
« no previous file with comments | « chrome/browser/ui/ime/ime_window.cc ('k') | chrome/browser/ui/omnibox/omnibox_view_browsertest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698