[Picture in Picture] Add ExitPipCB callback for WMPI teardown.

Currently, we run the PipSurfaceInfoCB callback in WMPI with an empty
viz::SurfaceId, which is not allowed. This change adds a new mojo call
to explicitly exit from Picture-in-Picture mode from the WMPI side.

BUG: 823172
Change-Id: I81bb71a3853325bcf31a56f8929d4aba17f66248
Reviewed-on: https://chromium-review.googlesource.com/996468
Commit-Queue: apacible <[email protected]>
Reviewed-by: Dale Curtis <[email protected]>
Reviewed-by: Kinuko Yasuda <[email protected]>
Reviewed-by: Elly Fong-Jones <[email protected]>
Cr-Commit-Position: refs/heads/master@{#548668}
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
index 82876285..8b3a24b 100644
--- a/content/browser/web_contents/web_contents_impl.cc
+++ b/content/browser/web_contents/web_contents_impl.cc
@@ -4141,6 +4141,11 @@
     delegate_->UpdatePictureInPictureSurfaceId(surface_id);
 }
 
+void WebContentsImpl::ExitPictureInPicture() {
+  if (delegate_)
+    delegate_->ExitPictureInPicture();
+}
+
 #if defined(OS_ANDROID)
 base::android::ScopedJavaLocalRef<jobject>
 WebContentsImpl::GetJavaRenderFrameHostDelegate() {