| Index: chrome/browser/captive_portal/captive_portal_tab_helper.cc
|
| diff --git a/chrome/browser/captive_portal/captive_portal_tab_helper.cc b/chrome/browser/captive_portal/captive_portal_tab_helper.cc
|
| index 1e76e41359d1edb19097117f92e7cad68d043409..9bec18073a01e1728bcc57f30045e8dafb2d845e 100644
|
| --- a/chrome/browser/captive_portal/captive_portal_tab_helper.cc
|
| +++ b/chrome/browser/captive_portal/captive_portal_tab_helper.cc
|
| @@ -62,8 +62,7 @@ void CaptivePortalTabHelper::DidStartNavigation(
|
| // and it committed (either the navigation proper or an error page), it is
|
| // safe to start tracking the new navigation. Otherwise simulate an abort
|
| // before reporting the start of the new navigation.
|
| - if (navigation_handle_ && !navigation_handle_->HasCommittedDocument() &&
|
| - !navigation_handle_->HasCommittedErrorPage()) {
|
| + if (navigation_handle_ && !navigation_handle_->HasCommitted()) {
|
| tab_reloader_->OnAbort();
|
| }
|
|
|
| @@ -82,35 +81,35 @@ void CaptivePortalTabHelper::DidRedirectNavigation(
|
| navigation_handle->GetURL().SchemeIsCryptographic());
|
| }
|
|
|
| -void CaptivePortalTabHelper::DidCommitNavigation(
|
| +void CaptivePortalTabHelper::DidFinishNavigation(
|
| content::NavigationHandle* navigation_handle) {
|
| DCHECK(CalledOnValidThread());
|
| if (!navigation_handle->IsInMainFrame())
|
| return;
|
|
|
| - if (navigation_handle_ != navigation_handle)
|
| + if (navigation_handle_ != navigation_handle) {
|
| + // Another navigation is being tracked, so there is no need to update the
|
| + // TabReloader.
|
| + if (!navigation_handle->HasCommitted())
|
| + return;
|
| + // An untracked navigation just committed. Simulate its start before
|
| + // informing the TabReloader of its commit.
|
| DidStartNavigation(navigation_handle);
|
| + }
|
|
|
| - tab_reloader_->OnLoadCommitted(navigation_handle->GetNetErrorCode());
|
| -}
|
| -
|
| -void CaptivePortalTabHelper::DidFinishNavigation(
|
| - content::NavigationHandle* navigation_handle) {
|
| - DCHECK(CalledOnValidThread());
|
| - if (navigation_handle != navigation_handle_)
|
| - return;
|
| - DCHECK(navigation_handle->IsInMainFrame());
|
| -
|
| - if (!navigation_handle->HasCommittedDocument() &&
|
| - !navigation_handle->HasCommittedErrorPage()) {
|
| + if (navigation_handle->HasCommitted()) {
|
| + tab_reloader_->OnLoadCommitted(navigation_handle->GetNetErrorCode());
|
| + } else {
|
| tab_reloader_->OnAbort();
|
| }
|
|
|
| - login_detector_->OnStoppedLoading();
|
| -
|
| navigation_handle_ = nullptr;
|
| }
|
|
|
| +void CaptivePortalTabHelper::DidStopLoading() {
|
| + login_detector_->OnStoppedLoading();
|
| +}
|
| +
|
| void CaptivePortalTabHelper::Observe(
|
| int type,
|
| const content::NotificationSource& source,
|
|
|