Commit 5f3dbfa3 authored by Muyao Xu's avatar Muyao Xu Committed by Commit Bot

[Media Router] Eliminate duplicate enums from media_router.mojom

Bug: b/168910030, 831416
Change-Id: Id983b737c571630b4561f31c5098efc064297e29
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2419796Reviewed-by: default avatarTakumi Fujimoto <takumif@chromium.org>
Reviewed-by: default avatarEmily Stark <estark@chromium.org>
Reviewed-by: default avatarDavid Bertoni <dbertoni@chromium.org>
Reviewed-by: default avatarJohn Lee <johntlee@chromium.org>
Commit-Queue: Muyao Xu <muyaoxu@google.com>
Cr-Commit-Position: refs/heads/master@{#809964}
parent 7a927b1e
...@@ -47,42 +47,6 @@ ...@@ -47,42 +47,6 @@
namespace media_router { namespace media_router {
namespace { namespace {
// TODO(crbug.com/831416): Delete temporary code once we can use
// presentation.mojom types here.
blink::mojom::PresentationConnectionCloseReason
PresentationConnectionCloseReasonToBlink(
mojom::MediaRouter::PresentationConnectionCloseReason reason) {
switch (reason) {
case mojom::MediaRouter::PresentationConnectionCloseReason::
CONNECTION_ERROR:
return blink::mojom::PresentationConnectionCloseReason::CONNECTION_ERROR;
case mojom::MediaRouter::PresentationConnectionCloseReason::CLOSED:
return blink::mojom::PresentationConnectionCloseReason::CLOSED;
case mojom::MediaRouter::PresentationConnectionCloseReason::WENT_AWAY:
return blink::mojom::PresentationConnectionCloseReason::WENT_AWAY;
}
NOTREACHED() << "Unknown PresentationConnectionCloseReason " << reason;
return blink::mojom::PresentationConnectionCloseReason::CONNECTION_ERROR;
}
// TODO(crbug.com/831416): Delete temporary code once we can use
// presentation.mojom types here.
blink::mojom::PresentationConnectionState PresentationConnectionStateToBlink(
mojom::MediaRouter::PresentationConnectionState state) {
switch (state) {
case mojom::MediaRouter::PresentationConnectionState::CONNECTING:
return blink::mojom::PresentationConnectionState::CONNECTING;
case mojom::MediaRouter::PresentationConnectionState::CONNECTED:
return blink::mojom::PresentationConnectionState::CONNECTED;
case mojom::MediaRouter::PresentationConnectionState::CLOSED:
return blink::mojom::PresentationConnectionState::CLOSED;
case mojom::MediaRouter::PresentationConnectionState::TERMINATED:
return blink::mojom::PresentationConnectionState::TERMINATED;
}
NOTREACHED() << "Unknown PresentationConnectionState " << state;
return blink::mojom::PresentationConnectionState::CONNECTING;
}
// Get the WebContents associated with the given tab id. Returns nullptr if the // Get the WebContents associated with the given tab id. Returns nullptr if the
// tab id is invalid, or if the searching fails. // tab id is invalid, or if the searching fails.
// TODO(xjz): Move this to SessionTabHelper to allow it being used by // TODO(xjz): Move this to SessionTabHelper to allow it being used by
...@@ -875,17 +839,15 @@ void MediaRouterMojoImpl::OnSinkAvailabilityUpdated( ...@@ -875,17 +839,15 @@ void MediaRouterMojoImpl::OnSinkAvailabilityUpdated(
void MediaRouterMojoImpl::OnPresentationConnectionStateChanged( void MediaRouterMojoImpl::OnPresentationConnectionStateChanged(
const std::string& route_id, const std::string& route_id,
media_router::mojom::MediaRouter::PresentationConnectionState state) { blink::mojom::PresentationConnectionState state) {
NotifyPresentationConnectionStateChange( NotifyPresentationConnectionStateChange(route_id, state);
route_id, PresentationConnectionStateToBlink(state));
} }
void MediaRouterMojoImpl::OnPresentationConnectionClosed( void MediaRouterMojoImpl::OnPresentationConnectionClosed(
const std::string& route_id, const std::string& route_id,
media_router::mojom::MediaRouter::PresentationConnectionCloseReason reason, blink::mojom::PresentationConnectionCloseReason reason,
const std::string& message) { const std::string& message) {
NotifyPresentationConnectionClose( NotifyPresentationConnectionClose(route_id, reason, message);
route_id, PresentationConnectionCloseReasonToBlink(reason), message);
} }
void MediaRouterMojoImpl::OnTerminateRouteResult( void MediaRouterMojoImpl::OnTerminateRouteResult(
......
...@@ -326,12 +326,10 @@ class MediaRouterMojoImpl : public MediaRouterBase, public mojom::MediaRouter { ...@@ -326,12 +326,10 @@ class MediaRouterMojoImpl : public MediaRouterBase, public mojom::MediaRouter {
SinkAvailability availability) override; SinkAvailability availability) override;
void OnPresentationConnectionStateChanged( void OnPresentationConnectionStateChanged(
const std::string& route_id, const std::string& route_id,
media_router::mojom::MediaRouter::PresentationConnectionState state) blink::mojom::PresentationConnectionState state) override;
override;
void OnPresentationConnectionClosed( void OnPresentationConnectionClosed(
const std::string& route_id, const std::string& route_id,
media_router::mojom::MediaRouter::PresentationConnectionCloseReason blink::mojom::PresentationConnectionCloseReason reason,
reason,
const std::string& message) override; const std::string& message) override;
void OnRouteMessagesReceived( void OnRouteMessagesReceived(
const std::string& route_id, const std::string& route_id,
......
...@@ -46,6 +46,7 @@ ...@@ -46,6 +46,7 @@
#include "testing/gmock/include/gmock/gmock.h" #include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h" #include "testing/gtest/include/gtest/gtest.h"
using blink::mojom::PresentationConnectionCloseReason;
using blink::mojom::PresentationConnectionState; using blink::mojom::PresentationConnectionState;
using media_router::mojom::RouteMessagePtr; using media_router::mojom::RouteMessagePtr;
using testing::_; using testing::_;
...@@ -407,14 +408,14 @@ TEST_F(MediaRouterMojoImplTest, JoinRouteTimedOutFails) { ...@@ -407,14 +408,14 @@ TEST_F(MediaRouterMojoImplTest, JoinRouteTimedOutFails) {
kSource, kPresentationId, url::Origin::Create(GURL(kOrigin)), kSource, kPresentationId, url::Origin::Create(GURL(kOrigin)),
kInvalidTabId, kInvalidTabId,
base::TimeDelta::FromMilliseconds(kTimeoutMillis), _, _)) base::TimeDelta::FromMilliseconds(kTimeoutMillis), _, _))
.WillOnce(Invoke( .WillOnce(Invoke([](const std::string& source,
[](const std::string& source, const std::string& presentation_id, const std::string& presentation_id,
const url::Origin& origin, int tab_id, base::TimeDelta timeout, const url::Origin& origin, int tab_id,
bool off_the_record, base::TimeDelta timeout, bool off_the_record,
mojom::MediaRouteProvider::JoinRouteCallback& cb) { mojom::MediaRouteProvider::JoinRouteCallback& cb) {
std::move(cb).Run(base::nullopt, nullptr, std::string(kError), std::move(cb).Run(base::nullopt, nullptr, std::string(kError),
RouteRequestResult::TIMED_OUT); RouteRequestResult::TIMED_OUT);
})); }));
RouteResponseCallbackHandler handler; RouteResponseCallbackHandler handler;
base::RunLoop run_loop; base::RunLoop run_loop;
...@@ -1033,16 +1034,13 @@ TEST_F(MediaRouterMojoImplTest, PresentationConnectionStateChangedCallback) { ...@@ -1033,16 +1034,13 @@ TEST_F(MediaRouterMojoImplTest, PresentationConnectionStateChangedCallback) {
base::RunLoop run_loop; base::RunLoop run_loop;
content::PresentationConnectionStateChangeInfo closed_info( content::PresentationConnectionStateChangeInfo closed_info(
PresentationConnectionState::CLOSED); PresentationConnectionState::CLOSED);
closed_info.close_reason = closed_info.close_reason = PresentationConnectionCloseReason::WENT_AWAY;
blink::mojom::PresentationConnectionCloseReason::WENT_AWAY;
closed_info.message = "Foo"; closed_info.message = "Foo";
EXPECT_CALL(callback, Run(StateChangeInfoEquals(closed_info))) EXPECT_CALL(callback, Run(StateChangeInfoEquals(closed_info)))
.WillOnce(InvokeWithoutArgs([&run_loop]() { run_loop.Quit(); })); .WillOnce(InvokeWithoutArgs([&run_loop]() { run_loop.Quit(); }));
router()->OnPresentationConnectionClosed( router()->OnPresentationConnectionClosed(
route_id, route_id, PresentationConnectionCloseReason::WENT_AWAY, "Foo");
mojom::MediaRouter::PresentationConnectionCloseReason::WENT_AWAY,
"Foo");
run_loop.Run(); run_loop.Run();
EXPECT_TRUE(Mock::VerifyAndClearExpectations(&callback)); EXPECT_TRUE(Mock::VerifyAndClearExpectations(&callback));
} }
...@@ -1054,7 +1052,7 @@ TEST_F(MediaRouterMojoImplTest, PresentationConnectionStateChangedCallback) { ...@@ -1054,7 +1052,7 @@ TEST_F(MediaRouterMojoImplTest, PresentationConnectionStateChangedCallback) {
EXPECT_CALL(callback, Run(StateChangeInfoEquals(terminated_info))) EXPECT_CALL(callback, Run(StateChangeInfoEquals(terminated_info)))
.WillOnce(InvokeWithoutArgs([&run_loop]() { run_loop.Quit(); })); .WillOnce(InvokeWithoutArgs([&run_loop]() { run_loop.Quit(); }));
router()->OnPresentationConnectionStateChanged( router()->OnPresentationConnectionStateChanged(
route_id, mojom::MediaRouter::PresentationConnectionState::TERMINATED); route_id, PresentationConnectionState::TERMINATED);
run_loop.Run(); run_loop.Run();
EXPECT_TRUE(Mock::VerifyAndClearExpectations(&callback)); EXPECT_TRUE(Mock::VerifyAndClearExpectations(&callback));
...@@ -1076,7 +1074,7 @@ TEST_F(MediaRouterMojoImplTest, ...@@ -1076,7 +1074,7 @@ TEST_F(MediaRouterMojoImplTest,
EXPECT_CALL(callback, Run(_)).Times(0); EXPECT_CALL(callback, Run(_)).Times(0);
router()->OnPresentationConnectionStateChanged( router()->OnPresentationConnectionStateChanged(
route_id, mojom::MediaRouter::PresentationConnectionState::TERMINATED); route_id, PresentationConnectionState::TERMINATED);
base::RunLoop().RunUntilIdle(); base::RunLoop().RunUntilIdle();
} }
......
...@@ -345,7 +345,7 @@ void DialMediaRouteProvider::HandleStopAppResult( ...@@ -345,7 +345,7 @@ void DialMediaRouteProvider::HandleStopAppResult(
RouteRequestResult::ResultCode result_code) { RouteRequestResult::ResultCode result_code) {
if (result_code == RouteRequestResult::OK) { if (result_code == RouteRequestResult::OK) {
media_router_->OnPresentationConnectionStateChanged( media_router_->OnPresentationConnectionStateChanged(
route_id, mojom::MediaRouter::PresentationConnectionState::TERMINATED); route_id, blink::mojom::PresentationConnectionState::TERMINATED);
NotifyAllOnRoutesUpdated(); NotifyAllOnRoutesUpdated();
DialMediaRouteProviderMetrics::RecordTerminateRouteResult( DialMediaRouteProviderMetrics::RecordTerminateRouteResult(
DialTerminateRouteResult::kSuccess); DialTerminateRouteResult::kSuccess);
......
...@@ -335,8 +335,7 @@ class DialMediaRouteProviderTest : public ::testing::Test { ...@@ -335,8 +335,7 @@ class DialMediaRouteProviderTest : public ::testing::Test {
EXPECT_CALL( EXPECT_CALL(
mock_router_, mock_router_,
OnPresentationConnectionStateChanged( OnPresentationConnectionStateChanged(
route_id, route_id, blink::mojom::PresentationConnectionState::TERMINATED));
mojom::MediaRouter::PresentationConnectionState::TERMINATED));
EXPECT_CALL(mock_router_, OnRoutesUpdated(_, IsEmpty(), _, IsEmpty())); EXPECT_CALL(mock_router_, OnRoutesUpdated(_, IsEmpty(), _, IsEmpty()));
base::RunLoop().RunUntilIdle(); base::RunLoop().RunUntilIdle();
......
...@@ -426,7 +426,7 @@ void WiredDisplayMediaRouteProvider::RemovePresentationById( ...@@ -426,7 +426,7 @@ void WiredDisplayMediaRouteProvider::RemovePresentationById(
return; return;
media_router_->OnPresentationConnectionStateChanged( media_router_->OnPresentationConnectionStateChanged(
entry->second.route().media_route_id(), entry->second.route().media_route_id(),
mojom::MediaRouter::PresentationConnectionState::TERMINATED); blink::mojom::PresentationConnectionState::TERMINATED);
presentations_.erase(entry); presentations_.erase(entry);
NotifyRouteObservers(); NotifyRouteObservers();
} }
......
...@@ -11,7 +11,6 @@ ...@@ -11,7 +11,6 @@
#include "chrome/browser/media/router/test/media_router_mojo_test.h" #include "chrome/browser/media/router/test/media_router_mojo_test.h"
#include "chrome/browser/media/router/test/mock_mojo_media_router.h" #include "chrome/browser/media/router/test/mock_mojo_media_router.h"
#include "chrome/test/base/testing_profile.h" #include "chrome/test/base/testing_profile.h"
#include "components/media_router/common/mojom/media_router.mojom.h"
#include "content/public/test/browser_task_environment.h" #include "content/public/test/browser_task_environment.h"
#include "mojo/public/cpp/bindings/pending_receiver.h" #include "mojo/public/cpp/bindings/pending_receiver.h"
#include "mojo/public/cpp/bindings/pending_remote.h" #include "mojo/public/cpp/bindings/pending_remote.h"
...@@ -348,7 +347,7 @@ TEST_F(WiredDisplayMediaRouteProviderTest, CreateAndTerminateRoute) { ...@@ -348,7 +347,7 @@ TEST_F(WiredDisplayMediaRouteProviderTest, CreateAndTerminateRoute) {
EXPECT_CALL(router_, EXPECT_CALL(router_,
OnPresentationConnectionStateChanged( OnPresentationConnectionStateChanged(
presentation_id, presentation_id,
mojom::MediaRouter::PresentationConnectionState::TERMINATED)); blink::mojom::PresentationConnectionState::TERMINATED));
provider_remote_->TerminateRoute(presentation_id, provider_remote_->TerminateRoute(presentation_id,
base::BindOnce(&MockCallback::TerminateRoute, base::BindOnce(&MockCallback::TerminateRoute,
base::Unretained(&callback))); base::Unretained(&callback)));
......
...@@ -46,17 +46,13 @@ class MockMojoMediaRouter : public MockMediaRouter, public mojom::MediaRouter { ...@@ -46,17 +46,13 @@ class MockMojoMediaRouter : public MockMediaRouter, public mojom::MediaRouter {
MOCK_METHOD2(OnSinkAvailabilityUpdated, MOCK_METHOD2(OnSinkAvailabilityUpdated,
void(MediaRouteProviderId provider_id, void(MediaRouteProviderId provider_id,
mojom::MediaRouter::SinkAvailability availability)); mojom::MediaRouter::SinkAvailability availability));
MOCK_METHOD2( MOCK_METHOD2(OnPresentationConnectionStateChanged,
OnPresentationConnectionStateChanged, void(const std::string& route_id,
void( blink::mojom::PresentationConnectionState state));
const std::string& route_id, MOCK_METHOD3(OnPresentationConnectionClosed,
media_router::mojom::MediaRouter::PresentationConnectionState state)); void(const std::string& route_id,
MOCK_METHOD3( blink::mojom::PresentationConnectionCloseReason reason,
OnPresentationConnectionClosed, const std::string& message));
void(const std::string& route_id,
media_router::mojom::MediaRouter::PresentationConnectionCloseReason
reason,
const std::string& message));
MOCK_METHOD2(OnRouteMessagesReceived, MOCK_METHOD2(OnRouteMessagesReceived,
void(const std::string& route_id, void(const std::string& route_id,
std::vector<mojom::RouteMessagePtr> messages)); std::vector<mojom::RouteMessagePtr> messages));
......
...@@ -235,6 +235,9 @@ void ChromeExtensionsDispatcherDelegate::PopulateSourceMap( ...@@ -235,6 +235,9 @@ void ChromeExtensionsDispatcherDelegate::PopulateSourceMap(
source_map->RegisterSource( source_map->RegisterSource(
"components/mirroring/mojom/session_parameters.mojom", "components/mirroring/mojom/session_parameters.mojom",
IDR_MIRRORING_SESSION_PARAMETERS_JS); IDR_MIRRORING_SESSION_PARAMETERS_JS);
source_map->RegisterSource(
"third_party/blink/public/mojom/presentation/presentation.mojom",
IDR_PRESENTATION_JS);
} }
void ChromeExtensionsDispatcherDelegate::RequireWebViewModules( void ChromeExtensionsDispatcherDelegate::RequireWebViewModules(
......
...@@ -22,6 +22,7 @@ loadScript('mojo/public/mojom/base/time.mojom'); ...@@ -22,6 +22,7 @@ loadScript('mojo/public/mojom/base/time.mojom');
loadScript('mojo/public/mojom/base/unguessable_token.mojom'); loadScript('mojo/public/mojom/base/unguessable_token.mojom');
loadScript('net/interfaces/ip_address.mojom'); loadScript('net/interfaces/ip_address.mojom');
loadScript('net/interfaces/ip_endpoint.mojom'); loadScript('net/interfaces/ip_endpoint.mojom');
loadScript('third_party/blink/public/mojom/presentation/presentation.mojom');
loadScript('url/mojom/origin.mojom'); loadScript('url/mojom/origin.mojom');
loadScript('url/mojom/url.mojom'); loadScript('url/mojom/url.mojom');
...@@ -473,11 +474,11 @@ function messageToMojo_(message) { ...@@ -473,11 +474,11 @@ function messageToMojo_(message) {
/** /**
* Converts presentation connection state to Mojo enum value. * Converts presentation connection state to Mojo enum value.
* @param {!string} state * @param {!string} state
* @return {!mediaRouter.mojom.MediaRouter.PresentationConnectionState} * @return {!blink.mojom.PresentationConnectionState}
*/ */
function presentationConnectionStateToMojo_(state) { function presentationConnectionStateToMojo_(state) {
var PresentationConnectionState = var PresentationConnectionState =
mediaRouter.mojom.MediaRouter.PresentationConnectionState; blink.mojom.PresentationConnectionState;
switch (state) { switch (state) {
case 'connecting': case 'connecting':
return PresentationConnectionState.CONNECTING; return PresentationConnectionState.CONNECTING;
...@@ -496,11 +497,11 @@ function presentationConnectionStateToMojo_(state) { ...@@ -496,11 +497,11 @@ function presentationConnectionStateToMojo_(state) {
/** /**
* Converts presentation connection close reason to Mojo enum value. * Converts presentation connection close reason to Mojo enum value.
* @param {!string} reason * @param {!string} reason
* @return {!mediaRouter.mojom.MediaRouter.PresentationConnectionCloseReason} * @return {!blink.mojom.PresentationConnectionCloseReason}
*/ */
function presentationConnectionCloseReasonToMojo_(reason) { function presentationConnectionCloseReasonToMojo_(reason) {
var PresentationConnectionCloseReason = var PresentationConnectionCloseReason =
mediaRouter.mojom.MediaRouter.PresentationConnectionCloseReason; blink.mojom.PresentationConnectionCloseReason;
switch (reason) { switch (reason) {
case 'error': case 'error':
return PresentationConnectionCloseReason.CONNECTION_ERROR; return PresentationConnectionCloseReason.CONNECTION_ERROR;
......
...@@ -89,6 +89,7 @@ ...@@ -89,6 +89,7 @@
<include name="IDR_ORIGIN_MOJOM_JS" file="${mojom_root}\url\mojom\origin.mojom.js" use_base_dir="false" type="BINDATA" /> <include name="IDR_ORIGIN_MOJOM_JS" file="${mojom_root}\url\mojom\origin.mojom.js" use_base_dir="false" type="BINDATA" />
<include name="IDR_MOJO_URL_MOJOM_JS" file="${mojom_root}\url\mojom\url.mojom.js" use_base_dir="false" type="BINDATA" /> <include name="IDR_MOJO_URL_MOJOM_JS" file="${mojom_root}\url\mojom\url.mojom.js" use_base_dir="false" type="BINDATA" />
<include name="IDR_REMOTING_COMMON_JS" file="${mojom_root}\media\mojo\mojom\remoting_common.mojom.js" use_base_dir="false" type="BINDATA" /> <include name="IDR_REMOTING_COMMON_JS" file="${mojom_root}\media\mojo\mojom\remoting_common.mojom.js" use_base_dir="false" type="BINDATA" />
<include name="IDR_PRESENTATION_JS" file="${mojom_root}\third_party\blink\public\mojom\presentation\presentation.mojom.js" use_base_dir="false" type="BINDATA" />
</if> </if>
</includes> </includes>
</release> </release>
......
...@@ -520,21 +520,6 @@ interface MediaRouter { ...@@ -520,21 +520,6 @@ interface MediaRouter {
AVAILABLE AVAILABLE
}; };
// TODO(crbug.com/831416): Remove and use presentation.mojom type instead.
enum PresentationConnectionState {
CONNECTING,
CONNECTED,
CLOSED,
TERMINATED
};
// TODO(crbug.com/831416): Remove and use presentation.mojom type instead.
enum PresentationConnectionCloseReason {
CONNECTION_ERROR,
CLOSED,
WENT_AWAY
};
// Registers a MediaRouteProvider with the MediaRouter. // Registers a MediaRouteProvider with the MediaRouter.
// Returns a string that uniquely identifies the Media Router browser // Returns a string that uniquely identifies the Media Router browser
// process. // process.
...@@ -569,11 +554,11 @@ interface MediaRouter { ...@@ -569,11 +554,11 @@ interface MediaRouter {
// Called when the state of presentation connected to route |route_id| has // Called when the state of presentation connected to route |route_id| has
// changed to |state|. // changed to |state|.
OnPresentationConnectionStateChanged( OnPresentationConnectionStateChanged(
string route_id, PresentationConnectionState state); string route_id, blink.mojom.PresentationConnectionState state);
// Called when the presentation connected to route |route_id| has closed. // Called when the presentation connected to route |route_id| has closed.
OnPresentationConnectionClosed( OnPresentationConnectionClosed(
string route_id, PresentationConnectionCloseReason reason, string route_id, blink.mojom.PresentationConnectionCloseReason reason,
string message); string message);
// Called when the a batch of messages arrives from the media sink for the // Called when the a batch of messages arrives from the media sink for the
......
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