Disable navigation during DidStartProvisionalLoad

Navigation initiated during DidStartProvisionalLoad may cancel
current provisional document loader or even replace it with a new one.
This confuses FrameLoader and could mistakenly start loading the
wrong document loader (e.g. a placeholder one).

One example would be UserMediaClientImpl::ReadyToCommitNavigation
triggering MediaStreamTrack::onended event and running JS which can
initiate navigation.

Bug: 954796
Change-Id: I1fd2a9639ecff26fe3c0e0c1a001101ab00b4304
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1577795
Reviewed-by: Nate Chapin <japhet@chromium.org>
Commit-Queue: Dmitry Gozman <dgozman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#653854}
1 file changed