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 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 Loading... |
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 Loading... |
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 }); |
OLD | NEW |