[Android] A prototype of the interactive media notification.
commit41634b16099cde386dc1090423f566bd4624070c
authoravayvod <avayvod@chromium.org>
Wed, 8 Jul 2015 17:07:05 +0000 (8 10:07 -0700)
committerCommit bot <commit-bot@chromium.org>
Wed, 8 Jul 2015 17:07:49 +0000 (8 17:07 +0000)
tree2d6540095e2343eca18160cead2329afe87b690b
parentc38a1f71038e5f0a5565b42e30b8985870b49286
[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}
28 files changed:
chrome/android/java/AndroidManifest.xml
chrome/android/java/res/layout/playback_notification_bar.xml [new file with mode: 0644]
chrome/android/java/res/values-v17/styles.xml
chrome/android/java/res/values-v21/styles.xml
chrome/android/java/res/values/values.xml
chrome/android/java/src/org/chromium/chrome/browser/media/ui/MediaInfo.java [new file with mode: 0644]
chrome/android/java/src/org/chromium/chrome/browser/media/ui/MediaPlaybackListener.java [new file with mode: 0644]
chrome/android/java/src/org/chromium/chrome/browser/media/ui/MediaSessionTabHelper.java [new file with mode: 0644]
chrome/android/java/src/org/chromium/chrome/browser/media/ui/NotificationMediaPlaybackControls.java [new file with mode: 0644]
chrome/android/java/src/org/chromium/chrome/browser/tab/ChromeTab.java
chrome/android/java/strings/android_chrome_strings.grd
chrome/android/shell/java/AndroidManifest.xml.jinja2
content/browser/android/web_contents_observer_proxy.cc
content/browser/android/web_contents_observer_proxy.h
content/browser/media/android/browser_media_player_manager.cc
content/browser/media/android/media_session.cc
content/browser/media/android/media_session.h
content/browser/media/android/media_session_browsertest.cc
content/browser/web_contents/web_contents_android.cc
content/browser/web_contents/web_contents_android.h
content/browser/web_contents/web_contents_impl.cc
content/browser/web_contents/web_contents_impl.h
content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java
content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsObserverProxy.java
content/public/android/java/src/org/chromium/content_public/browser/WebContents.java
content/public/android/java/src/org/chromium/content_public/browser/WebContentsObserver.java
content/public/browser/web_contents.h
content/public/browser/web_contents_observer.h