OLD | NEW |
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 | 8 |
9 function mojoString16ToJS(mojoString16) { | 9 function mojoString16ToJS(mojoString16) { |
10 return String.fromCharCode.apply(null, mojoString16.data); | 10 return String.fromCharCode.apply(null, mojoString16.data); |
(...skipping 23 matching lines...) Expand all Loading... |
34 var artwork = []; | 34 var artwork = []; |
35 for (var i = 0; i < mojoMetadata.artwork.length; i++) | 35 for (var i = 0; i < mojoMetadata.artwork.length; i++) |
36 artwork.push(mojoImageToJS(mojoMetadata.artwork[i])); | 36 artwork.push(mojoImageToJS(mojoMetadata.artwork[i])); |
37 | 37 |
38 return new MediaMetadata({title: title, artist: artist, album: album, artwork:
artwork}); | 38 return new MediaMetadata({title: title, artist: artist, album: album, artwork:
artwork}); |
39 } | 39 } |
40 | 40 |
41 let mediaSessionServiceMock = loadMojoModules( | 41 let mediaSessionServiceMock = loadMojoModules( |
42 'mediaSessionServiceMock', | 42 'mediaSessionServiceMock', |
43 ['third_party/WebKit/public/platform/modules/mediasession/media_session.mojo
m', | 43 ['third_party/WebKit/public/platform/modules/mediasession/media_session.mojo
m', |
44 'mojo/public/js/router', | 44 'mojo/public/js/bindings', |
45 ]).then(mojo => { | 45 ]).then(mojo => { |
46 let [mediaSessionService, router] = mojo.modules; | 46 let [mediaSessionService, bindings] = mojo.modules; |
47 | 47 |
48 MediaSessionAction = mediaSessionService.MediaSessionAction; | 48 MediaSessionAction = mediaSessionService.MediaSessionAction; |
49 | 49 |
50 class MediaSessionServiceMock { | 50 class MediaSessionServiceMock { |
51 constructor(interfaceProvider) { | 51 constructor(interfaceProvider) { |
52 interfaceProvider.addInterfaceOverrideForTesting( | 52 interfaceProvider.addInterfaceOverrideForTesting( |
53 mediaSessionService.MediaSessionService.name, | 53 mediaSessionService.MediaSessionService.name, |
54 handle => this.connectMediaSessionService_(handle)); | 54 handle => this.bindingSet_.addBinding(this, handle)); |
55 this.interfaceProvider_ = interfaceProvider; | 55 this.interfaceProvider_ = interfaceProvider; |
56 this.pendingResponse_ = null; | 56 this.pendingResponse_ = null; |
57 } | 57 this.bindingSet_ = new bindings.BindingSet( |
58 | 58 mediaSessionService.MediaSessionService); |
59 connectMediaSessionService_(handle) { | |
60 this.mediaSessionServiceStub_ = new mediaSessionService.MediaSessionSe
rvice.stubClass(this); | |
61 this.mediaSessionServiceRouter_ = new router.Router(handle); | |
62 this.mediaSessionServiceRouter_.setIncomingReceiver(this.mediaSessionS
erviceStub_); | |
63 } | 59 } |
64 | 60 |
65 setMetadata(metadata) { | 61 setMetadata(metadata) { |
66 if (!!this.metadataCallback_) | 62 if (!!this.metadataCallback_) |
67 this.metadataCallback_(mojoMetadataToJS(metadata)); | 63 this.metadataCallback_(mojoMetadataToJS(metadata)); |
68 } | 64 } |
69 | 65 |
70 setMetadataCallback(callback) { | 66 setMetadataCallback(callback) { |
71 this.metadataCallback_ = callback; | 67 this.metadataCallback_ = callback; |
72 } | 68 } |
(...skipping 22 matching lines...) Expand all Loading... |
95 this.clientCallback_ = callback; | 91 this.clientCallback_ = callback; |
96 } | 92 } |
97 | 93 |
98 getClient() { | 94 getClient() { |
99 return this.client_; | 95 return this.client_; |
100 } | 96 } |
101 } | 97 } |
102 | 98 |
103 return new MediaSessionServiceMock(mojo.frameInterfaces); | 99 return new MediaSessionServiceMock(mojo.frameInterfaces); |
104 }); | 100 }); |
OLD | NEW |