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

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

Issue 2583463002: [MediaSession] Add playbackState attribute to Blink MediaSession and use it to determine playback s… (Closed)
Patch Set: rebased Created 4 years 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 unified diff | Download patch
OLDNEW
1 <!DOCTYPE html> 1 <!DOCTYPE html>
2 <title>Test that setting MediaSession event handler should notify the service</t itle> 2 <title>Test that setting MediaSession event handler should notify the service</t itle>
3 <script src="../../../resources/testharness.js"></script> 3 <script src="../../../resources/testharness.js"></script>
4 <script src="../../../resources/testharnessreport.js"></script> 4 <script src="../../../resources/testharnessreport.js"></script>
5 <script src="../../../resources/mojo-helpers.js"></script> 5 <script src="../../../resources/mojo-helpers.js"></script>
6 <script src="resources/mediasessionservice-mock.js"></script> 6 <script src="resources/mediasessionservice-mock.js"></script>
7 <script src="resources/utils.js"></script> 7 <script src="resources/utils.js"></script>
8 <script> 8 <script>
9 9
10 var expectations; 10 var expectations;
11 11
12 var nextExpectation = 0; 12 var nextExpectation = 0;
13 13
14 // Delay the initialization since the initialization of MediaSessionAction is de layed. 14 // Delay the initialization since the initialization of MediaSessionAction is de layed.
15 function getExpectations() { 15 function getExpectations() {
16 if (!expectations) { 16 if (!expectations) {
17 expectations = [ 17 expectations = [
18 [ MediaSessionAction.PLAY, true ], 18 [ MediaSessionAction.PLAY, true ],
19 [ MediaSessionAction.PAUSE, true ], 19 [ MediaSessionAction.PAUSE, true ],
20 [ MediaSessionAction.PLAY_PAUSE, true ],
21 [ MediaSessionAction.PREVIOUS_TRACK, true ], 20 [ MediaSessionAction.PREVIOUS_TRACK, true ],
22 [ MediaSessionAction.NEXT_TRACK, true ], 21 [ MediaSessionAction.NEXT_TRACK, true ],
23 [ MediaSessionAction.SEEK_BACKWARD, true ], 22 [ MediaSessionAction.SEEK_BACKWARD, true ],
24 [ MediaSessionAction.SEEK_FORWARD, true ], 23 [ MediaSessionAction.SEEK_FORWARD, true ],
25 [ MediaSessionAction.PLAY, false ], 24 [ MediaSessionAction.PLAY, false ],
26 [ MediaSessionAction.PLAY, true ], 25 [ MediaSessionAction.PLAY, true ],
27 [ MediaSessionAction.PAUSE, false ], 26 [ MediaSessionAction.PAUSE, false ],
28 [ MediaSessionAction.PAUSE, true ], 27 [ MediaSessionAction.PAUSE, true ],
29 [ MediaSessionAction.PLAY_PAUSE, false ],
30 [ MediaSessionAction.PLAY_PAUSE, true ],
31 [ MediaSessionAction.PREVIOUS_TRACK, false ], 28 [ MediaSessionAction.PREVIOUS_TRACK, false ],
32 [ MediaSessionAction.PREVIOUS_TRACK, true ], 29 [ MediaSessionAction.PREVIOUS_TRACK, true ],
33 [ MediaSessionAction.NEXT_TRACK, false ], 30 [ MediaSessionAction.NEXT_TRACK, false ],
34 [ MediaSessionAction.NEXT_TRACK, true ], 31 [ MediaSessionAction.NEXT_TRACK, true ],
35 [ MediaSessionAction.SEEK_BACKWARD, false ], 32 [ MediaSessionAction.SEEK_BACKWARD, false ],
36 [ MediaSessionAction.SEEK_BACKWARD, true ], 33 [ MediaSessionAction.SEEK_BACKWARD, true ],
37 [ MediaSessionAction.SEEK_FORWARD, false ], 34 [ MediaSessionAction.SEEK_FORWARD, false ],
38 [ MediaSessionAction.SEEK_FORWARD, true ], 35 [ MediaSessionAction.SEEK_FORWARD, true ],
39 [ MediaSessionAction.PLAY, false ], 36 [ MediaSessionAction.PLAY, false ],
40 [ MediaSessionAction.PAUSE, false ], 37 [ MediaSessionAction.PAUSE, false ],
41 [ MediaSessionAction.PLAY_PAUSE, false ],
42 [ MediaSessionAction.PREVIOUS_TRACK, false ], 38 [ MediaSessionAction.PREVIOUS_TRACK, false ],
43 [ MediaSessionAction.NEXT_TRACK, false ], 39 [ MediaSessionAction.NEXT_TRACK, false ],
44 [ MediaSessionAction.SEEK_BACKWARD, false ], 40 [ MediaSessionAction.SEEK_BACKWARD, false ],
45 [ MediaSessionAction.SEEK_FORWARD, false ], 41 [ MediaSessionAction.SEEK_FORWARD, false ],
46 ]; 42 ];
47 } 43 }
48 return expectations; 44 return expectations;
49 } 45 }
50 46
51 async_test(function(t) { 47 async_test(function(t) {
52 mediaSessionServiceMock.then(m => { 48 mediaSessionServiceMock.then(m => {
53 m.setEnableDisableActionCallback(t.step_func(function(action, isEnabled) { 49 m.setEnableDisableActionCallback(t.step_func(function(action, isEnabled) {
54 var expectedAction = getExpectations()[nextExpectation][0]; 50 var expectedAction = getExpectations()[nextExpectation][0];
55 var expectedIsEnabled = getExpectations()[nextExpectation][1]; 51 var expectedIsEnabled = getExpectations()[nextExpectation][1];
56 assert_equals(expectedAction, action); 52 assert_equals(expectedAction, action);
57 assert_equals(expectedIsEnabled, isEnabled); 53 assert_equals(expectedIsEnabled, isEnabled);
58 if (++nextExpectation >= getExpectations().length) 54 if (++nextExpectation >= getExpectations().length)
59 t.done(); 55 t.done();
60 })); 56 }));
61 57
62 // Setting handlers 58 // Setting handlers
63 window.navigator.mediaSession.onresize = _ => {}; // Unknown event. 59 window.navigator.mediaSession.onresize = _ => {}; // Unknown event.
64 window.navigator.mediaSession.onplay = _ => {}; 60 window.navigator.mediaSession.onplay = _ => {};
65 window.navigator.mediaSession.onpause = _ => {}; 61 window.navigator.mediaSession.onpause = _ => {};
66 window.navigator.mediaSession.onplaypause = _ => {};
67 window.navigator.mediaSession.onprevioustrack = _ => {}; 62 window.navigator.mediaSession.onprevioustrack = _ => {};
68 window.navigator.mediaSession.onnexttrack = _ => {}; 63 window.navigator.mediaSession.onnexttrack = _ => {};
69 window.navigator.mediaSession.onseekbackward = _ => {}; 64 window.navigator.mediaSession.onseekbackward = _ => {};
70 window.navigator.mediaSession.onseekforward = _ => {}; 65 window.navigator.mediaSession.onseekforward = _ => {};
71 66
72 // Resetting handlers 67 // Resetting handlers
73 window.navigator.mediaSession.onresize = _ => {}; // Unknown event. 68 window.navigator.mediaSession.onresize = _ => {}; // Unknown event.
74 window.navigator.mediaSession.onplay = _ => {}; 69 window.navigator.mediaSession.onplay = _ => {};
75 window.navigator.mediaSession.onpause = _ => {}; 70 window.navigator.mediaSession.onpause = _ => {};
76 window.navigator.mediaSession.onplaypause = _ => {};
77 window.navigator.mediaSession.onprevioustrack = _ => {}; 71 window.navigator.mediaSession.onprevioustrack = _ => {};
78 window.navigator.mediaSession.onnexttrack = _ => {}; 72 window.navigator.mediaSession.onnexttrack = _ => {};
79 window.navigator.mediaSession.onseekbackward = _ => {}; 73 window.navigator.mediaSession.onseekbackward = _ => {};
80 window.navigator.mediaSession.onseekforward = _ => {}; 74 window.navigator.mediaSession.onseekforward = _ => {};
81 75
82 // Unsetting handlers 76 // Unsetting handlers
83 window.navigator.mediaSession.onresize = null; // Unknown event. 77 window.navigator.mediaSession.onresize = null; // Unknown event.
84 window.navigator.mediaSession.onplay = null; 78 window.navigator.mediaSession.onplay = null;
85 window.navigator.mediaSession.onpause = null; 79 window.navigator.mediaSession.onpause = null;
86 window.navigator.mediaSession.onplaypause = null;
87 window.navigator.mediaSession.onprevioustrack = null; 80 window.navigator.mediaSession.onprevioustrack = null;
88 window.navigator.mediaSession.onnexttrack = null; 81 window.navigator.mediaSession.onnexttrack = null;
89 window.navigator.mediaSession.onseekbackward = null; 82 window.navigator.mediaSession.onseekbackward = null;
90 window.navigator.mediaSession.onseekforward = null; 83 window.navigator.mediaSession.onseekforward = null;
91 }); 84 });
92 }, "test that setting event handler notifies the mojo service"); 85 }, "test that setting event handler notifies the mojo service");
93 86
94 </script> 87 </script>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698