Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(21)

Unified Diff: third_party/WebKit/LayoutTests/media/mediasession/mojo/media-control-set-handler-notifies-service.html

Issue 2426653002: Adding mojo MediaSessionClient to support media controls (Closed)
Patch Set: rebased and nits Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/LayoutTests/media/mediasession/mojo/media-control-set-handler-notifies-service.html
diff --git a/third_party/WebKit/LayoutTests/media/mediasession/mojo/media-control-set-handler-notifies-service.html b/third_party/WebKit/LayoutTests/media/mediasession/mojo/media-control-set-handler-notifies-service.html
new file mode 100644
index 0000000000000000000000000000000000000000..dcaaed806bf0ca3ed4e68be7b93fd03e922f10e1
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/media/mediasession/mojo/media-control-set-handler-notifies-service.html
@@ -0,0 +1,86 @@
+<!DOCTYPE html>
+<title>Test that setting MediaSession event handler should notify the service</title>
+<script src="../../../resources/testharness.js"></script>
+<script src="../../../resources/testharnessreport.js"></script>
+<script src="../../../resources/mojo-helpers.js"></script>
+<script src="resources/mediasessionservice-mock.js"></script>
+<script src="resources/utils.js"></script>
+<script>
+
+var expectations = [
+ [ MOJOM_ACTION_PLAY, true ],
+ [ MOJOM_ACTION_PAUSE, true ],
+ [ MOJOM_ACTION_PLAY_PAUSE, true ],
+ [ MOJOM_ACTION_PREVIOUS_TRACK, true ],
+ [ MOJOM_ACTION_NEXT_TRACK, true ],
+ [ MOJOM_ACTION_SEEK_FORWARD, true ],
+ [ MOJOM_ACTION_SEEK_BACKWARD, true ],
+ [ MOJOM_ACTION_PLAY, false ],
+ [ MOJOM_ACTION_PLAY, true ],
+ [ MOJOM_ACTION_PAUSE, false ],
+ [ MOJOM_ACTION_PAUSE, true ],
+ [ MOJOM_ACTION_PLAY_PAUSE, false ],
+ [ MOJOM_ACTION_PLAY_PAUSE, true ],
+ [ MOJOM_ACTION_PREVIOUS_TRACK, false ],
+ [ MOJOM_ACTION_PREVIOUS_TRACK, true ],
+ [ MOJOM_ACTION_NEXT_TRACK, false ],
+ [ MOJOM_ACTION_NEXT_TRACK, true ],
+ [ MOJOM_ACTION_SEEK_FORWARD, false ],
+ [ MOJOM_ACTION_SEEK_FORWARD, true ],
+ [ MOJOM_ACTION_SEEK_BACKWARD, false ],
+ [ MOJOM_ACTION_SEEK_BACKWARD, true ],
+ [ MOJOM_ACTION_PLAY, false ],
+ [ MOJOM_ACTION_PAUSE, false ],
+ [ MOJOM_ACTION_PLAY_PAUSE, false ],
+ [ MOJOM_ACTION_PREVIOUS_TRACK, false ],
+ [ MOJOM_ACTION_NEXT_TRACK, false ],
+ [ MOJOM_ACTION_SEEK_FORWARD, false ],
+ [ MOJOM_ACTION_SEEK_BACKWARD, false ],
+];
+
+var nextExpectation = 0;
+
+async_test(function(t) {
+ mediaSessionServiceMock.then(m => {
+ m.setEnableDisableActionCallback(t.step_func(function(action, isEnabled) {
+ var expectedAction = expectations[nextExpectation][0];
+ var expectedIsEnabled = expectations[nextExpectation][1];
+ assert_equals(expectedAction, action);
+ assert_equals(expectedIsEnabled, isEnabled);
+ if (++nextExpectation >= expectations.length)
+ t.done();
+ }));
+
+ // Setting handlers
+ window.navigator.mediaSession.onresize = _ => {}; // Unknown event.
+ window.navigator.mediaSession.onplay = _ => {};
+ window.navigator.mediaSession.onpause = _ => {};
+ window.navigator.mediaSession.onplaypause = _ => {};
+ window.navigator.mediaSession.onprevioustrack = _ => {};
+ window.navigator.mediaSession.onnexttrack = _ => {};
+ window.navigator.mediaSession.onseekforward = _ => {};
+ window.navigator.mediaSession.onseekbackward = _ => {};
+
+ // Resetting handlers
+ window.navigator.mediaSession.onresize = _ => {}; // Unknown event.
+ window.navigator.mediaSession.onplay = _ => {};
+ window.navigator.mediaSession.onpause = _ => {};
+ window.navigator.mediaSession.onplaypause = _ => {};
+ window.navigator.mediaSession.onprevioustrack = _ => {};
+ window.navigator.mediaSession.onnexttrack = _ => {};
+ window.navigator.mediaSession.onseekforward = _ => {};
+ window.navigator.mediaSession.onseekbackward = _ => {};
+
+ // Unsetting handlers
+ window.navigator.mediaSession.onresize = null; // Unknown event.
+ window.navigator.mediaSession.onplay = null;
+ window.navigator.mediaSession.onpause = null;
+ window.navigator.mediaSession.onplaypause = null;
+ window.navigator.mediaSession.onprevioustrack = null;
+ window.navigator.mediaSession.onnexttrack = null;
+ window.navigator.mediaSession.onseekforward = null;
+ window.navigator.mediaSession.onseekbackward = null;
+ });
+}, "test that setting event handler notifies the mojo service");
+
+</script>

Powered by Google App Engine
This is Rietveld 408576698