PlzNavigate: properly stop navigations in WebContents::Stop

This CL rewrites WebContentsImpl::Stop so that it stops all loads even in
browser-side-navigation mode. In particular, the speculative RenderFrameHost
should be told to stop, and any NavigationRequest in the FrameTree should be
destroyed.

BUG=504347

Review URL: https://codereview.chromium.org/1226773008

Cr-Commit-Position: refs/heads/master@{#337801}
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
index 3df8edb..c533994 100644
--- a/content/browser/web_contents/web_contents_impl.cc
+++ b/content/browser/web_contents/web_contents_impl.cc
@@ -1241,7 +1241,7 @@
 }
 
 void WebContentsImpl::Stop() {
-  GetRenderManager()->Stop();
+  frame_tree_.ForEach(base::Bind(&FrameTreeNode::StopLoading));
   FOR_EACH_OBSERVER(WebContentsObserver, observers_, NavigationStopped());
 }