Tasks: * Update Blink MediaSession interface. * Add new mojo service serving from the Blink side. * Plumbing the controls through jni. * Show and responding to media controls.
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/a61be6ec45bcd6e53525509fe4907e62b6bb5ef1 commit a61be6ec45bcd6e53525509fe4907e62b6bb5ef1 Author: zqzhang <zqzhang@chromium.org> Date: Wed Oct 19 16:33:25 2016 Add media controls to MediaSession in Blink This CL add the media control interfaces to Blink MediaSession. Explainer draft: https://github.com/WICG/mediasession/blob/master/explainer.md#media-controls BUG= 656563 Review-Url: https://chromiumcodereview.appspot.com/2428523002 Cr-Commit-Position: refs/heads/master@{#426220} [modify] https://crrev.com/a61be6ec45bcd6e53525509fe4907e62b6bb5ef1/third_party/WebKit/LayoutTests/fast/dom/Window/property-access-on-cached-properties-after-frame-navigated-expected.txt [modify] https://crrev.com/a61be6ec45bcd6e53525509fe4907e62b6bb5ef1/third_party/WebKit/LayoutTests/fast/dom/Window/property-access-on-cached-properties-after-frame-removed-and-gced-expected.txt [modify] https://crrev.com/a61be6ec45bcd6e53525509fe4907e62b6bb5ef1/third_party/WebKit/LayoutTests/fast/dom/Window/property-access-on-cached-properties-after-frame-removed-expected.txt [modify] https://crrev.com/a61be6ec45bcd6e53525509fe4907e62b6bb5ef1/third_party/WebKit/LayoutTests/fast/dom/Window/property-access-on-cached-window-after-frame-navigated-expected.txt [modify] https://crrev.com/a61be6ec45bcd6e53525509fe4907e62b6bb5ef1/third_party/WebKit/LayoutTests/fast/dom/Window/property-access-on-cached-window-after-frame-removed-and-gced-expected.txt [modify] https://crrev.com/a61be6ec45bcd6e53525509fe4907e62b6bb5ef1/third_party/WebKit/LayoutTests/fast/dom/Window/property-access-on-cached-window-after-frame-removed-expected.txt [modify] https://crrev.com/a61be6ec45bcd6e53525509fe4907e62b6bb5ef1/third_party/WebKit/LayoutTests/webexposed/global-interface-listing-expected.txt [modify] https://crrev.com/a61be6ec45bcd6e53525509fe4907e62b6bb5ef1/third_party/WebKit/Source/core/events/EventTypeNames.in [modify] https://crrev.com/a61be6ec45bcd6e53525509fe4907e62b6bb5ef1/third_party/WebKit/Source/modules/EventTargetModulesFactory.in [modify] https://crrev.com/a61be6ec45bcd6e53525509fe4907e62b6bb5ef1/third_party/WebKit/Source/modules/mediasession/DEPS [modify] https://crrev.com/a61be6ec45bcd6e53525509fe4907e62b6bb5ef1/third_party/WebKit/Source/modules/mediasession/MediaSession.cpp [modify] https://crrev.com/a61be6ec45bcd6e53525509fe4907e62b6bb5ef1/third_party/WebKit/Source/modules/mediasession/MediaSession.h [modify] https://crrev.com/a61be6ec45bcd6e53525509fe4907e62b6bb5ef1/third_party/WebKit/Source/modules/mediasession/MediaSession.idl [modify] https://crrev.com/a61be6ec45bcd6e53525509fe4907e62b6bb5ef1/third_party/WebKit/Source/modules/mediasession/NavigatorMediaSession.cpp [modify] https://crrev.com/a61be6ec45bcd6e53525509fe4907e62b6bb5ef1/third_party/WebKit/Source/modules/mediasession/NavigatorMediaSession.h [modify] https://crrev.com/a61be6ec45bcd6e53525509fe4907e62b6bb5ef1/third_party/WebKit/Source/modules/mediasession/NavigatorMediaSession.idl
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/649f9b868f6783ec9de71c123212b908bf3b232e commit 649f9b868f6783ec9de71c123212b908bf3b232e Author: zqzhang <zqzhang@chromium.org> Date: Fri Oct 21 23:17:31 2016 Adding mojo MediaSessionClient to support media controls This CL adds MediaSessionClient mojo interface to allow Blink MediaSession and content::MediaSession communicate for media control messages. BUG= 656563 Review-Url: https://chromiumcodereview.appspot.com/2426653002 Cr-Commit-Position: refs/heads/master@{#426924} [modify] https://crrev.com/649f9b868f6783ec9de71c123212b908bf3b232e/content/browser/media/session/media_session_service_impl.cc [modify] https://crrev.com/649f9b868f6783ec9de71c123212b908bf3b232e/content/browser/media/session/media_session_service_impl.h [add] https://crrev.com/649f9b868f6783ec9de71c123212b908bf3b232e/third_party/WebKit/LayoutTests/media/mediasession/mojo/media-control-action-reaches-client.html [add] https://crrev.com/649f9b868f6783ec9de71c123212b908bf3b232e/third_party/WebKit/LayoutTests/media/mediasession/mojo/media-control-set-handler-notifies-service.html [modify] https://crrev.com/649f9b868f6783ec9de71c123212b908bf3b232e/third_party/WebKit/LayoutTests/media/mediasession/mojo/resources/mediasessionservice-mock.js [modify] https://crrev.com/649f9b868f6783ec9de71c123212b908bf3b232e/third_party/WebKit/LayoutTests/media/mediasession/mojo/resources/utils.js [modify] https://crrev.com/649f9b868f6783ec9de71c123212b908bf3b232e/third_party/WebKit/Source/modules/mediasession/DEPS [modify] https://crrev.com/649f9b868f6783ec9de71c123212b908bf3b232e/third_party/WebKit/Source/modules/mediasession/MediaSession.cpp [modify] https://crrev.com/649f9b868f6783ec9de71c123212b908bf3b232e/third_party/WebKit/Source/modules/mediasession/MediaSession.h [modify] https://crrev.com/649f9b868f6783ec9de71c123212b908bf3b232e/third_party/WebKit/public/platform/modules/mediasession/media_session.mojom
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/fb90347c0ad1437e9fa674e7c70db9512b570444 commit fb90347c0ad1437e9fa674e7c70db9512b570444 Author: zqzhang <zqzhang@chromium.org> Date: Thu Nov 03 16:33:54 2016 Adding media controls to MediaNotification This CL adds new media controls to MediaNotification. The controls are enabled from the MediaSession API in blink, and is propagated to the browser side through mojom MediaSessionService. Then we show a corresponding button in media notification. When the user clicks the button, the event will be propagate back to the page through mojom MediaSessionClient. This CL has the following changes: * Plumb media control messages from content/ to chrome/ Java. * Add control buttons to MediaNotification Slides explaining how media controls work: https://docs.google.com/a/google.com/presentation/d/1jGNB9aT3mbpPszC3SiQnQ70CjVDmH-haomHCrqSVVAw/edit?usp=sharing Test URL: http://xxyzzzq.github.io/sandbox/media-session/full-test.html BUG= 656563 TEST=MANUAL Review-Url: https://codereview.chromium.org/2442303002 Cr-Commit-Position: refs/heads/master@{#429614} [modify] https://crrev.com/fb90347c0ad1437e9fa674e7c70db9512b570444/chrome/android/BUILD.gn [add] https://crrev.com/fb90347c0ad1437e9fa674e7c70db9512b570444/chrome/android/java/res/drawable-hdpi/ic_media_control_skip_next.png [add] https://crrev.com/fb90347c0ad1437e9fa674e7c70db9512b570444/chrome/android/java/res/drawable-hdpi/ic_media_control_skip_previous.png [add] https://crrev.com/fb90347c0ad1437e9fa674e7c70db9512b570444/chrome/android/java/res/drawable-mdpi/ic_media_control_skip_next.png [add] https://crrev.com/fb90347c0ad1437e9fa674e7c70db9512b570444/chrome/android/java/res/drawable-mdpi/ic_media_control_skip_previous.png [add] https://crrev.com/fb90347c0ad1437e9fa674e7c70db9512b570444/chrome/android/java/res/drawable-xhdpi/ic_media_control_skip_next.png [add] https://crrev.com/fb90347c0ad1437e9fa674e7c70db9512b570444/chrome/android/java/res/drawable-xhdpi/ic_media_control_skip_previous.png [add] https://crrev.com/fb90347c0ad1437e9fa674e7c70db9512b570444/chrome/android/java/res/drawable-xxhdpi/ic_media_control_skip_next.png [add] https://crrev.com/fb90347c0ad1437e9fa674e7c70db9512b570444/chrome/android/java/res/drawable-xxhdpi/ic_media_control_skip_previous.png [add] https://crrev.com/fb90347c0ad1437e9fa674e7c70db9512b570444/chrome/android/java/res/drawable-xxxhdpi/ic_media_control_skip_next.png [add] https://crrev.com/fb90347c0ad1437e9fa674e7c70db9512b570444/chrome/android/java/res/drawable-xxxhdpi/ic_media_control_skip_previous.png [modify] https://crrev.com/fb90347c0ad1437e9fa674e7c70db9512b570444/chrome/android/java/src/org/chromium/chrome/browser/media/remote/CastNotificationControl.java [modify] https://crrev.com/fb90347c0ad1437e9fa674e7c70db9512b570444/chrome/android/java/src/org/chromium/chrome/browser/media/router/cast/CastSessionImpl.java [modify] https://crrev.com/fb90347c0ad1437e9fa674e7c70db9512b570444/chrome/android/java/src/org/chromium/chrome/browser/media/ui/MediaNotificationInfo.java [modify] https://crrev.com/fb90347c0ad1437e9fa674e7c70db9512b570444/chrome/android/java/src/org/chromium/chrome/browser/media/ui/MediaNotificationListener.java [modify] https://crrev.com/fb90347c0ad1437e9fa674e7c70db9512b570444/chrome/android/java/src/org/chromium/chrome/browser/media/ui/MediaNotificationManager.java [modify] https://crrev.com/fb90347c0ad1437e9fa674e7c70db9512b570444/chrome/android/java/src/org/chromium/chrome/browser/media/ui/MediaSessionTabHelper.java [modify] https://crrev.com/fb90347c0ad1437e9fa674e7c70db9512b570444/chrome/android/java/strings/android_chrome_strings.grd [modify] https://crrev.com/fb90347c0ad1437e9fa674e7c70db9512b570444/content/browser/media/session/media_session_android.cc [modify] https://crrev.com/fb90347c0ad1437e9fa674e7c70db9512b570444/content/browser/media/session/media_session_android.h [modify] https://crrev.com/fb90347c0ad1437e9fa674e7c70db9512b570444/content/browser/media/session/media_session_impl.cc [modify] https://crrev.com/fb90347c0ad1437e9fa674e7c70db9512b570444/content/browser/media/session/media_session_impl.h [modify] https://crrev.com/fb90347c0ad1437e9fa674e7c70db9512b570444/content/browser/media/session/media_session_service_impl.cc [modify] https://crrev.com/fb90347c0ad1437e9fa674e7c70db9512b570444/content/browser/media/session/media_session_service_impl.h [modify] https://crrev.com/fb90347c0ad1437e9fa674e7c70db9512b570444/content/public/android/java/src/org/chromium/content/browser/MediaSessionImpl.java [modify] https://crrev.com/fb90347c0ad1437e9fa674e7c70db9512b570444/content/public/android/java/src/org/chromium/content_public/browser/MediaSession.java [modify] https://crrev.com/fb90347c0ad1437e9fa674e7c70db9512b570444/content/public/android/java/src/org/chromium/content_public/browser/MediaSessionObserver.java [modify] https://crrev.com/fb90347c0ad1437e9fa674e7c70db9512b570444/content/public/browser/media_session.h [modify] https://crrev.com/fb90347c0ad1437e9fa674e7c70db9512b570444/content/public/browser/media_session_observer.h [modify] https://crrev.com/fb90347c0ad1437e9fa674e7c70db9512b570444/third_party/WebKit/Source/modules/mediasession/MediaSession.cpp
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/744aa665b7e0d15b7c277283a5a1926e5d778085 commit 744aa665b7e0d15b7c277283a5a1926e5d778085 Author: mathp <mathp@chromium.org> Date: Thu Nov 03 21:26:02 2016 Revert of Adding new media controls to MediaNotification (patchset #10 id:200001 of https://codereview.chromium.org/2442303002/ ) Reason for revert: Speculative revert for webview apk test failures: https://build.chromium.org/p/chromium.linux/builders/Android%20Tests%20%28dbg%29/builds/36922 Original issue's description: > Adding media controls to MediaNotification > > This CL adds new media controls to MediaNotification. The controls are enabled > from the MediaSession API in blink, and is propagated to the browser side > through mojom MediaSessionService. Then we show a corresponding button in media > notification. When the user clicks the button, the event will be propagate back > to the page through mojom MediaSessionClient. > > This CL has the following changes: > * Plumb media control messages from content/ to chrome/ Java. > * Add control buttons to MediaNotification > > Slides explaining how media controls work: > https://docs.google.com/a/google.com/presentation/d/1jGNB9aT3mbpPszC3SiQnQ70CjVDmH-haomHCrqSVVAw/edit?usp=sharing > > Test URL: > http://xxyzzzq.github.io/sandbox/media-session/full-test.html > > BUG= 656563 > TEST=MANUAL > > Committed: https://crrev.com/fb90347c0ad1437e9fa674e7c70db9512b570444 > Cr-Commit-Position: refs/heads/master@{#429614} TBR=avayvod@chromium.org,boliu@chromium.org,jam@chromium.org,kenrb@chromium.org,tedchoc@chromium.org,zqzhang@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= 656563 Review-Url: https://codereview.chromium.org/2479603003 Cr-Commit-Position: refs/heads/master@{#429697} [modify] https://crrev.com/744aa665b7e0d15b7c277283a5a1926e5d778085/chrome/android/BUILD.gn [delete] https://crrev.com/7bacd498506b1089ec53cddf76152baa4840bc24/chrome/android/java/res/drawable-hdpi/ic_media_control_skip_next.png [delete] https://crrev.com/7bacd498506b1089ec53cddf76152baa4840bc24/chrome/android/java/res/drawable-hdpi/ic_media_control_skip_previous.png [delete] https://crrev.com/7bacd498506b1089ec53cddf76152baa4840bc24/chrome/android/java/res/drawable-mdpi/ic_media_control_skip_next.png [delete] https://crrev.com/7bacd498506b1089ec53cddf76152baa4840bc24/chrome/android/java/res/drawable-mdpi/ic_media_control_skip_previous.png [delete] https://crrev.com/7bacd498506b1089ec53cddf76152baa4840bc24/chrome/android/java/res/drawable-xhdpi/ic_media_control_skip_next.png [delete] https://crrev.com/7bacd498506b1089ec53cddf76152baa4840bc24/chrome/android/java/res/drawable-xhdpi/ic_media_control_skip_previous.png [delete] https://crrev.com/7bacd498506b1089ec53cddf76152baa4840bc24/chrome/android/java/res/drawable-xxhdpi/ic_media_control_skip_next.png [delete] https://crrev.com/7bacd498506b1089ec53cddf76152baa4840bc24/chrome/android/java/res/drawable-xxhdpi/ic_media_control_skip_previous.png [delete] https://crrev.com/7bacd498506b1089ec53cddf76152baa4840bc24/chrome/android/java/res/drawable-xxxhdpi/ic_media_control_skip_next.png [delete] https://crrev.com/7bacd498506b1089ec53cddf76152baa4840bc24/chrome/android/java/res/drawable-xxxhdpi/ic_media_control_skip_previous.png [modify] https://crrev.com/744aa665b7e0d15b7c277283a5a1926e5d778085/chrome/android/java/src/org/chromium/chrome/browser/media/remote/CastNotificationControl.java [modify] https://crrev.com/744aa665b7e0d15b7c277283a5a1926e5d778085/chrome/android/java/src/org/chromium/chrome/browser/media/router/cast/CastSessionImpl.java [modify] https://crrev.com/744aa665b7e0d15b7c277283a5a1926e5d778085/chrome/android/java/src/org/chromium/chrome/browser/media/ui/MediaNotificationInfo.java [modify] https://crrev.com/744aa665b7e0d15b7c277283a5a1926e5d778085/chrome/android/java/src/org/chromium/chrome/browser/media/ui/MediaNotificationListener.java [modify] https://crrev.com/744aa665b7e0d15b7c277283a5a1926e5d778085/chrome/android/java/src/org/chromium/chrome/browser/media/ui/MediaNotificationManager.java [modify] https://crrev.com/744aa665b7e0d15b7c277283a5a1926e5d778085/chrome/android/java/src/org/chromium/chrome/browser/media/ui/MediaSessionTabHelper.java [modify] https://crrev.com/744aa665b7e0d15b7c277283a5a1926e5d778085/chrome/android/java/strings/android_chrome_strings.grd [modify] https://crrev.com/744aa665b7e0d15b7c277283a5a1926e5d778085/content/browser/media/session/media_session_android.cc [modify] https://crrev.com/744aa665b7e0d15b7c277283a5a1926e5d778085/content/browser/media/session/media_session_android.h [modify] https://crrev.com/744aa665b7e0d15b7c277283a5a1926e5d778085/content/browser/media/session/media_session_impl.cc [modify] https://crrev.com/744aa665b7e0d15b7c277283a5a1926e5d778085/content/browser/media/session/media_session_impl.h [modify] https://crrev.com/744aa665b7e0d15b7c277283a5a1926e5d778085/content/browser/media/session/media_session_service_impl.cc [modify] https://crrev.com/744aa665b7e0d15b7c277283a5a1926e5d778085/content/browser/media/session/media_session_service_impl.h [modify] https://crrev.com/744aa665b7e0d15b7c277283a5a1926e5d778085/content/public/android/java/src/org/chromium/content/browser/MediaSessionImpl.java [modify] https://crrev.com/744aa665b7e0d15b7c277283a5a1926e5d778085/content/public/android/java/src/org/chromium/content_public/browser/MediaSession.java [modify] https://crrev.com/744aa665b7e0d15b7c277283a5a1926e5d778085/content/public/android/java/src/org/chromium/content_public/browser/MediaSessionObserver.java [modify] https://crrev.com/744aa665b7e0d15b7c277283a5a1926e5d778085/content/public/browser/media_session.h [modify] https://crrev.com/744aa665b7e0d15b7c277283a5a1926e5d778085/content/public/browser/media_session_observer.h [modify] https://crrev.com/744aa665b7e0d15b7c277283a5a1926e5d778085/third_party/WebKit/Source/modules/mediasession/MediaSession.cpp
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/015da1aa7fe79abc631ea59ac5ed0e2a7dfb1944 commit 015da1aa7fe79abc631ea59ac5ed0e2a7dfb1944 Author: zqzhang <zqzhang@chromium.org> Date: Fri Nov 04 12:10:52 2016 Reland "Adding media controls to MediaNotification" Relanding this CL since it was previously reverted due to a wrong speculate on the bot. This CL adds new media controls to MediaNotification. The controls are enabled from the MediaSession API in blink, and is propagated to the browser side through mojom MediaSessionService. Then we show a corresponding button in media notification. When the user clicks the button, the event will be propagate back to the page through mojom MediaSessionClient. This CL has the following changes: * Plumb media control messages from content/ to chrome/ Java. * Add control buttons to MediaNotification Slides explaining how media controls work: https://docs.google.com/a/google.com/presentation/d/1jGNB9aT3mbpPszC3SiQnQ70CjVDmH-haomHCrqSVVAw/edit?usp=sharing Test URL: http://xxyzzzq.github.io/sandbox/media-session/full-test.html BUG= 656563 TBR=kenrb@chromium.org, tedchoc@chromium.org, avayvod@chromium.org, jam@chromium.org, boliu@chromium.org TEST=MANUAL Review-Url: https://codereview.chromium.org/2469893007 Cr-Commit-Position: refs/heads/master@{#429864} [modify] https://crrev.com/015da1aa7fe79abc631ea59ac5ed0e2a7dfb1944/chrome/android/BUILD.gn [add] https://crrev.com/015da1aa7fe79abc631ea59ac5ed0e2a7dfb1944/chrome/android/java/res/drawable-hdpi/ic_media_control_skip_next.png [add] https://crrev.com/015da1aa7fe79abc631ea59ac5ed0e2a7dfb1944/chrome/android/java/res/drawable-hdpi/ic_media_control_skip_previous.png [add] https://crrev.com/015da1aa7fe79abc631ea59ac5ed0e2a7dfb1944/chrome/android/java/res/drawable-mdpi/ic_media_control_skip_next.png [add] https://crrev.com/015da1aa7fe79abc631ea59ac5ed0e2a7dfb1944/chrome/android/java/res/drawable-mdpi/ic_media_control_skip_previous.png [add] https://crrev.com/015da1aa7fe79abc631ea59ac5ed0e2a7dfb1944/chrome/android/java/res/drawable-xhdpi/ic_media_control_skip_next.png [add] https://crrev.com/015da1aa7fe79abc631ea59ac5ed0e2a7dfb1944/chrome/android/java/res/drawable-xhdpi/ic_media_control_skip_previous.png [add] https://crrev.com/015da1aa7fe79abc631ea59ac5ed0e2a7dfb1944/chrome/android/java/res/drawable-xxhdpi/ic_media_control_skip_next.png [add] https://crrev.com/015da1aa7fe79abc631ea59ac5ed0e2a7dfb1944/chrome/android/java/res/drawable-xxhdpi/ic_media_control_skip_previous.png [add] https://crrev.com/015da1aa7fe79abc631ea59ac5ed0e2a7dfb1944/chrome/android/java/res/drawable-xxxhdpi/ic_media_control_skip_next.png [add] https://crrev.com/015da1aa7fe79abc631ea59ac5ed0e2a7dfb1944/chrome/android/java/res/drawable-xxxhdpi/ic_media_control_skip_previous.png [modify] https://crrev.com/015da1aa7fe79abc631ea59ac5ed0e2a7dfb1944/chrome/android/java/src/org/chromium/chrome/browser/media/remote/CastNotificationControl.java [modify] https://crrev.com/015da1aa7fe79abc631ea59ac5ed0e2a7dfb1944/chrome/android/java/src/org/chromium/chrome/browser/media/router/cast/CastSessionImpl.java [modify] https://crrev.com/015da1aa7fe79abc631ea59ac5ed0e2a7dfb1944/chrome/android/java/src/org/chromium/chrome/browser/media/ui/MediaNotificationInfo.java [modify] https://crrev.com/015da1aa7fe79abc631ea59ac5ed0e2a7dfb1944/chrome/android/java/src/org/chromium/chrome/browser/media/ui/MediaNotificationListener.java [modify] https://crrev.com/015da1aa7fe79abc631ea59ac5ed0e2a7dfb1944/chrome/android/java/src/org/chromium/chrome/browser/media/ui/MediaNotificationManager.java [modify] https://crrev.com/015da1aa7fe79abc631ea59ac5ed0e2a7dfb1944/chrome/android/java/src/org/chromium/chrome/browser/media/ui/MediaSessionTabHelper.java [modify] https://crrev.com/015da1aa7fe79abc631ea59ac5ed0e2a7dfb1944/chrome/android/java/strings/android_chrome_strings.grd [modify] https://crrev.com/015da1aa7fe79abc631ea59ac5ed0e2a7dfb1944/content/browser/media/session/media_session_android.cc [modify] https://crrev.com/015da1aa7fe79abc631ea59ac5ed0e2a7dfb1944/content/browser/media/session/media_session_android.h [modify] https://crrev.com/015da1aa7fe79abc631ea59ac5ed0e2a7dfb1944/content/browser/media/session/media_session_impl.cc [modify] https://crrev.com/015da1aa7fe79abc631ea59ac5ed0e2a7dfb1944/content/browser/media/session/media_session_impl.h [modify] https://crrev.com/015da1aa7fe79abc631ea59ac5ed0e2a7dfb1944/content/browser/media/session/media_session_service_impl.cc [modify] https://crrev.com/015da1aa7fe79abc631ea59ac5ed0e2a7dfb1944/content/browser/media/session/media_session_service_impl.h [modify] https://crrev.com/015da1aa7fe79abc631ea59ac5ed0e2a7dfb1944/content/public/android/java/src/org/chromium/content/browser/MediaSessionImpl.java [modify] https://crrev.com/015da1aa7fe79abc631ea59ac5ed0e2a7dfb1944/content/public/android/java/src/org/chromium/content_public/browser/MediaSession.java [modify] https://crrev.com/015da1aa7fe79abc631ea59ac5ed0e2a7dfb1944/content/public/android/java/src/org/chromium/content_public/browser/MediaSessionObserver.java [modify] https://crrev.com/015da1aa7fe79abc631ea59ac5ed0e2a7dfb1944/content/public/browser/media_session.h [modify] https://crrev.com/015da1aa7fe79abc631ea59ac5ed0e2a7dfb1944/content/public/browser/media_session_observer.h [modify] https://crrev.com/015da1aa7fe79abc631ea59ac5ed0e2a7dfb1944/third_party/WebKit/Source/modules/mediasession/MediaSession.cpp
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/2ad79b35d6c1a054c1f38681deff659cd2f3b00d commit 2ad79b35d6c1a054c1f38681deff659cd2f3b00d Author: zqzhang <zqzhang@chromium.org> Date: Fri Nov 04 17:03:37 2016 [MediaNotification] Listen to previous/next track from Android MediaSession This CL makes media notification respond to previous/next track controls from Android MediaSession in addition to the notification buttons. BUG= 656563 Review-Url: https://codereview.chromium.org/2470233008 Cr-Commit-Position: refs/heads/master@{#429921} [modify] https://crrev.com/2ad79b35d6c1a054c1f38681deff659cd2f3b00d/chrome/android/java/src/org/chromium/chrome/browser/media/ui/MediaNotificationManager.java
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/d24d2f35eebdcfb9629ffe4641c65b833a1d3135 commit d24d2f35eebdcfb9629ffe4641c65b833a1d3135 Author: zqzhang <zqzhang@chromium.org> Date: Fri Nov 18 18:43:05 2016 Reordering MediaSessionAction seek backward/forward The current order of MediaSessionAction is a bit odd since we have "next track" after "previous track", while "seek backward" after "seek forward". i.e. "|<" ">|" and ">>" "<<". Reordering seek backward/forward will make it more natural. BUG= 656563 Review-Url: https://codereview.chromium.org/2497493005 Cr-Commit-Position: refs/heads/master@{#433251} [modify] https://crrev.com/d24d2f35eebdcfb9629ffe4641c65b833a1d3135/third_party/WebKit/LayoutTests/media/mediasession/mojo/media-control-action-reaches-client.html [modify] https://crrev.com/d24d2f35eebdcfb9629ffe4641c65b833a1d3135/third_party/WebKit/LayoutTests/media/mediasession/mojo/media-control-set-handler-notifies-service.html [modify] https://crrev.com/d24d2f35eebdcfb9629ffe4641c65b833a1d3135/third_party/WebKit/LayoutTests/media/mediasession/mojo/resources/mediasessionservice-mock.js [modify] https://crrev.com/d24d2f35eebdcfb9629ffe4641c65b833a1d3135/third_party/WebKit/LayoutTests/media/mediasession/mojo/resources/utils.js [modify] https://crrev.com/d24d2f35eebdcfb9629ffe4641c65b833a1d3135/third_party/WebKit/Source/modules/mediasession/MediaSession.cpp [modify] https://crrev.com/d24d2f35eebdcfb9629ffe4641c65b833a1d3135/third_party/WebKit/public/platform/modules/mediasession/media_session.mojom
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/cc56b29ef844962a6bb3e0e75a76a9339030847f commit cc56b29ef844962a6bb3e0e75a76a9339030847f Author: zqzhang <zqzhang@chromium.org> Date: Wed Nov 30 17:11:12 2016 Add seek forward/backward controls in MediaNotification This CL adds support for MediaSession seekforward and seekbackward to MediaNotification. On pre-N, a maximum of 3 buttons is shown in BigView to improve the notification appearance, while it is 5 for N. BUG= 656563 , 656574 Review-Url: https://codereview.chromium.org/2498683002 Cr-Commit-Position: refs/heads/master@{#435304} [modify] https://crrev.com/cc56b29ef844962a6bb3e0e75a76a9339030847f/chrome/android/BUILD.gn [add] https://crrev.com/cc56b29ef844962a6bb3e0e75a76a9339030847f/chrome/android/java/res/drawable-hdpi/ic_media_control_fast_forward.png [add] https://crrev.com/cc56b29ef844962a6bb3e0e75a76a9339030847f/chrome/android/java/res/drawable-hdpi/ic_media_control_fast_rewind.png [add] https://crrev.com/cc56b29ef844962a6bb3e0e75a76a9339030847f/chrome/android/java/res/drawable-mdpi/ic_media_control_fast_forward.png [add] https://crrev.com/cc56b29ef844962a6bb3e0e75a76a9339030847f/chrome/android/java/res/drawable-mdpi/ic_media_control_fast_rewind.png [add] https://crrev.com/cc56b29ef844962a6bb3e0e75a76a9339030847f/chrome/android/java/res/drawable-xhdpi/ic_media_control_fast_forward.png [add] https://crrev.com/cc56b29ef844962a6bb3e0e75a76a9339030847f/chrome/android/java/res/drawable-xhdpi/ic_media_control_fast_rewind.png [add] https://crrev.com/cc56b29ef844962a6bb3e0e75a76a9339030847f/chrome/android/java/res/drawable-xxhdpi/ic_media_control_fast_forward.png [add] https://crrev.com/cc56b29ef844962a6bb3e0e75a76a9339030847f/chrome/android/java/res/drawable-xxhdpi/ic_media_control_fast_rewind.png [add] https://crrev.com/cc56b29ef844962a6bb3e0e75a76a9339030847f/chrome/android/java/res/drawable-xxxhdpi/ic_media_control_fast_forward.png [add] https://crrev.com/cc56b29ef844962a6bb3e0e75a76a9339030847f/chrome/android/java/res/drawable-xxxhdpi/ic_media_control_fast_rewind.png [modify] https://crrev.com/cc56b29ef844962a6bb3e0e75a76a9339030847f/chrome/android/java/src/org/chromium/chrome/browser/media/ui/MediaNotificationManager.java [modify] https://crrev.com/cc56b29ef844962a6bb3e0e75a76a9339030847f/chrome/android/java/strings/android_chrome_strings.grd [modify] https://crrev.com/cc56b29ef844962a6bb3e0e75a76a9339030847f/chrome/android/java_sources.gni [add] https://crrev.com/cc56b29ef844962a6bb3e0e75a76a9339030847f/chrome/android/junit/src/org/chromium/chrome/browser/media/ui/MediaNotificationButtonComputationTest.java [add] https://crrev.com/cc56b29ef844962a6bb3e0e75a76a9339030847f/chrome/android/junit/src/org/chromium/chrome/browser/media/ui/OWNERS [modify] https://crrev.com/cc56b29ef844962a6bb3e0e75a76a9339030847f/third_party/WebKit/public/platform/modules/mediasession/media_session.mojom
Comment 1 by zqzh...@chromium.org
, Oct 17 2016