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

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

Issue 2834603004: [Media Router] Merge createMediaRouteController and setMediaRouteStatusObserver in bindings (Closed)
Patch Set: Set observer asynchronously Created 3 years, 8 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 | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/renderer/resources/extensions/media_router_bindings.js
diff --git a/chrome/renderer/resources/extensions/media_router_bindings.js b/chrome/renderer/resources/extensions/media_router_bindings.js
index 24b7f15ee546108c383b49a429d2cc5b32a6b5bc..51d97a16e9b5c30cf78ab7ce9cb753d2102ee302 100644
--- a/chrome/renderer/resources/extensions/media_router_bindings.js
+++ b/chrome/renderer/resources/extensions/media_router_bindings.js
@@ -919,40 +919,33 @@ define('media_router_bindings', [
/**
* Creates a controller for the given route and binds the given
- * InterfaceRequest to it.
+ * InterfaceRequest to it, and registers an observer for media status updates
+ * for the route.
* @param {string} routeId
* @param {!bindings.InterfaceRequest} controllerRequest
+ * @param {!mediaStatusMojom.MediaStatusObserverPtr} observer
* @return {!Promise<!{success: boolean}>} Resolves to true if a controller
* is created. Resolves to false if a controller cannot be created, or if
* the controller is already bound.
*/
MediaRouteProvider.prototype.createMediaRouteController = function(
- routeId, controllerRequest) {
+ routeId, controllerRequest, observer) {
// TODO(imcheng): Remove this check when M59 is in stable.
imcheng 2017/04/21 21:25:15 s/59/60
takumif 2017/04/21 23:01:11 Done.
- if (!this.handlers_.createMediaRouteController) {
+ if (!this.handlers_.createMediaRouteController ||
imcheng 2017/04/21 21:25:15 It probably makes sense to use a combined API in t
takumif 2017/04/21 23:01:11 Done.
+ !this.handlers_.setMediaRouteStatusObserver) {
return Promise.resolve({success: false});
}
this.handlers_.onBeforeInvokeHandler();
- this.handlers_.createMediaRouteController(routeId, controllerRequest)
- .then(controller => {success: true},
- e => {success: false});
- }
-
- /**
- * Sets the MediaStatus oberver for a given route. MediaStatus updates are
- * notified via the given observer interface.
- * @param {string} routeId
- * @param {!mediaStatusMojom.MediaStatusObserverPtr} observer
- */
- MediaRouteProvider.prototype.setMediaRouteStatusObserver = function(
- routeId, observer) {
- // TODO(imcheng): Remove this check when M59 is in stable.
- if (!this.handlers_.setMediaRouteStatusObserver) {
- return;
- }
- this.handlers_.onBeforeInvokeHandler();
- this.handlers_.setMediaRouteStatusObserver(routeId, observer);
+ const result =
+ this.handlers_.createMediaRouteController(routeId, controllerRequest)
+ .then(controller => {
+ this.handlers_.setMediaRouteStatusObserver(routeId,
+ observer);
+ return {success: true};
+ },
+ e => {success: false});
+ return result;
};
mediaRouter = new MediaRouter(new mediaRouterMojom.MediaRouterPtr(
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698