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

Side by Side Diff: third_party/WebKit/LayoutTests/media/mediasession/mojo/resources/mediasessionservice-mock.js

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 /* 1 /*
2 * mediasessionservice-mock contains a mock implementation of MediaSessionServic e. 2 * mediasessionservice-mock contains a mock implementation of MediaSessionServic e.
3 */ 3 */
4 4
5 "use strict"; 5 "use strict";
6 6
7 var MediaSessionAction; 7 var MediaSessionAction;
8 var MediaSessionPlaybackState;
8 9
9 function mojoString16ToJS(mojoString16) { 10 function mojoString16ToJS(mojoString16) {
10 return String.fromCharCode.apply(null, mojoString16.data); 11 return String.fromCharCode.apply(null, mojoString16.data);
11 } 12 }
12 13
13 function mojoImageToJS(mojoImage) { 14 function mojoImageToJS(mojoImage) {
14 var src = mojoImage.src.url; 15 var src = mojoImage.src.url;
15 var type = mojoString16ToJS(mojoImage.type); 16 var type = mojoString16ToJS(mojoImage.type);
16 var sizes = ""; 17 var sizes = "";
17 for (var i = 0; i < mojoImage.sizes.length; i++) { 18 for (var i = 0; i < mojoImage.sizes.length; i++) {
(...skipping 21 matching lines...) Expand all
39 } 40 }
40 41
41 let mediaSessionServiceMock = loadMojoModules( 42 let mediaSessionServiceMock = loadMojoModules(
42 'mediaSessionServiceMock', 43 'mediaSessionServiceMock',
43 ['third_party/WebKit/public/platform/modules/mediasession/media_session.mojo m', 44 ['third_party/WebKit/public/platform/modules/mediasession/media_session.mojo m',
44 'mojo/public/js/router', 45 'mojo/public/js/router',
45 ]).then(mojo => { 46 ]).then(mojo => {
46 let [mediaSessionService, router] = mojo.modules; 47 let [mediaSessionService, router] = mojo.modules;
47 48
48 MediaSessionAction = mediaSessionService.MediaSessionAction; 49 MediaSessionAction = mediaSessionService.MediaSessionAction;
50 MediaSessionPlaybackState = mediaSessionService.MediaSessionPlaybackState;
49 51
50 class MediaSessionServiceMock { 52 class MediaSessionServiceMock {
51 constructor(interfaceProvider) { 53 constructor(interfaceProvider) {
52 interfaceProvider.addInterfaceOverrideForTesting( 54 interfaceProvider.addInterfaceOverrideForTesting(
53 mediaSessionService.MediaSessionService.name, 55 mediaSessionService.MediaSessionService.name,
54 handle => this.connectMediaSessionService_(handle)); 56 handle => this.connectMediaSessionService_(handle));
55 this.interfaceProvider_ = interfaceProvider; 57 this.interfaceProvider_ = interfaceProvider;
56 this.pendingResponse_ = null; 58 this.pendingResponse_ = null;
57 } 59 }
58 60
59 connectMediaSessionService_(handle) { 61 connectMediaSessionService_(handle) {
60 this.mediaSessionServiceStub_ = new mediaSessionService.MediaSessionSe rvice.stubClass(this); 62 this.mediaSessionServiceStub_ = new mediaSessionService.MediaSessionSe rvice.stubClass(this);
61 this.mediaSessionServiceRouter_ = new router.Router(handle); 63 this.mediaSessionServiceRouter_ = new router.Router(handle);
62 this.mediaSessionServiceRouter_.setIncomingReceiver(this.mediaSessionS erviceStub_); 64 this.mediaSessionServiceRouter_.setIncomingReceiver(this.mediaSessionS erviceStub_);
63 } 65 }
64 66
65 setMetadata(metadata) { 67 setMetadata(metadata) {
66 if (!!this.metadataCallback_) 68 if (!!this.metadataCallback_)
67 this.metadataCallback_(mojoMetadataToJS(metadata)); 69 this.metadataCallback_(mojoMetadataToJS(metadata));
68 } 70 }
69 71
70 setMetadataCallback(callback) { 72 setMetadataCallback(callback) {
71 this.metadataCallback_ = callback; 73 this.metadataCallback_ = callback;
72 } 74 }
73 75
76 setPlaybackState(state) {
77 if (!!this.setPlaybackStateCallback_)
78 this.setPlaybackStateCallback_(state);
79 }
80
81 setPlaybackStateCallback(callback) {
82 this.setPlaybackStateCallback_ = callback;
83 }
84
74 enableAction(action) { 85 enableAction(action) {
75 if (!!this.enableDisableActionCallback_) 86 if (!!this.enableDisableActionCallback_)
76 this.enableDisableActionCallback_(action, true); 87 this.enableDisableActionCallback_(action, true);
77 } 88 }
78 89
79 disableAction(action) { 90 disableAction(action) {
80 if (!!this.enableDisableActionCallback_) 91 if (!!this.enableDisableActionCallback_)
81 this.enableDisableActionCallback_(action, false); 92 this.enableDisableActionCallback_(action, false);
82 } 93 }
83 94
(...skipping 11 matching lines...) Expand all
95 this.clientCallback_ = callback; 106 this.clientCallback_ = callback;
96 } 107 }
97 108
98 getClient() { 109 getClient() {
99 return this.client_; 110 return this.client_;
100 } 111 }
101 } 112 }
102 113
103 return new MediaSessionServiceMock(mojo.frameInterfaces); 114 return new MediaSessionServiceMock(mojo.frameInterfaces);
104 }); 115 });
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698