[Picture in Picture] Show video in OverlayWindow.

This change allows videos to be shown in picture in picture mode.
When the picture in picture media controls button on a video player
is clicked, a window opens and the corresponding video plays in the
window.

This works behind a flag. This is the first of more patches and lays
the ground work for additional behavioral implementations and tests.

BUG: 726621
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
Change-Id: I01cc0af01986030ccafb623bc06592ce143a8970
Reviewed-on: https://chromium-review.googlesource.com/854719
Commit-Queue: apacible <[email protected]>
Reviewed-by: Frank Liberato <[email protected]>
Reviewed-by: Kinuko Yasuda <[email protected]>
Reviewed-by: Elly Fong-Jones <[email protected]>
Reviewed-by: Mounir Lamouri <[email protected]>
Cr-Commit-Position: refs/heads/master@{#539039}
diff --git a/content/common/frame.mojom b/content/common/frame.mojom
index 7732f32..911a26b6 100644
--- a/content/common/frame.mojom
+++ b/content/common/frame.mojom
@@ -13,6 +13,7 @@
 import "mojo/public/mojom/base/string16.mojom";
 import "services/network/public/mojom/url_loader.mojom";
 import "services/service_manager/public/mojom/interface_provider.mojom";
+import "services/viz/public/interfaces/compositing/surface_id.mojom";
 import "third_party/WebKit/public/mojom/feature_policy/feature_policy.mojom";
 import "third_party/WebKit/public/platform/referrer.mojom";
 import "third_party/WebKit/public/web/commit_result.mojom";
@@ -314,4 +315,8 @@
   // replicated in the browser so that the browser can correctly set the initial
   // size of the frame in case of a cross-process navigation.
   FrameRectsChanged(gfx.mojom.Rect rect);
+
+  // Sent by the renderer to update Picture-in-Picture with SurfaceId information
+  // to be used to show content in the Picture-in-Picture window.
+  OnUpdatePictureInPictureSurfaceId(viz.mojom.SurfaceId surface_id);
 };