In content/public, there is two ways to act on a new navigation:
1) The "new" ones that are NavigationHandle based. You just need to implement either a WebContentsObserver or a NavigationThrottle. Then you act on the NavigationHandle.
2) The "legacy" ones where you implement the ContentBrowserClient:
ContentBrowserClient::NavigationRequestStarted()
ContentBrowserClient::NavigationRequestRedirected()
The latter are used to modify request headers and load flags.
This bug tracks progress in removing 2) in favor of 1).
Comment 1 by bugdroid1@chromium.org
, Jan 11