Commit 841d0ebc authored by Xiangjun Zhang's avatar Xiangjun Zhang Committed by Commit Bot

Mirroring Service: Add mojo interface for offscreenTab mirroring.

Add the mojo interface to start an OffscreenTab mirroring with the
mirroring service.

Bug: 734672
Change-Id: I3b9edbdccffdfb06b0a325170ed6108be81a6975
Reviewed-on: https://chromium-review.googlesource.com/1195821Reviewed-by: default avatarNasko Oskov <nasko@chromium.org>
Reviewed-by: default avatarYuri Wiitala <miu@chromium.org>
Reviewed-by: default avatarDerek Cheng <imcheng@chromium.org>
Commit-Queue: Xiangjun Zhang <xjz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#589213}
parent 737f88e8
...@@ -1008,6 +1008,16 @@ void MediaRouterMojoImpl::GetMirroringServiceHostForDesktop( ...@@ -1008,6 +1008,16 @@ void MediaRouterMojoImpl::GetMirroringServiceHostForDesktop(
} }
} }
void MediaRouterMojoImpl::GetMirroringServiceHostForOffscreenTab(
const GURL& presentation_url,
const std::string& presentation_id,
mirroring::mojom::MirroringServiceHostRequest request) {
if (ShouldUseMirroringService() && IsValidPresentationUrl(presentation_url)) {
mirroring::CastMirroringServiceHost::GetForOffscreenTab(
context_, presentation_url, presentation_id, std::move(request));
}
}
void MediaRouterMojoImpl::BindToMojoRequest( void MediaRouterMojoImpl::BindToMojoRequest(
mojo::InterfaceRequest<mojom::MediaRouter> request) { mojo::InterfaceRequest<mojom::MediaRouter> request) {
bindings_.AddBinding(this, std::move(request)); bindings_.AddBinding(this, std::move(request));
......
...@@ -363,6 +363,10 @@ class MediaRouterMojoImpl : public MediaRouterBase, public mojom::MediaRouter { ...@@ -363,6 +363,10 @@ class MediaRouterMojoImpl : public MediaRouterBase, public mojom::MediaRouter {
int32_t initiator_tab_id, int32_t initiator_tab_id,
const std::string& desktop_stream_id, const std::string& desktop_stream_id,
mirroring::mojom::MirroringServiceHostRequest request) override; mirroring::mojom::MirroringServiceHostRequest request) override;
void GetMirroringServiceHostForOffscreenTab(
const GURL& presentation_url,
const std::string& presentation_id,
mirroring::mojom::MirroringServiceHostRequest request) override;
// Result callback when Mojo TerminateRoute is invoked. // Result callback when Mojo TerminateRoute is invoked.
// |route_id|: ID of MediaRoute passed to the TerminateRoute request. // |route_id|: ID of MediaRoute passed to the TerminateRoute request.
......
...@@ -82,6 +82,10 @@ class MockMojoMediaRouter : public MockMediaRouter, public mojom::MediaRouter { ...@@ -82,6 +82,10 @@ class MockMojoMediaRouter : public MockMediaRouter, public mojom::MediaRouter {
void(int32_t initiator_tab_id, void(int32_t initiator_tab_id,
const std::string& desktop_stream_id, const std::string& desktop_stream_id,
mirroring::mojom::MirroringServiceHostRequest request)); mirroring::mojom::MirroringServiceHostRequest request));
MOCK_METHOD3(GetMirroringServiceHostForOffscreenTab,
void(const GURL& presentation_url,
const std::string& presentation_id,
mirroring::mojom::MirroringServiceHostRequest request));
}; };
} // namespace media_router } // namespace media_router
......
...@@ -591,4 +591,8 @@ interface MediaRouter { ...@@ -591,4 +591,8 @@ interface MediaRouter {
int32 initiator_tab_id, // The tab used to register the stream. int32 initiator_tab_id, // The tab used to register the stream.
string desktop_stream_id, string desktop_stream_id,
mirroring.mojom.MirroringServiceHost& request); mirroring.mojom.MirroringServiceHost& request);
GetMirroringServiceHostForOffscreenTab(
url.mojom.Url presentation_url,
string presentation_id,
mirroring.mojom.MirroringServiceHost& request);
}; };
...@@ -1019,6 +1019,17 @@ MediaRouter.prototype.getMirroringServiceHostForDesktop = function( ...@@ -1019,6 +1019,17 @@ MediaRouter.prototype.getMirroringServiceHostForDesktop = function(
desktop_stream_id, request); desktop_stream_id, request);
} }
/**
* @param {!url.mojom.Url} presentation_url
* @param {!string} presentation_id
* @param {!mojo.InterfaceRequest} request
*/
MediaRouter.prototype.getMirroringServiceHostForOffscreenTab = function(
presentation_url, presentation_id, request) {
this.service_.getMirroringServiceHostForOffscreenTab(presentation_url,
presentation_id, request);
}
/** /**
* Object containing callbacks set by the provider manager. * Object containing callbacks set by the provider manager.
* *
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment