[Android] A prototype of the interactive media notification.

MediaSession notifies WebContentsDelegate when to show/hide the controls.
ChromeTab's delegate implementation uses NotificationMediaPlaybackControls for the
notification. Notification is implemented similar to the Cast one.

WebContentsDelegate gets the necessary information from MediaSession via
MediaControlsDelegate interface provided by WebContents.

BUG=470600
TEST=Manual

Review URL: https://codereview.chromium.org/1159113006

Cr-Commit-Position: refs/heads/master@{#337844}
diff --git a/content/browser/web_contents/web_contents_impl.h b/content/browser/web_contents/web_contents_impl.h
index 8f3c90a7..f580046a 100644
--- a/content/browser/web_contents/web_contents_impl.h
+++ b/content/browser/web_contents/web_contents_impl.h
@@ -363,6 +363,10 @@
   void ExitFullscreen() override;
   void ResumeLoadingCreatedWebContents() override;
 #if defined(OS_ANDROID)
+  void OnMediaSessionStateChanged();
+  void ResumeMediaSession() override;
+  void SuspendMediaSession() override;
+
   base::android::ScopedJavaLocalRef<jobject> GetJavaWebContents() override;
   virtual WebContentsAndroid* GetWebContentsAndroid();
 #elif defined(OS_MACOSX)