| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 var mediaRouter; | 5 var mediaRouter; |
| 6 | 6 |
| 7 define('media_router_bindings', [ | 7 define('media_router_bindings', [ |
| 8 'mojo/public/js/bindings', | 8 'mojo/public/js/bindings', |
| 9 'mojo/public/js/core', | 9 'mojo/public/js/core', |
| 10 'content/public/renderer/frame_service_registry', | 10 'content/public/renderer/frame_service_registry', |
| (...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 146 } | 146 } |
| 147 } | 147 } |
| 148 | 148 |
| 149 /** | 149 /** |
| 150 * Parses the given route request Error object and converts it to the | 150 * Parses the given route request Error object and converts it to the |
| 151 * corresponding result code. | 151 * corresponding result code. |
| 152 * @param {!Error} error | 152 * @param {!Error} error |
| 153 * @return {!mediaRouterMojom.RouteRequestResultCode} | 153 * @return {!mediaRouterMojom.RouteRequestResultCode} |
| 154 */ | 154 */ |
| 155 function getRouteRequestResultCode_(error) { | 155 function getRouteRequestResultCode_(error) { |
| 156 if (error.message.startsWith('timeout')) | 156 return error.errorCode ? error.errorCode : |
| 157 return mediaRouterMojom.RouteRequestResultCode.TIMED_OUT; | 157 mediaRouterMojom.RouteRequestResultCode.UNKNOWN_ERROR; |
| 158 else | |
| 159 return mediaRouterMojom.RouteRequestResultCode.UNKNOWN_ERROR; | |
| 160 } | 158 } |
| 161 | 159 |
| 162 /** | 160 /** |
| 163 * Creates and returns a successful route response from given route. | 161 * Creates and returns a successful route response from given route. |
| 164 * @param {!MediaRoute} route | 162 * @param {!MediaRoute} route |
| 165 * @return {!Object} | 163 * @return {!Object} |
| 166 */ | 164 */ |
| 167 function toSuccessRouteResponse_(route) { | 165 function toSuccessRouteResponse_(route) { |
| 168 return { | 166 return { |
| 169 route: routeToMojo_(route), | 167 route: routeToMojo_(route), |
| 170 result_code: mediaRouterMojom.RouteRequestResultCode.OK | 168 result_code: mediaRouterMojom.RouteRequestResultCode.OK |
| 171 }; | 169 }; |
| 172 } | 170 } |
| 173 | 171 |
| 174 /** | 172 /** |
| 175 * Creates and returns a error route response from given Error object | 173 * Creates and returns a error route response from given Error object. |
| 176 * @param {!Error} error | 174 * @param {!Error} error |
| 177 * @return {!Object} | 175 * @return {!Object} |
| 178 */ | 176 */ |
| 179 function toErrorRouteResponse_(error) { | 177 function toErrorRouteResponse_(error) { |
| 180 return { | 178 return { |
| 181 error_text: 'Error creating route: ' + error.message, | 179 error_text: error.message, |
| 182 result_code: getRouteRequestResultCode_(error) | 180 result_code: getRouteRequestResultCode_(error) |
| 183 }; | 181 }; |
| 184 } | 182 } |
| 185 | 183 |
| 186 /** | 184 /** |
| 187 * Creates a new MediaRouter. | 185 * Creates a new MediaRouter. |
| 188 * Converts a route struct to its Mojo form. | 186 * Converts a route struct to its Mojo form. |
| 189 * @param {!MediaRouterService} service | 187 * @param {!MediaRouterService} service |
| 190 * @constructor | 188 * @constructor |
| 191 */ | 189 */ |
| (...skipping 239 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 431 * @type {function(!string, !string, !string, !string, !number)} | 429 * @type {function(!string, !string, !string, !string, !number)} |
| 432 */ | 430 */ |
| 433 this.createRoute = null; | 431 this.createRoute = null; |
| 434 | 432 |
| 435 /** | 433 /** |
| 436 * @type {function(!string, !string, !string, !number)} | 434 * @type {function(!string, !string, !string, !number)} |
| 437 */ | 435 */ |
| 438 this.joinRoute = null; | 436 this.joinRoute = null; |
| 439 | 437 |
| 440 /** | 438 /** |
| 441 * @type {function(string)} | 439 * @type {function(string): Promise} |
| 442 */ | 440 */ |
| 443 this.terminateRoute = null; | 441 this.terminateRoute = null; |
| 444 | 442 |
| 445 /** | 443 /** |
| 446 * @type {function(string)} | 444 * @type {function(string)} |
| 447 */ | 445 */ |
| 448 this.startObservingMediaSinks = null; | 446 this.startObservingMediaSinks = null; |
| 449 | 447 |
| 450 /** | 448 /** |
| 451 * @type {function(string)} | 449 * @type {function(string)} |
| (...skipping 231 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 683 return toSuccessRouteResponse_(route); | 681 return toSuccessRouteResponse_(route); |
| 684 }, | 682 }, |
| 685 function(err) { | 683 function(err) { |
| 686 return toErrorRouteResponse_(err); | 684 return toErrorRouteResponse_(err); |
| 687 }); | 685 }); |
| 688 }; | 686 }; |
| 689 | 687 |
| 690 /** | 688 /** |
| 691 * Terminates the route specified by |routeId|. | 689 * Terminates the route specified by |routeId|. |
| 692 * @param {!string} routeId | 690 * @param {!string} routeId |
| 691 * @return {!Promise<!Object>} A Promise resolving to an object describing |
| 692 * the result of the terminate operation, or rejecting with an error |
| 693 * message and code if the operation failed. |
| 693 */ | 694 */ |
| 694 MediaRouteProvider.prototype.terminateRoute = function(routeId) { | 695 MediaRouteProvider.prototype.terminateRoute = function(routeId) { |
| 695 this.handlers_.terminateRoute(routeId); | 696 // TODO(crbug.com/627967): Remove code path that doesn't expect a Promise |
| 697 // in M56. |
| 698 var maybePromise = this.handlers_.terminateRoute(routeId); |
| 699 var successResult = { |
| 700 result_code: mediaRouterMojom.RouteRequestResultCode.OK |
| 701 }; |
| 702 if (maybePromise) { |
| 703 return maybePromise.then( |
| 704 function() { return successResult; }, |
| 705 function(err) { return toErrorRouteResponse_(err); } |
| 706 ); |
| 707 } else { |
| 708 return Promise.resolve(successResult); |
| 709 } |
| 696 }; | 710 }; |
| 697 | 711 |
| 698 /** | 712 /** |
| 699 * Posts a message to the route designated by |routeId|. | 713 * Posts a message to the route designated by |routeId|. |
| 700 * @param {!string} routeId | 714 * @param {!string} routeId |
| 701 * @param {!string} message | 715 * @param {!string} message |
| 702 * @return {!Promise.<boolean>} Resolved with true if the message was sent, | 716 * @return {!Promise.<boolean>} Resolved with true if the message was sent, |
| 703 * or false on failure. | 717 * or false on failure. |
| 704 */ | 718 */ |
| 705 MediaRouteProvider.prototype.sendRouteMessage = function( | 719 MediaRouteProvider.prototype.sendRouteMessage = function( |
| (...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 843 }; | 857 }; |
| 844 | 858 |
| 845 mediaRouter = new MediaRouter(connector.bindHandleToProxy( | 859 mediaRouter = new MediaRouter(connector.bindHandleToProxy( |
| 846 serviceProvider.connectToService( | 860 serviceProvider.connectToService( |
| 847 mediaRouterMojom.MediaRouter.name), | 861 mediaRouterMojom.MediaRouter.name), |
| 848 mediaRouterMojom.MediaRouter)); | 862 mediaRouterMojom.MediaRouter)); |
| 849 | 863 |
| 850 return mediaRouter; | 864 return mediaRouter; |
| 851 }); | 865 }); |
| 852 | 866 |
| OLD | NEW |