Reland "[conversions] Route impressions alongside rel="noopener" anchor navs"

This is a reland of 53e3903f456a5c3152a022c9a92ed99246a84ebd

This now correctly initializes the was_opener_suppressed_ member on
NavigationRequest.

Original change's description:
> [conversions] Route impressions alongside rel="noopener" anchor navs
>
> What:
> Route impressions for the Conversion Measurement API to the browser
> process for anchor tags with rel="noopener".
>
> Why:
> We currently drop impressions for anchor clicks which have noopener
> set because the impressions do not get forwarded to the browser process.
>
> Anchor click navigations with the rel="noopener" attribute use a
> different navigation path than those without the attribute, in which
> the window creation mojo also navigates the frame to the target url.
> This navigation is not annotated with an impression.
>
> How:
> Add an Impression member to CreateNewWindowParams which will get
> forwarded as a LoadURLParam for the subsequent navigation of the
> window.
>
> This change also fixes a bug in which initiator_frame_tokens are not
> set for noopener navigations.
>
> As of https://chromium-review.googlesource.com/c/chromium/src/+/2327963,
> the lack of an initiator frame tokens are used to to indicate whether
> an opener was suppressed for a navigation. Because attaching the token
> breaks this logic, we route a new |was_opener_suppressed| param through
> the NavigationController:LoadUrlWithParams() flow to recover the
> behavior.
>
> Bug: 1155577
> Change-Id: I84739a9f4ec0df9a867f91397f80b46eea1bcee6
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2575223
> Commit-Queue: John Delaney <[email protected]>
> Reviewed-by: Charlie Harrison <[email protected]>
> Reviewed-by: Daniel Cheng <[email protected]>
> Reviewed-by: Charlie Reis <[email protected]>
> Cr-Commit-Position: refs/heads/master@{#838275}

Bug: 1155577
Change-Id: I1ab5bf85e62525e898bd9e9a6986ed844a7a5c39
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2600016
Commit-Queue: John Delaney <[email protected]>
Reviewed-by: Charlie Harrison <[email protected]>
Reviewed-by: Charlie Reis <[email protected]>
Reviewed-by: Daniel Cheng <[email protected]>
Cr-Commit-Position: refs/heads/master@{#840653}
diff --git a/content/common/frame.mojom b/content/common/frame.mojom
index db9bd97b..7db065f 100644
--- a/content/common/frame.mojom
+++ b/content/common/frame.mojom
@@ -281,6 +281,10 @@
 
   // The window features to use for the new window.
   blink.mojom.WindowFeatures features;
+
+  // The impression associated with the navigation in the new window, if
+  // one is specified.
+  Impression? impression;
 };
 
 // Operation result when the renderer asks the browser to create a new window.