Browser Plugin: Remove MapInstance from BrowserPluginHost + More cross-process navigation work

This patch does two things:

It addresses the issues mentioned regarding BrowserPluginHost::OnMapInstance.
Instead this work is done over the GuestToEmbedderChannel.

This also introduces some plumbing on ViewMsg_Navigate that allows for navigating
back to swapped out RenderViews.

BUG=128976
TEST=manually


Review URL: https://chromiumcodereview.appspot.com/10412056

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@138861 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/content/browser/web_contents/web_contents_impl.h b/content/browser/web_contents/web_contents_impl.h
index 2a2eada..1dc61b3 100644
--- a/content/browser/web_contents/web_contents_impl.h
+++ b/content/browser/web_contents/web_contents_impl.h
@@ -612,6 +612,10 @@
 
   content::RenderViewHostImpl* GetRenderViewHostImpl();
 
+  void GetBrowserPluginEmbedderInfo(content::RenderViewHost* render_view_host,
+                                    std::string* embedder_channel_name,
+                                    int* embedder_container_id);
+
   // Stores random bits of data for others to associate with this object.
   // WARNING: this needs to be deleted after NavigationController.
   base::PropertyBag property_bag_;