Index: chrome/browser/media/router/mojo/media_router.mojom |
diff --git a/chrome/browser/media/router/mojo/media_router.mojom b/chrome/browser/media/router/mojo/media_router.mojom |
index 37fc064748de40d2a68f17ebec05798d2c3a4871..a7cf206dfc21edbcc44386024af24b8502c22661 100644 |
--- a/chrome/browser/media/router/mojo/media_router.mojom |
+++ b/chrome/browser/media/router/mojo/media_router.mojom |
@@ -4,6 +4,7 @@ |
module media_router.mojom; |
+import "chrome/browser/media/router/mojo/media_controller.mojom"; |
import "mojo/common/time.mojom"; |
import "url/mojo/origin.mojom"; |
@@ -322,6 +323,18 @@ interface MediaRouteProvider { |
string media_source, |
SinkSearchCriteria search_criteria) => |
(string sink_id); |
+ |
+ // Creates a controller for the media route with given |route_id| and binds it |
+ // to |media_controller| for receiving media commands. This method returns |
+ // false if such a media route doesn't exist, a controller already exists |
+ // for it, or there was an error while creating a controller. |
+ // |media_controller| becomes invalid when the media route is terminated. The |
+ // created controller is destroyed when |media_controller| becomes invalid. |
+ // TODO(takumif): Consider returning an enum instead of a bool to distinguish |
+ // between error conditions for metrics/debugging. |
+ CreateMediaRouteController(string route_id, |
+ MediaController& media_controller) => |
+ (bool success); |
}; |
// Interface for a service which observes state changes across media |