Add a NavigationHandle class to content/public/browser
This CL adds a new class, NavigationHandle, to the public content API. that is
used to keep track of information pertaining to a single navigation. The CL
also introduces four new methods to WebContentsObserver: DidStartNavigation,
DidRedirectNavigation, DidCommitNavigation and DidStopNavigation. All of those
provide a NavigationHandle to the implementer for further details about
navigations happening in the WebContents. See the design doc for more info:
https://docs.google.com/a/chromium.org/document/d/1ICLLQoC9EsZ-bWH4ZKRhPCIoZKn6pOj02SlGl6SKH6Y/edit?usp=sharing.
This CL also rewrites the CaptivePortalTabHelper to make use of the newly
introduced interfaces.
BUG=504347
Review URL: https://codereview.chromium.org/1229503010
Cr-Commit-Position: refs/heads/master@{#341342}
diff --git a/content/browser/web_contents/web_contents_impl.h b/content/browser/web_contents/web_contents_impl.h
index 58aefe1..719b419d 100644
--- a/content/browser/web_contents/web_contents_impl.h
+++ b/content/browser/web_contents/web_contents_impl.h
@@ -508,6 +508,10 @@
// NavigatorDelegate ---------------------------------------------------------
+ void DidStartNavigation(NavigationHandle* navigation_handle) override;
+ void DidRedirectNavigation(NavigationHandle* navigation_handle) override;
+ void DidCommitNavigation(NavigationHandle* navigation_handle) override;
+ void DidFinishNavigation(NavigationHandle* navigation_handle) override;
void DidStartProvisionalLoad(RenderFrameHostImpl* render_frame_host,
const GURL& validated_url,
bool is_error_page,