NavigationScheduler exists to start navigations asynchronously. This mattered a lot when blink was managing all the navigation start locally. Now that PlzNavigate is shipped, most of these cases could get shipped off to the browser process synchronously.
This probably requires adding a different way to make about:blank navigations async, since currently DocumentLoader handles them synchronously and we don't send them to the browser process. Resolving that has the added benefit of removing the loophole that clicking a link to about:blank doesn't go through NavigationScheduler, and therefore can happen entirely synchronously.
We may need to leave something in place for meta redirects and refersh headers, but that's at least a much smaller set of cases than the current model of needing NavgationScheduler for any content-initiated navigation.
Comment 1 by toyoshim@chromium.org
, Dec 13