FileChooser: Mojoify FileChooser IPC, part 3

Replace content::FileChooserFileInfo usage with
blink::mojom::FileChooserFileInfo.

* Replace std::vector<content::FileChooserFileInfo> with
  std::vector<blink::mojom::FileChooserFileInfo*Ptr*> because it's the
  representation of array<fileChooserFileInfo> in mojom.

* Because FileChooserFileInfoPtr is not copyable, we use std::move() to
  pass it over functions.

* We temporarily transfer std::vector<blink::mojom::FileChooserFileInfoPtr>
  over legacy IPC. Add ParamTraits<blink::mojom::FileChooserFileInfoPtr>
  because FileChooserFileInfoPtr is not a simple struct for which we can
  use IPC_STRUCT_TRAITS_* macros.


FYI: All-in-one CL: https://chromium-review.googlesource.com/1170454

Bug: 869257
Change-Id: I73d54b70d3e24c917a783d3eafa1f29c292dc2bc
Reviewed-on: https://chromium-review.googlesource.com/1237798
Reviewed-by: Richard Coles <[email protected]>
Reviewed-by: Avi Drissman <[email protected]>
Reviewed-by: Daniel Cheng <[email protected]>
Commit-Queue: Kent Tamura <[email protected]>
Cr-Commit-Position: refs/heads/master@{#594763}
diff --git a/content/renderer/render_frame_impl.h b/content/renderer/render_frame_impl.h
index d0eccf4..f6448a8 100644
--- a/content/renderer/render_frame_impl.h
+++ b/content/renderer/render_frame_impl.h
@@ -73,6 +73,7 @@
 #include "third_party/blink/public/common/associated_interfaces/associated_interface_provider.h"
 #include "third_party/blink/public/common/associated_interfaces/associated_interface_registry.h"
 #include "third_party/blink/public/common/feature_policy/feature_policy.h"
+#include "third_party/blink/public/mojom/choosers/file_chooser.mojom.h"
 #include "third_party/blink/public/mojom/manifest/manifest_manager.mojom.h"
 #include "third_party/blink/public/mojom/page/page_visibility_state.mojom.h"
 #include "third_party/blink/public/mojom/service_worker/service_worker_object.mojom.h"
@@ -182,7 +183,6 @@
 struct CSPViolationParams;
 struct CommonNavigationParams;
 struct CustomContextMenuContext;
-struct FileChooserFileInfo;
 struct FrameOwnerProperties;
 struct FrameReplicationState;
 struct RequestNavigationParams;
@@ -1065,7 +1065,7 @@
   void OnEnableViewSourceMode();
   void OnSuppressFurtherDialogs();
   void OnFileChooserResponse(
-      const std::vector<content::FileChooserFileInfo>& files);
+      const std::vector<blink::mojom::FileChooserFileInfoPtr>& files);
   void OnClearFocusedElement();
   void OnBlinkFeatureUsageReport(const std::set<int>& features);
   void OnMixedContentFound(const FrameMsg_MixedContentFound_Params& params);