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 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
80 | 80 |
81 void TearDown() override { | 81 void TearDown() override { |
82 web_contents2_.reset(NULL); | 82 web_contents2_.reset(NULL); |
83 web_contents1_.reset(NULL); | 83 web_contents1_.reset(NULL); |
84 ChromeRenderViewHostTestHarness::TearDown(); | 84 ChromeRenderViewHostTestHarness::TearDown(); |
85 } | 85 } |
86 | 86 |
87 // Simulates a successful load of |url|. | 87 // Simulates a successful load of |url|. |
88 void SimulateSuccess(const GURL& url, | 88 void SimulateSuccess(const GURL& url, |
89 content::RenderViewHost* render_view_host) { | 89 content::RenderViewHost* render_view_host) { |
90 EXPECT_CALL(mock_reloader(), OnLoadStart(url.SchemeUsesTLS())).Times(1); | 90 EXPECT_CALL(mock_reloader(), OnLoadStart(url.SchemeIsCryptographic())) |
| 91 .Times(1); |
91 tab_helper().DidStartProvisionalLoadForFrame( | 92 tab_helper().DidStartProvisionalLoadForFrame( |
92 render_view_host->GetMainFrame(), url, false, false); | 93 render_view_host->GetMainFrame(), url, false, false); |
93 | 94 |
94 EXPECT_CALL(mock_reloader(), OnLoadCommitted(net::OK)).Times(1); | 95 EXPECT_CALL(mock_reloader(), OnLoadCommitted(net::OK)).Times(1); |
95 tab_helper().DidCommitProvisionalLoadForFrame( | 96 tab_helper().DidCommitProvisionalLoadForFrame( |
96 render_view_host->GetMainFrame(), | 97 render_view_host->GetMainFrame(), |
97 url, | 98 url, |
98 ui::PAGE_TRANSITION_LINK); | 99 ui::PAGE_TRANSITION_LINK); |
99 } | 100 } |
100 | 101 |
101 // Simulates a connection timeout while requesting |url|. | 102 // Simulates a connection timeout while requesting |url|. |
102 void SimulateTimeout(const GURL& url, | 103 void SimulateTimeout(const GURL& url, |
103 content::RenderViewHost* render_view_host) { | 104 content::RenderViewHost* render_view_host) { |
104 EXPECT_CALL(mock_reloader(), OnLoadStart(url.SchemeUsesTLS())).Times(1); | 105 EXPECT_CALL(mock_reloader(), OnLoadStart(url.SchemeIsCryptographic())) |
| 106 .Times(1); |
105 tab_helper().DidStartProvisionalLoadForFrame( | 107 tab_helper().DidStartProvisionalLoadForFrame( |
106 render_view_host->GetMainFrame(), url, false, false); | 108 render_view_host->GetMainFrame(), url, false, false); |
107 | 109 |
108 tab_helper().DidFailProvisionalLoad(render_view_host->GetMainFrame(), | 110 tab_helper().DidFailProvisionalLoad(render_view_host->GetMainFrame(), |
109 url, | 111 url, |
110 net::ERR_TIMED_OUT, | 112 net::ERR_TIMED_OUT, |
111 base::string16()); | 113 base::string16()); |
112 | 114 |
113 // Provisional load starts for the error page. | 115 // Provisional load starts for the error page. |
114 tab_helper().DidStartProvisionalLoadForFrame( | 116 tab_helper().DidStartProvisionalLoadForFrame( |
115 render_view_host->GetMainFrame(), GURL(kErrorPageUrl), true, false); | 117 render_view_host->GetMainFrame(), GURL(kErrorPageUrl), true, false); |
116 | 118 |
117 EXPECT_CALL(mock_reloader(), OnLoadCommitted(net::ERR_TIMED_OUT)).Times(1); | 119 EXPECT_CALL(mock_reloader(), OnLoadCommitted(net::ERR_TIMED_OUT)).Times(1); |
118 tab_helper().DidCommitProvisionalLoadForFrame( | 120 tab_helper().DidCommitProvisionalLoadForFrame( |
119 render_view_host->GetMainFrame(), | 121 render_view_host->GetMainFrame(), |
120 GURL(kErrorPageUrl), | 122 GURL(kErrorPageUrl), |
121 ui::PAGE_TRANSITION_LINK); | 123 ui::PAGE_TRANSITION_LINK); |
122 } | 124 } |
123 | 125 |
124 // Simulates an abort while requesting |url|. | 126 // Simulates an abort while requesting |url|. |
125 void SimulateAbort(const GURL& url, | 127 void SimulateAbort(const GURL& url, |
126 content::RenderViewHost* render_view_host, | 128 content::RenderViewHost* render_view_host, |
127 NavigationType navigation_type) { | 129 NavigationType navigation_type) { |
128 EXPECT_CALL(mock_reloader(), OnLoadStart(url.SchemeUsesTLS())).Times(1); | 130 EXPECT_CALL(mock_reloader(), OnLoadStart(url.SchemeIsCryptographic())) |
| 131 .Times(1); |
129 tab_helper().DidStartProvisionalLoadForFrame( | 132 tab_helper().DidStartProvisionalLoadForFrame( |
130 render_view_host->GetMainFrame(), url, false, false); | 133 render_view_host->GetMainFrame(), url, false, false); |
131 | 134 |
132 EXPECT_CALL(mock_reloader(), OnAbort()).Times(1); | 135 EXPECT_CALL(mock_reloader(), OnAbort()).Times(1); |
133 if (navigation_type == kSameProcess) { | 136 if (navigation_type == kSameProcess) { |
134 tab_helper().DidFailProvisionalLoad(render_view_host->GetMainFrame(), | 137 tab_helper().DidFailProvisionalLoad(render_view_host->GetMainFrame(), |
135 url, | 138 url, |
136 net::ERR_ABORTED, | 139 net::ERR_ABORTED, |
137 base::string16()); | 140 base::string16()); |
138 } else { | 141 } else { |
139 // For interrupted provisional cross-process navigations, the | 142 // For interrupted provisional cross-process navigations, the |
140 // RenderViewHost is destroyed without sending a DidFailProvisionalLoad | 143 // RenderViewHost is destroyed without sending a DidFailProvisionalLoad |
141 // notification. | 144 // notification. |
142 tab_helper().RenderViewDeleted(render_view_host); | 145 tab_helper().RenderViewDeleted(render_view_host); |
143 } | 146 } |
144 | 147 |
145 // Make sure that above call resulted in abort, for tests that continue | 148 // Make sure that above call resulted in abort, for tests that continue |
146 // after the abort. | 149 // after the abort. |
147 EXPECT_CALL(mock_reloader(), OnAbort()).Times(0); | 150 EXPECT_CALL(mock_reloader(), OnAbort()).Times(0); |
148 } | 151 } |
149 | 152 |
150 // Simulates an abort while loading an error page. | 153 // Simulates an abort while loading an error page. |
151 void SimulateAbortTimeout(const GURL& url, | 154 void SimulateAbortTimeout(const GURL& url, |
152 content::RenderViewHost* render_view_host, | 155 content::RenderViewHost* render_view_host, |
153 NavigationType navigation_type) { | 156 NavigationType navigation_type) { |
154 EXPECT_CALL(mock_reloader(), OnLoadStart(url.SchemeUsesTLS())).Times(1); | 157 EXPECT_CALL(mock_reloader(), OnLoadStart(url.SchemeIsCryptographic())) |
| 158 .Times(1); |
155 tab_helper().DidStartProvisionalLoadForFrame( | 159 tab_helper().DidStartProvisionalLoadForFrame( |
156 render_view_host->GetMainFrame(), url, false, false); | 160 render_view_host->GetMainFrame(), url, false, false); |
157 | 161 |
158 tab_helper().DidFailProvisionalLoad(render_view_host->GetMainFrame(), | 162 tab_helper().DidFailProvisionalLoad(render_view_host->GetMainFrame(), |
159 url, | 163 url, |
160 net::ERR_TIMED_OUT, | 164 net::ERR_TIMED_OUT, |
161 base::string16()); | 165 base::string16()); |
162 | 166 |
163 // Start event for the error page. | 167 // Start event for the error page. |
164 tab_helper().DidStartProvisionalLoadForFrame( | 168 tab_helper().DidStartProvisionalLoadForFrame( |
(...skipping 162 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
327 } | 331 } |
328 | 332 |
329 // A provisional same-site navigation is interrupted by a cross-process | 333 // A provisional same-site navigation is interrupted by a cross-process |
330 // navigation without sending an abort first. | 334 // navigation without sending an abort first. |
331 TEST_F(CaptivePortalTabHelperTest, UnexpectedProvisionalLoad) { | 335 TEST_F(CaptivePortalTabHelperTest, UnexpectedProvisionalLoad) { |
332 GURL same_site_url = GURL(kHttpUrl); | 336 GURL same_site_url = GURL(kHttpUrl); |
333 GURL cross_process_url = GURL(kHttpsUrl2); | 337 GURL cross_process_url = GURL(kHttpsUrl2); |
334 | 338 |
335 // A same-site load for the original RenderViewHost starts. | 339 // A same-site load for the original RenderViewHost starts. |
336 EXPECT_CALL(mock_reloader(), | 340 EXPECT_CALL(mock_reloader(), |
337 OnLoadStart(same_site_url.SchemeUsesTLS())).Times(1); | 341 OnLoadStart(same_site_url.SchemeIsCryptographic())).Times(1); |
338 tab_helper().DidStartProvisionalLoadForFrame( | 342 tab_helper().DidStartProvisionalLoadForFrame( |
339 main_render_frame1(), same_site_url, false, false); | 343 main_render_frame1(), same_site_url, false, false); |
340 | 344 |
341 // It's unexpectedly interrupted by a cross-process navigation, which starts | 345 // It's unexpectedly interrupted by a cross-process navigation, which starts |
342 // navigating before the old navigation cancels. We generate an abort message | 346 // navigating before the old navigation cancels. We generate an abort message |
343 // for the old navigation. | 347 // for the old navigation. |
344 EXPECT_CALL(mock_reloader(), OnAbort()).Times(1); | 348 EXPECT_CALL(mock_reloader(), OnAbort()).Times(1); |
345 EXPECT_CALL(mock_reloader(), | 349 EXPECT_CALL(mock_reloader(), |
346 OnLoadStart(cross_process_url.SchemeUsesTLS())).Times(1); | 350 OnLoadStart(cross_process_url.SchemeIsCryptographic())).Times(1); |
347 tab_helper().DidStartProvisionalLoadForFrame( | 351 tab_helper().DidStartProvisionalLoadForFrame( |
348 main_render_frame2(), cross_process_url, false, false); | 352 main_render_frame2(), cross_process_url, false, false); |
349 | 353 |
350 // The cross-process navigation fails. | 354 // The cross-process navigation fails. |
351 tab_helper().DidFailProvisionalLoad(main_render_frame2(), | 355 tab_helper().DidFailProvisionalLoad(main_render_frame2(), |
352 cross_process_url, | 356 cross_process_url, |
353 net::ERR_FAILED, | 357 net::ERR_FAILED, |
354 base::string16()); | 358 base::string16()); |
355 | 359 |
356 // The same-site navigation finally is aborted. | 360 // The same-site navigation finally is aborted. |
(...skipping 14 matching lines...) Expand all Loading... |
371 } | 375 } |
372 | 376 |
373 // Similar to the above test, except the original RenderViewHost manages to | 377 // Similar to the above test, except the original RenderViewHost manages to |
374 // commit before its navigation is aborted. | 378 // commit before its navigation is aborted. |
375 TEST_F(CaptivePortalTabHelperTest, UnexpectedCommit) { | 379 TEST_F(CaptivePortalTabHelperTest, UnexpectedCommit) { |
376 GURL same_site_url = GURL(kHttpUrl); | 380 GURL same_site_url = GURL(kHttpUrl); |
377 GURL cross_process_url = GURL(kHttpsUrl2); | 381 GURL cross_process_url = GURL(kHttpsUrl2); |
378 | 382 |
379 // A same-site load for the original RenderViewHost starts. | 383 // A same-site load for the original RenderViewHost starts. |
380 EXPECT_CALL(mock_reloader(), | 384 EXPECT_CALL(mock_reloader(), |
381 OnLoadStart(same_site_url.SchemeUsesTLS())).Times(1); | 385 OnLoadStart(same_site_url.SchemeIsCryptographic())).Times(1); |
382 tab_helper().DidStartProvisionalLoadForFrame( | 386 tab_helper().DidStartProvisionalLoadForFrame( |
383 main_render_frame1(), same_site_url, false, false); | 387 main_render_frame1(), same_site_url, false, false); |
384 | 388 |
385 // It's unexpectedly interrupted by a cross-process navigation, which starts | 389 // It's unexpectedly interrupted by a cross-process navigation, which starts |
386 // navigating before the old navigation cancels. We generate an abort message | 390 // navigating before the old navigation cancels. We generate an abort message |
387 // for the old navigation. | 391 // for the old navigation. |
388 EXPECT_CALL(mock_reloader(), OnAbort()).Times(1); | 392 EXPECT_CALL(mock_reloader(), OnAbort()).Times(1); |
389 EXPECT_CALL(mock_reloader(), | 393 EXPECT_CALL(mock_reloader(), |
390 OnLoadStart(cross_process_url.SchemeUsesTLS())).Times(1); | 394 OnLoadStart(cross_process_url.SchemeIsCryptographic())).Times(1); |
391 tab_helper().DidStartProvisionalLoadForFrame( | 395 tab_helper().DidStartProvisionalLoadForFrame( |
392 main_render_frame2(), cross_process_url, false, false); | 396 main_render_frame2(), cross_process_url, false, false); |
393 | 397 |
394 // The cross-process navigation fails. | 398 // The cross-process navigation fails. |
395 tab_helper().DidFailProvisionalLoad(main_render_frame2(), | 399 tab_helper().DidFailProvisionalLoad(main_render_frame2(), |
396 cross_process_url, | 400 cross_process_url, |
397 net::ERR_FAILED, | 401 net::ERR_FAILED, |
398 base::string16()); | 402 base::string16()); |
399 | 403 |
400 // The same-site navigation succeeds. | 404 // The same-site navigation succeeds. |
401 EXPECT_CALL(mock_reloader(), OnAbort()).Times(1); | 405 EXPECT_CALL(mock_reloader(), OnAbort()).Times(1); |
402 EXPECT_CALL(mock_reloader(), | 406 EXPECT_CALL(mock_reloader(), |
403 OnLoadStart(same_site_url.SchemeUsesTLS())).Times(1); | 407 OnLoadStart(same_site_url.SchemeIsCryptographic())).Times(1); |
404 EXPECT_CALL(mock_reloader(), OnLoadCommitted(net::OK)).Times(1); | 408 EXPECT_CALL(mock_reloader(), OnLoadCommitted(net::OK)).Times(1); |
405 tab_helper().DidCommitProvisionalLoadForFrame( | 409 tab_helper().DidCommitProvisionalLoadForFrame( |
406 main_render_frame1(), same_site_url, ui::PAGE_TRANSITION_LINK); | 410 main_render_frame1(), same_site_url, ui::PAGE_TRANSITION_LINK); |
407 } | 411 } |
408 | 412 |
409 // Simulates navigations for a number of subframes, and makes sure no | 413 // Simulates navigations for a number of subframes, and makes sure no |
410 // CaptivePortalTabHelper function is called. | 414 // CaptivePortalTabHelper function is called. |
411 TEST_F(CaptivePortalTabHelperTest, HttpsSubframe) { | 415 TEST_F(CaptivePortalTabHelperTest, HttpsSubframe) { |
412 GURL url = GURL(kHttpsUrl); | 416 GURL url = GURL(kHttpsUrl); |
413 | 417 |
(...skipping 29 matching lines...) Expand all Loading... |
443 // but with a different error code. Make sure the TabHelper sees the correct | 447 // but with a different error code. Make sure the TabHelper sees the correct |
444 // error. | 448 // error. |
445 TEST_F(CaptivePortalTabHelperTest, HttpsSubframeParallelError) { | 449 TEST_F(CaptivePortalTabHelperTest, HttpsSubframeParallelError) { |
446 // URL used by both frames. | 450 // URL used by both frames. |
447 GURL url = GURL(kHttpsUrl); | 451 GURL url = GURL(kHttpsUrl); |
448 content::RenderFrameHost* subframe = | 452 content::RenderFrameHost* subframe = |
449 content::RenderFrameHostTester::For(main_render_frame1()) | 453 content::RenderFrameHostTester::For(main_render_frame1()) |
450 ->AppendChild("subframe"); | 454 ->AppendChild("subframe"); |
451 | 455 |
452 // Loads start. | 456 // Loads start. |
453 EXPECT_CALL(mock_reloader(), OnLoadStart(url.SchemeUsesTLS())).Times(1); | 457 EXPECT_CALL(mock_reloader(), OnLoadStart(url.SchemeIsCryptographic())) |
| 458 .Times(1); |
454 tab_helper().DidStartProvisionalLoadForFrame( | 459 tab_helper().DidStartProvisionalLoadForFrame( |
455 main_render_frame1(), url, false, false); | 460 main_render_frame1(), url, false, false); |
456 tab_helper().DidStartProvisionalLoadForFrame(subframe, url, false, false); | 461 tab_helper().DidStartProvisionalLoadForFrame(subframe, url, false, false); |
457 | 462 |
458 // Loads return errors. | 463 // Loads return errors. |
459 tab_helper().DidFailProvisionalLoad( | 464 tab_helper().DidFailProvisionalLoad( |
460 main_render_frame1(), url, net::ERR_UNEXPECTED, base::string16()); | 465 main_render_frame1(), url, net::ERR_UNEXPECTED, base::string16()); |
461 tab_helper().DidFailProvisionalLoad( | 466 tab_helper().DidFailProvisionalLoad( |
462 subframe, url, net::ERR_TIMED_OUT, base::string16()); | 467 subframe, url, net::ERR_TIMED_OUT, base::string16()); |
463 | 468 |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
498 | 503 |
499 EXPECT_CALL(mock_reloader(), OnLoadCommitted(net::ERR_TIMED_OUT)).Times(1); | 504 EXPECT_CALL(mock_reloader(), OnLoadCommitted(net::ERR_TIMED_OUT)).Times(1); |
500 tab_helper().DidCommitProvisionalLoadForFrame(main_render_frame1(), | 505 tab_helper().DidCommitProvisionalLoadForFrame(main_render_frame1(), |
501 GURL(kErrorPageUrl), | 506 GURL(kErrorPageUrl), |
502 ui::PAGE_TRANSITION_LINK); | 507 ui::PAGE_TRANSITION_LINK); |
503 } | 508 } |
504 | 509 |
505 // Simulates an HTTPS to HTTP redirect. | 510 // Simulates an HTTPS to HTTP redirect. |
506 TEST_F(CaptivePortalTabHelperTest, HttpsToHttpRedirect) { | 511 TEST_F(CaptivePortalTabHelperTest, HttpsToHttpRedirect) { |
507 GURL https_url(kHttpsUrl); | 512 GURL https_url(kHttpsUrl); |
508 EXPECT_CALL(mock_reloader(), | 513 EXPECT_CALL(mock_reloader(), OnLoadStart(https_url.SchemeIsCryptographic())) |
509 OnLoadStart(https_url.SchemeUsesTLS())).Times(1); | 514 .Times(1); |
510 tab_helper().DidStartProvisionalLoadForFrame( | 515 tab_helper().DidStartProvisionalLoadForFrame( |
511 main_render_frame1(), https_url, false, false); | 516 main_render_frame1(), https_url, false, false); |
512 | 517 |
513 GURL http_url(kHttpUrl); | 518 GURL http_url(kHttpUrl); |
514 EXPECT_CALL(mock_reloader(), OnRedirect(http_url.SchemeUsesTLS())).Times(1); | 519 EXPECT_CALL(mock_reloader(), OnRedirect(http_url.SchemeIsCryptographic())) |
| 520 .Times(1); |
515 OnRedirect(content::RESOURCE_TYPE_MAIN_FRAME, http_url, | 521 OnRedirect(content::RESOURCE_TYPE_MAIN_FRAME, http_url, |
516 render_view_host1()->GetProcess()->GetID()); | 522 render_view_host1()->GetProcess()->GetID()); |
517 | 523 |
518 EXPECT_CALL(mock_reloader(), OnLoadCommitted(net::OK)).Times(1); | 524 EXPECT_CALL(mock_reloader(), OnLoadCommitted(net::OK)).Times(1); |
519 tab_helper().DidCommitProvisionalLoadForFrame( | 525 tab_helper().DidCommitProvisionalLoadForFrame( |
520 main_render_frame1(), http_url, ui::PAGE_TRANSITION_LINK); | 526 main_render_frame1(), http_url, ui::PAGE_TRANSITION_LINK); |
521 } | 527 } |
522 | 528 |
523 // Simulates an HTTPS to HTTPS redirect. | 529 // Simulates an HTTPS to HTTPS redirect. |
524 TEST_F(CaptivePortalTabHelperTest, HttpToHttpRedirect) { | 530 TEST_F(CaptivePortalTabHelperTest, HttpToHttpRedirect) { |
525 GURL http_url(kHttpUrl); | 531 GURL http_url(kHttpUrl); |
526 EXPECT_CALL(mock_reloader(), | 532 EXPECT_CALL(mock_reloader(), OnLoadStart(http_url.SchemeIsCryptographic())) |
527 OnLoadStart(http_url.SchemeUsesTLS())).Times(1); | 533 .Times(1); |
528 tab_helper().DidStartProvisionalLoadForFrame( | 534 tab_helper().DidStartProvisionalLoadForFrame( |
529 main_render_frame1(), http_url, false, false); | 535 main_render_frame1(), http_url, false, false); |
530 | 536 |
531 EXPECT_CALL(mock_reloader(), OnRedirect(http_url.SchemeUsesTLS())).Times(1); | 537 EXPECT_CALL(mock_reloader(), OnRedirect(http_url.SchemeIsCryptographic())) |
| 538 .Times(1); |
532 OnRedirect(content::RESOURCE_TYPE_MAIN_FRAME, http_url, | 539 OnRedirect(content::RESOURCE_TYPE_MAIN_FRAME, http_url, |
533 render_view_host1()->GetProcess()->GetID()); | 540 render_view_host1()->GetProcess()->GetID()); |
534 | 541 |
535 EXPECT_CALL(mock_reloader(), OnLoadCommitted(net::OK)).Times(1); | 542 EXPECT_CALL(mock_reloader(), OnLoadCommitted(net::OK)).Times(1); |
536 tab_helper().DidCommitProvisionalLoadForFrame( | 543 tab_helper().DidCommitProvisionalLoadForFrame( |
537 main_render_frame1(), http_url, ui::PAGE_TRANSITION_LINK); | 544 main_render_frame1(), http_url, ui::PAGE_TRANSITION_LINK); |
538 } | 545 } |
539 | 546 |
540 // Tests that a subframe redirect doesn't reset the timer to kick off a captive | 547 // Tests that a subframe redirect doesn't reset the timer to kick off a captive |
541 // portal probe for the main frame if the main frame request is taking too long. | 548 // portal probe for the main frame if the main frame request is taking too long. |
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
632 EXPECT_FALSE(tab_helper().IsLoginTab()); | 639 EXPECT_FALSE(tab_helper().IsLoginTab()); |
633 | 640 |
634 ObservePortalResult(captive_portal::RESULT_BEHIND_CAPTIVE_PORTAL, | 641 ObservePortalResult(captive_portal::RESULT_BEHIND_CAPTIVE_PORTAL, |
635 captive_portal::RESULT_NO_RESPONSE); | 642 captive_portal::RESULT_NO_RESPONSE); |
636 EXPECT_FALSE(tab_helper().IsLoginTab()); | 643 EXPECT_FALSE(tab_helper().IsLoginTab()); |
637 | 644 |
638 ObservePortalResult(captive_portal::RESULT_NO_RESPONSE, | 645 ObservePortalResult(captive_portal::RESULT_NO_RESPONSE, |
639 captive_portal::RESULT_INTERNET_CONNECTED); | 646 captive_portal::RESULT_INTERNET_CONNECTED); |
640 EXPECT_FALSE(tab_helper().IsLoginTab()); | 647 EXPECT_FALSE(tab_helper().IsLoginTab()); |
641 } | 648 } |
OLD | NEW |