Move ViewHostMsg_CreateWindow to mojom

Converts this message, addressing several of its dependencies
in the process:

 - Makes content::WindowContainerType an alias for the new
   content::mojom::WindowContainerType. Some transitional public
   constants have been added to satisfy existing references to
   the old enum values. This will be removed in future CLs.
 - Adds a mojom definition for blink::mojom::WindowFeatures,
   corresponding to blink::WebWindowFeatures. A typemap is
   added between these types and is shared by both Blink and
   Chromium bindings configurations.
 - Adds a blink::mojom::Referrer struct analogous to
   content::Renderer. Chromium bindings typemap this new mojom
   struct to content::Referrer.
 - Adds a mojom blink::mojom::ReferrerPolicy enum with a typemap
   to blink::WebReferrerPolicy, shared by Chromium and Blink
   bindings. This can be de-duplicated in future CLs.

BUG=612500
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_site_isolation

Review-Url: https://codereview.chromium.org/2363573002
Cr-Commit-Position: refs/heads/master@{#421674}
diff --git a/content/browser/web_contents/web_contents_impl.h b/content/browser/web_contents/web_contents_impl.h
index a1e0eeb..10aed38 100644
--- a/content/browser/web_contents/web_contents_impl.h
+++ b/content/browser/web_contents/web_contents_impl.h
@@ -92,6 +92,10 @@
 struct ResourceRedirectDetails;
 struct ResourceRequestDetails;
 
+namespace mojom {
+class CreateNewWindowParams;
+}
+
 #if defined(OS_ANDROID)
 class WebContentsAndroid;
 #endif
@@ -536,7 +540,7 @@
       int32_t route_id,
       int32_t main_frame_route_id,
       int32_t main_frame_widget_route_id,
-      const ViewHostMsg_CreateWindow_Params& params,
+      const mojom::CreateNewWindowParams& params,
       SessionStorageNamespace* session_storage_namespace) override;
   void CreateNewWidget(int32_t render_process_id,
                        int32_t route_id,