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 "chrome/browser/captive_portal/captive_portal_tab_helper.h" | 5 #include "chrome/browser/captive_portal/captive_portal_tab_helper.h" |
6 | 6 |
7 #include "base/callback.h" | 7 #include "base/callback.h" |
8 #include "base/memory/scoped_ptr.h" | 8 #include "base/memory/scoped_ptr.h" |
9 #include "chrome/browser/captive_portal/captive_portal_service.h" | 9 #include "chrome/browser/captive_portal/captive_portal_service.h" |
10 #include "chrome/browser/captive_portal/captive_portal_tab_reloader.h" | 10 #include "chrome/browser/captive_portal/captive_portal_tab_reloader.h" |
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
112 void SimulateTimeout(const GURL& url, | 112 void SimulateTimeout(const GURL& url, |
113 content::RenderViewHost* render_view_host) { | 113 content::RenderViewHost* render_view_host) { |
114 EXPECT_CALL(mock_reloader(), OnLoadStart(url.SchemeIsCryptographic())) | 114 EXPECT_CALL(mock_reloader(), OnLoadStart(url.SchemeIsCryptographic())) |
115 .Times(1); | 115 .Times(1); |
116 tab_helper().DidStartProvisionalLoadForFrame( | 116 tab_helper().DidStartProvisionalLoadForFrame( |
117 render_view_host->GetMainFrame(), url, false, false); | 117 render_view_host->GetMainFrame(), url, false, false); |
118 | 118 |
119 tab_helper().DidFailProvisionalLoad(render_view_host->GetMainFrame(), | 119 tab_helper().DidFailProvisionalLoad(render_view_host->GetMainFrame(), |
120 url, | 120 url, |
121 net::ERR_TIMED_OUT, | 121 net::ERR_TIMED_OUT, |
122 base::string16()); | 122 base::string16(), |
| 123 false); |
123 | 124 |
124 // Provisional load starts for the error page. | 125 // Provisional load starts for the error page. |
125 tab_helper().DidStartProvisionalLoadForFrame( | 126 tab_helper().DidStartProvisionalLoadForFrame( |
126 render_view_host->GetMainFrame(), GURL(kErrorPageUrl), true, false); | 127 render_view_host->GetMainFrame(), GURL(kErrorPageUrl), true, false); |
127 | 128 |
128 EXPECT_CALL(mock_reloader(), OnLoadCommitted(net::ERR_TIMED_OUT)).Times(1); | 129 EXPECT_CALL(mock_reloader(), OnLoadCommitted(net::ERR_TIMED_OUT)).Times(1); |
129 tab_helper().DidCommitProvisionalLoadForFrame( | 130 tab_helper().DidCommitProvisionalLoadForFrame( |
130 render_view_host->GetMainFrame(), | 131 render_view_host->GetMainFrame(), |
131 GURL(kErrorPageUrl), | 132 GURL(kErrorPageUrl), |
132 ui::PAGE_TRANSITION_LINK); | 133 ui::PAGE_TRANSITION_LINK); |
133 } | 134 } |
134 | 135 |
135 // Simulates an abort while requesting |url|. | 136 // Simulates an abort while requesting |url|. |
136 void SimulateAbort(const GURL& url, | 137 void SimulateAbort(const GURL& url, |
137 content::RenderViewHost* render_view_host, | 138 content::RenderViewHost* render_view_host, |
138 NavigationType navigation_type) { | 139 NavigationType navigation_type) { |
139 EXPECT_CALL(mock_reloader(), OnLoadStart(url.SchemeIsCryptographic())) | 140 EXPECT_CALL(mock_reloader(), OnLoadStart(url.SchemeIsCryptographic())) |
140 .Times(1); | 141 .Times(1); |
141 tab_helper().DidStartProvisionalLoadForFrame( | 142 tab_helper().DidStartProvisionalLoadForFrame( |
142 render_view_host->GetMainFrame(), url, false, false); | 143 render_view_host->GetMainFrame(), url, false, false); |
143 | 144 |
144 EXPECT_CALL(mock_reloader(), OnAbort()).Times(1); | 145 EXPECT_CALL(mock_reloader(), OnAbort()).Times(1); |
145 if (navigation_type == kSameProcess) { | 146 if (navigation_type == kSameProcess) { |
146 tab_helper().DidFailProvisionalLoad(render_view_host->GetMainFrame(), | 147 tab_helper().DidFailProvisionalLoad(render_view_host->GetMainFrame(), |
147 url, | 148 url, |
148 net::ERR_ABORTED, | 149 net::ERR_ABORTED, |
149 base::string16()); | 150 base::string16(), |
| 151 false); |
150 } else { | 152 } else { |
151 // For interrupted provisional cross-process navigations, the | 153 // For interrupted provisional cross-process navigations, the |
152 // RenderViewHost is destroyed without sending a DidFailProvisionalLoad | 154 // RenderViewHost is destroyed without sending a DidFailProvisionalLoad |
153 // notification. | 155 // notification. |
154 tab_helper().RenderViewDeleted(render_view_host); | 156 tab_helper().RenderViewDeleted(render_view_host); |
155 } | 157 } |
156 | 158 |
157 // Make sure that above call resulted in abort, for tests that continue | 159 // Make sure that above call resulted in abort, for tests that continue |
158 // after the abort. | 160 // after the abort. |
159 EXPECT_CALL(mock_reloader(), OnAbort()).Times(0); | 161 EXPECT_CALL(mock_reloader(), OnAbort()).Times(0); |
160 } | 162 } |
161 | 163 |
162 // Simulates an abort while loading an error page. | 164 // Simulates an abort while loading an error page. |
163 void SimulateAbortTimeout(const GURL& url, | 165 void SimulateAbortTimeout(const GURL& url, |
164 content::RenderViewHost* render_view_host, | 166 content::RenderViewHost* render_view_host, |
165 NavigationType navigation_type) { | 167 NavigationType navigation_type) { |
166 EXPECT_CALL(mock_reloader(), OnLoadStart(url.SchemeIsCryptographic())) | 168 EXPECT_CALL(mock_reloader(), OnLoadStart(url.SchemeIsCryptographic())) |
167 .Times(1); | 169 .Times(1); |
168 tab_helper().DidStartProvisionalLoadForFrame( | 170 tab_helper().DidStartProvisionalLoadForFrame( |
169 render_view_host->GetMainFrame(), url, false, false); | 171 render_view_host->GetMainFrame(), url, false, false); |
170 | 172 |
171 tab_helper().DidFailProvisionalLoad(render_view_host->GetMainFrame(), | 173 tab_helper().DidFailProvisionalLoad(render_view_host->GetMainFrame(), |
172 url, | 174 url, |
173 net::ERR_TIMED_OUT, | 175 net::ERR_TIMED_OUT, |
174 base::string16()); | 176 base::string16(), |
| 177 false); |
175 | 178 |
176 // Start event for the error page. | 179 // Start event for the error page. |
177 tab_helper().DidStartProvisionalLoadForFrame( | 180 tab_helper().DidStartProvisionalLoadForFrame( |
178 render_view_host->GetMainFrame(), url, true, false); | 181 render_view_host->GetMainFrame(), url, true, false); |
179 | 182 |
180 EXPECT_CALL(mock_reloader(), OnAbort()).Times(1); | 183 EXPECT_CALL(mock_reloader(), OnAbort()).Times(1); |
181 if (navigation_type == kSameProcess) { | 184 if (navigation_type == kSameProcess) { |
182 tab_helper().DidFailProvisionalLoad(render_view_host->GetMainFrame(), | 185 tab_helper().DidFailProvisionalLoad(render_view_host->GetMainFrame(), |
183 url, | 186 url, |
184 net::ERR_ABORTED, | 187 net::ERR_ABORTED, |
185 base::string16()); | 188 base::string16(), |
| 189 false); |
186 } else { | 190 } else { |
187 // For interrupted provisional cross-process navigations, the | 191 // For interrupted provisional cross-process navigations, the |
188 // RenderViewHost is destroyed without sending a DidFailProvisionalLoad | 192 // RenderViewHost is destroyed without sending a DidFailProvisionalLoad |
189 // notification. | 193 // notification. |
190 tab_helper().RenderViewDeleted(render_view_host); | 194 tab_helper().RenderViewDeleted(render_view_host); |
191 } | 195 } |
192 | 196 |
193 // Make sure that above call resulted in abort, for tests that continue | 197 // Make sure that above call resulted in abort, for tests that continue |
194 // after the abort. | 198 // after the abort. |
195 EXPECT_CALL(mock_reloader(), OnAbort()).Times(0); | 199 EXPECT_CALL(mock_reloader(), OnAbort()).Times(0); |
(...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
357 EXPECT_CALL(mock_reloader(), OnAbort()).Times(1); | 361 EXPECT_CALL(mock_reloader(), OnAbort()).Times(1); |
358 EXPECT_CALL(mock_reloader(), | 362 EXPECT_CALL(mock_reloader(), |
359 OnLoadStart(cross_process_url.SchemeIsCryptographic())).Times(1); | 363 OnLoadStart(cross_process_url.SchemeIsCryptographic())).Times(1); |
360 tab_helper().DidStartProvisionalLoadForFrame( | 364 tab_helper().DidStartProvisionalLoadForFrame( |
361 main_render_frame2(), cross_process_url, false, false); | 365 main_render_frame2(), cross_process_url, false, false); |
362 | 366 |
363 // The cross-process navigation fails. | 367 // The cross-process navigation fails. |
364 tab_helper().DidFailProvisionalLoad(main_render_frame2(), | 368 tab_helper().DidFailProvisionalLoad(main_render_frame2(), |
365 cross_process_url, | 369 cross_process_url, |
366 net::ERR_FAILED, | 370 net::ERR_FAILED, |
367 base::string16()); | 371 base::string16(), |
| 372 false); |
368 | 373 |
369 // The same-site navigation finally is aborted. | 374 // The same-site navigation finally is aborted. |
370 tab_helper().DidFailProvisionalLoad(main_render_frame1(), | 375 tab_helper().DidFailProvisionalLoad(main_render_frame1(), |
371 same_site_url, | 376 same_site_url, |
372 net::ERR_ABORTED, | 377 net::ERR_ABORTED, |
373 base::string16()); | 378 base::string16(), |
| 379 false); |
374 | 380 |
375 // The provisional load starts for the error page for the cross-process | 381 // The provisional load starts for the error page for the cross-process |
376 // navigation. | 382 // navigation. |
377 tab_helper().DidStartProvisionalLoadForFrame( | 383 tab_helper().DidStartProvisionalLoadForFrame( |
378 main_render_frame2(), GURL(kErrorPageUrl), true, false); | 384 main_render_frame2(), GURL(kErrorPageUrl), true, false); |
379 | 385 |
380 EXPECT_CALL(mock_reloader(), OnLoadCommitted(net::ERR_FAILED)).Times(1); | 386 EXPECT_CALL(mock_reloader(), OnLoadCommitted(net::ERR_FAILED)).Times(1); |
381 tab_helper().DidCommitProvisionalLoadForFrame(main_render_frame2(), | 387 tab_helper().DidCommitProvisionalLoadForFrame(main_render_frame2(), |
382 GURL(kErrorPageUrl), | 388 GURL(kErrorPageUrl), |
383 ui::PAGE_TRANSITION_TYPED); | 389 ui::PAGE_TRANSITION_TYPED); |
(...skipping 17 matching lines...) Expand all Loading... |
401 EXPECT_CALL(mock_reloader(), OnAbort()).Times(1); | 407 EXPECT_CALL(mock_reloader(), OnAbort()).Times(1); |
402 EXPECT_CALL(mock_reloader(), | 408 EXPECT_CALL(mock_reloader(), |
403 OnLoadStart(cross_process_url.SchemeIsCryptographic())).Times(1); | 409 OnLoadStart(cross_process_url.SchemeIsCryptographic())).Times(1); |
404 tab_helper().DidStartProvisionalLoadForFrame( | 410 tab_helper().DidStartProvisionalLoadForFrame( |
405 main_render_frame2(), cross_process_url, false, false); | 411 main_render_frame2(), cross_process_url, false, false); |
406 | 412 |
407 // The cross-process navigation fails. | 413 // The cross-process navigation fails. |
408 tab_helper().DidFailProvisionalLoad(main_render_frame2(), | 414 tab_helper().DidFailProvisionalLoad(main_render_frame2(), |
409 cross_process_url, | 415 cross_process_url, |
410 net::ERR_FAILED, | 416 net::ERR_FAILED, |
411 base::string16()); | 417 base::string16(), |
| 418 false); |
412 | 419 |
413 // The same-site navigation succeeds. | 420 // The same-site navigation succeeds. |
414 EXPECT_CALL(mock_reloader(), OnAbort()).Times(1); | 421 EXPECT_CALL(mock_reloader(), OnAbort()).Times(1); |
415 EXPECT_CALL(mock_reloader(), | 422 EXPECT_CALL(mock_reloader(), |
416 OnLoadStart(same_site_url.SchemeIsCryptographic())).Times(1); | 423 OnLoadStart(same_site_url.SchemeIsCryptographic())).Times(1); |
417 EXPECT_CALL(mock_reloader(), OnLoadCommitted(net::OK)).Times(1); | 424 EXPECT_CALL(mock_reloader(), OnLoadCommitted(net::OK)).Times(1); |
418 tab_helper().DidCommitProvisionalLoadForFrame( | 425 tab_helper().DidCommitProvisionalLoadForFrame( |
419 main_render_frame1(), same_site_url, ui::PAGE_TRANSITION_LINK); | 426 main_render_frame1(), same_site_url, ui::PAGE_TRANSITION_LINK); |
420 } | 427 } |
421 | 428 |
(...skipping 10 matching lines...) Expand all Loading... |
432 // Normal load. | 439 // Normal load. |
433 tab_helper().DidStartProvisionalLoadForFrame(subframe1, url, false, false); | 440 tab_helper().DidStartProvisionalLoadForFrame(subframe1, url, false, false); |
434 tab_helper().DidCommitProvisionalLoadForFrame( | 441 tab_helper().DidCommitProvisionalLoadForFrame( |
435 subframe1, url, ui::PAGE_TRANSITION_LINK); | 442 subframe1, url, ui::PAGE_TRANSITION_LINK); |
436 | 443 |
437 // Timeout. | 444 // Timeout. |
438 content::RenderFrameHost* subframe2 = | 445 content::RenderFrameHost* subframe2 = |
439 render_frame_host_tester->AppendChild("subframe2"); | 446 render_frame_host_tester->AppendChild("subframe2"); |
440 tab_helper().DidStartProvisionalLoadForFrame(subframe2, url, false, false); | 447 tab_helper().DidStartProvisionalLoadForFrame(subframe2, url, false, false); |
441 tab_helper().DidFailProvisionalLoad( | 448 tab_helper().DidFailProvisionalLoad( |
442 subframe2, url, net::ERR_TIMED_OUT, base::string16()); | 449 subframe2, url, net::ERR_TIMED_OUT, base::string16(), false); |
443 tab_helper().DidStartProvisionalLoadForFrame(subframe2, url, true, false); | 450 tab_helper().DidStartProvisionalLoadForFrame(subframe2, url, true, false); |
444 tab_helper().DidFailProvisionalLoad( | 451 tab_helper().DidFailProvisionalLoad( |
445 subframe2, url, net::ERR_ABORTED, base::string16()); | 452 subframe2, url, net::ERR_ABORTED, base::string16(), false); |
446 | 453 |
447 // Abort. | 454 // Abort. |
448 content::RenderFrameHost* subframe3 = | 455 content::RenderFrameHost* subframe3 = |
449 render_frame_host_tester->AppendChild("subframe3"); | 456 render_frame_host_tester->AppendChild("subframe3"); |
450 tab_helper().DidStartProvisionalLoadForFrame(subframe3, url, false, false); | 457 tab_helper().DidStartProvisionalLoadForFrame(subframe3, url, false, false); |
451 tab_helper().DidFailProvisionalLoad( | 458 tab_helper().DidFailProvisionalLoad( |
452 subframe3, url, net::ERR_ABORTED, base::string16()); | 459 subframe3, url, net::ERR_ABORTED, base::string16(), false); |
453 } | 460 } |
454 | 461 |
455 // Simulates a subframe erroring out at the same time as a provisional load, | 462 // Simulates a subframe erroring out at the same time as a provisional load, |
456 // but with a different error code. Make sure the TabHelper sees the correct | 463 // but with a different error code. Make sure the TabHelper sees the correct |
457 // error. | 464 // error. |
458 TEST_F(CaptivePortalTabHelperTest, HttpsSubframeParallelError) { | 465 TEST_F(CaptivePortalTabHelperTest, HttpsSubframeParallelError) { |
459 // URL used by both frames. | 466 // URL used by both frames. |
460 GURL url = GURL(kHttpsUrl); | 467 GURL url = GURL(kHttpsUrl); |
461 content::RenderFrameHost* subframe = | 468 content::RenderFrameHost* subframe = |
462 content::RenderFrameHostTester::For(main_render_frame1()) | 469 content::RenderFrameHostTester::For(main_render_frame1()) |
463 ->AppendChild("subframe"); | 470 ->AppendChild("subframe"); |
464 | 471 |
465 // Loads start. | 472 // Loads start. |
466 EXPECT_CALL(mock_reloader(), OnLoadStart(url.SchemeIsCryptographic())) | 473 EXPECT_CALL(mock_reloader(), OnLoadStart(url.SchemeIsCryptographic())) |
467 .Times(1); | 474 .Times(1); |
468 tab_helper().DidStartProvisionalLoadForFrame( | 475 tab_helper().DidStartProvisionalLoadForFrame( |
469 main_render_frame1(), url, false, false); | 476 main_render_frame1(), url, false, false); |
470 tab_helper().DidStartProvisionalLoadForFrame(subframe, url, false, false); | 477 tab_helper().DidStartProvisionalLoadForFrame(subframe, url, false, false); |
471 | 478 |
472 // Loads return errors. | 479 // Loads return errors. |
473 tab_helper().DidFailProvisionalLoad( | 480 tab_helper().DidFailProvisionalLoad( |
474 main_render_frame1(), url, net::ERR_UNEXPECTED, base::string16()); | 481 main_render_frame1(), url, net::ERR_UNEXPECTED, base::string16(), false); |
475 tab_helper().DidFailProvisionalLoad( | 482 tab_helper().DidFailProvisionalLoad( |
476 subframe, url, net::ERR_TIMED_OUT, base::string16()); | 483 subframe, url, net::ERR_TIMED_OUT, base::string16(), false); |
477 | 484 |
478 // Provisional load starts for the error pages. | 485 // Provisional load starts for the error pages. |
479 tab_helper().DidStartProvisionalLoadForFrame( | 486 tab_helper().DidStartProvisionalLoadForFrame( |
480 main_render_frame1(), url, true, false); | 487 main_render_frame1(), url, true, false); |
481 tab_helper().DidStartProvisionalLoadForFrame(subframe, url, true, false); | 488 tab_helper().DidStartProvisionalLoadForFrame(subframe, url, true, false); |
482 | 489 |
483 // Error page load finishes. | 490 // Error page load finishes. |
484 tab_helper().DidCommitProvisionalLoadForFrame( | 491 tab_helper().DidCommitProvisionalLoadForFrame( |
485 subframe, url, ui::PAGE_TRANSITION_AUTO_SUBFRAME); | 492 subframe, url, ui::PAGE_TRANSITION_AUTO_SUBFRAME); |
486 EXPECT_CALL(mock_reloader(), OnLoadCommitted(net::ERR_UNEXPECTED)).Times(1); | 493 EXPECT_CALL(mock_reloader(), OnLoadCommitted(net::ERR_UNEXPECTED)).Times(1); |
(...skipping 10 matching lines...) Expand all Loading... |
497 | 504 |
498 GURL https_url(kHttpsUrl); | 505 GURL https_url(kHttpsUrl); |
499 EXPECT_CALL(mock_reloader(), OnRedirect(true)).Times(1); | 506 EXPECT_CALL(mock_reloader(), OnRedirect(true)).Times(1); |
500 OnRedirect(content::RESOURCE_TYPE_MAIN_FRAME, | 507 OnRedirect(content::RESOURCE_TYPE_MAIN_FRAME, |
501 https_url, | 508 https_url, |
502 render_view_host1()->GetProcess()->GetID()); | 509 render_view_host1()->GetProcess()->GetID()); |
503 | 510 |
504 tab_helper().DidFailProvisionalLoad(main_render_frame1(), | 511 tab_helper().DidFailProvisionalLoad(main_render_frame1(), |
505 https_url, | 512 https_url, |
506 net::ERR_TIMED_OUT, | 513 net::ERR_TIMED_OUT, |
507 base::string16()); | 514 base::string16(), |
| 515 false); |
508 | 516 |
509 // Provisional load starts for the error page. | 517 // Provisional load starts for the error page. |
510 tab_helper().DidStartProvisionalLoadForFrame( | 518 tab_helper().DidStartProvisionalLoadForFrame( |
511 main_render_frame1(), GURL(kErrorPageUrl), true, false); | 519 main_render_frame1(), GURL(kErrorPageUrl), true, false); |
512 | 520 |
513 EXPECT_CALL(mock_reloader(), OnLoadCommitted(net::ERR_TIMED_OUT)).Times(1); | 521 EXPECT_CALL(mock_reloader(), OnLoadCommitted(net::ERR_TIMED_OUT)).Times(1); |
514 tab_helper().DidCommitProvisionalLoadForFrame(main_render_frame1(), | 522 tab_helper().DidCommitProvisionalLoadForFrame(main_render_frame1(), |
515 GURL(kErrorPageUrl), | 523 GURL(kErrorPageUrl), |
516 ui::PAGE_TRANSITION_LINK); | 524 ui::PAGE_TRANSITION_LINK); |
517 } | 525 } |
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
581 // Another RenderViewHost sees a redirect. None of the reloader's functions | 589 // Another RenderViewHost sees a redirect. None of the reloader's functions |
582 // should be called. | 590 // should be called. |
583 GURL https_url(kHttpsUrl); | 591 GURL https_url(kHttpsUrl); |
584 OnRedirect(content::RESOURCE_TYPE_MAIN_FRAME, | 592 OnRedirect(content::RESOURCE_TYPE_MAIN_FRAME, |
585 https_url, | 593 https_url, |
586 render_view_host2()->GetProcess()->GetID()); | 594 render_view_host2()->GetProcess()->GetID()); |
587 | 595 |
588 tab_helper().DidFailProvisionalLoad(main_render_frame1(), | 596 tab_helper().DidFailProvisionalLoad(main_render_frame1(), |
589 https_url, | 597 https_url, |
590 net::ERR_TIMED_OUT, | 598 net::ERR_TIMED_OUT, |
591 base::string16()); | 599 base::string16(), |
| 600 false); |
592 | 601 |
593 // Provisional load starts for the error page. | 602 // Provisional load starts for the error page. |
594 tab_helper().DidStartProvisionalLoadForFrame( | 603 tab_helper().DidStartProvisionalLoadForFrame( |
595 main_render_frame1(), GURL(kErrorPageUrl), true, false); | 604 main_render_frame1(), GURL(kErrorPageUrl), true, false); |
596 | 605 |
597 EXPECT_CALL(mock_reloader(), OnLoadCommitted(net::ERR_TIMED_OUT)).Times(1); | 606 EXPECT_CALL(mock_reloader(), OnLoadCommitted(net::ERR_TIMED_OUT)).Times(1); |
598 tab_helper().DidCommitProvisionalLoadForFrame(main_render_frame1(), | 607 tab_helper().DidCommitProvisionalLoadForFrame(main_render_frame1(), |
599 GURL(kErrorPageUrl), | 608 GURL(kErrorPageUrl), |
600 ui::PAGE_TRANSITION_LINK); | 609 ui::PAGE_TRANSITION_LINK); |
601 } | 610 } |
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
648 EXPECT_FALSE(tab_helper().IsLoginTab()); | 657 EXPECT_FALSE(tab_helper().IsLoginTab()); |
649 | 658 |
650 ObservePortalResult(captive_portal::RESULT_BEHIND_CAPTIVE_PORTAL, | 659 ObservePortalResult(captive_portal::RESULT_BEHIND_CAPTIVE_PORTAL, |
651 captive_portal::RESULT_NO_RESPONSE); | 660 captive_portal::RESULT_NO_RESPONSE); |
652 EXPECT_FALSE(tab_helper().IsLoginTab()); | 661 EXPECT_FALSE(tab_helper().IsLoginTab()); |
653 | 662 |
654 ObservePortalResult(captive_portal::RESULT_NO_RESPONSE, | 663 ObservePortalResult(captive_portal::RESULT_NO_RESPONSE, |
655 captive_portal::RESULT_INTERNET_CONNECTED); | 664 captive_portal::RESULT_INTERNET_CONNECTED); |
656 EXPECT_FALSE(tab_helper().IsLoginTab()); | 665 EXPECT_FALSE(tab_helper().IsLoginTab()); |
657 } | 666 } |
OLD | NEW |