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

Unified Diff: extensions/renderer/resources/media_router_bindings.js

Issue 2145983003: [Media Router] Adds return value to mojo MediaRouteProvider::TerminateRoute. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix typo in media_router_bindings.js Created 4 years, 5 months 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/media/router/route_request_result.h ('k') | tools/metrics/histograms/histograms.xml » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: extensions/renderer/resources/media_router_bindings.js
diff --git a/extensions/renderer/resources/media_router_bindings.js b/extensions/renderer/resources/media_router_bindings.js
index a54fb9843830df8a02bfd309ef2b7e614968677c..30434e1c54a32da5e512e1b796ebfe1dcd8d5953 100644
--- a/extensions/renderer/resources/media_router_bindings.js
+++ b/extensions/renderer/resources/media_router_bindings.js
@@ -153,10 +153,8 @@ define('media_router_bindings', [
* @return {!mediaRouterMojom.RouteRequestResultCode}
*/
function getRouteRequestResultCode_(error) {
- if (error.message.startsWith('timeout'))
- return mediaRouterMojom.RouteRequestResultCode.TIMED_OUT;
- else
- return mediaRouterMojom.RouteRequestResultCode.UNKNOWN_ERROR;
+ return error.errorCode ? error.errorCode :
+ mediaRouterMojom.RouteRequestResultCode.UNKNOWN_ERROR;
}
/**
@@ -172,13 +170,13 @@ define('media_router_bindings', [
}
/**
- * Creates and returns a error route response from given Error object
+ * Creates and returns a error route response from given Error object.
* @param {!Error} error
* @return {!Object}
*/
function toErrorRouteResponse_(error) {
return {
- error_text: 'Error creating route: ' + error.message,
+ error_text: error.message,
result_code: getRouteRequestResultCode_(error)
};
}
@@ -438,7 +436,7 @@ define('media_router_bindings', [
this.joinRoute = null;
/**
- * @type {function(string)}
+ * @type {function(string): Promise}
*/
this.terminateRoute = null;
@@ -690,9 +688,25 @@ define('media_router_bindings', [
/**
* Terminates the route specified by |routeId|.
* @param {!string} routeId
+ * @return {!Promise<!Object>} A Promise resolving to an object describing
+ * the result of the terminate operation, or rejecting with an error
+ * message and code if the operation failed.
*/
MediaRouteProvider.prototype.terminateRoute = function(routeId) {
- this.handlers_.terminateRoute(routeId);
+ // TODO(crbug.com/627967): Remove code path that doesn't expect a Promise
+ // in M56.
+ var maybePromise = this.handlers_.terminateRoute(routeId);
+ var successResult = {
+ result_code: mediaRouterMojom.RouteRequestResultCode.OK
+ };
+ if (maybePromise) {
+ return maybePromise.then(
+ function() { return successResult; },
+ function(err) { return toErrorRouteResponse_(err); }
+ );
+ } else {
+ return Promise.resolve(successResult);
+ }
};
/**
« no previous file with comments | « chrome/browser/media/router/route_request_result.h ('k') | tools/metrics/histograms/histograms.xml » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698