| Index: chrome/browser/media/router/mojo/media_router_mojo_impl_unittest.cc
|
| diff --git a/chrome/browser/media/router/mojo/media_router_mojo_impl_unittest.cc b/chrome/browser/media/router/mojo/media_router_mojo_impl_unittest.cc
|
| index 3098f90db4b1334e45771acdef96e2ef4b1b766c..ae1692194532adf59ca5dceefa4cf9d28d9b171b 100644
|
| --- a/chrome/browser/media/router/mojo/media_router_mojo_impl_unittest.cc
|
| +++ b/chrome/browser/media/router/mojo/media_router_mojo_impl_unittest.cc
|
| @@ -79,7 +79,7 @@ const char kSinkId[] = "sink";
|
| const char kSinkId2[] = "sink2";
|
| const char kSinkName[] = "sinkName";
|
| const char kPresentationId[] = "presentationId";
|
| -const char kOrigin[] = "http://origin/";
|
| +const url::Origin kOrigin = url::Origin(GURL("http://origin/"));
|
| const int kInvalidTabId = -1;
|
| const uint8_t kBinaryMessage[] = {0x01, 0x02, 0x03, 0x04};
|
| const int kTimeoutMillis = 5 * 1000;
|
| @@ -198,7 +198,7 @@ TEST_F(MediaRouterMojoImplTest, CreateRoute) {
|
| CreateRoute(kSource, kSinkId, _, kOrigin, kInvalidTabId, _, _, _))
|
| .WillOnce(Invoke(
|
| [](const std::string& source, const std::string& sink,
|
| - const std::string& presentation_id, const std::string& origin,
|
| + const std::string& presentation_id, const url::Origin& origin,
|
| int tab_id, base::TimeDelta timeout, bool incognito,
|
| const mojom::MediaRouteProvider::CreateRouteCallback& cb) {
|
| cb.Run(CreateMojoRoute(), std::string(),
|
| @@ -214,7 +214,7 @@ TEST_F(MediaRouterMojoImplTest, CreateRoute) {
|
| route_response_callbacks.push_back(base::Bind(
|
| &RouteResponseCallbackHandler::Invoke, base::Unretained(&handler)));
|
| router()->CreateRoute(
|
| - kSource, kSinkId, GURL(kOrigin), nullptr, route_response_callbacks,
|
| + kSource, kSinkId, kOrigin, nullptr, route_response_callbacks,
|
| base::TimeDelta::FromMilliseconds(kTimeoutMillis), false);
|
| run_loop.Run();
|
| ExpectResultBucketCount("CreateRoute", RouteRequestResult::ResultCode::OK, 1);
|
| @@ -233,7 +233,7 @@ TEST_F(MediaRouterMojoImplTest, CreateIncognitoRoute) {
|
| CreateRoute(kSource, kSinkId, _, kOrigin, kInvalidTabId, _, _, _))
|
| .WillOnce(Invoke(
|
| [](const std::string& source, const std::string& sink,
|
| - const std::string& presentation_id, const std::string& origin,
|
| + const std::string& presentation_id, const url::Origin& origin,
|
| int tab_id, base::TimeDelta timeout, bool incognito,
|
| const mojom::MediaRouteProvider::CreateRouteCallback& cb) {
|
| mojom::MediaRoutePtr route = CreateMojoRoute();
|
| @@ -253,7 +253,7 @@ TEST_F(MediaRouterMojoImplTest, CreateIncognitoRoute) {
|
| route_response_callbacks.push_back(base::Bind(
|
| &RouteResponseCallbackHandler::Invoke, base::Unretained(&handler)));
|
| router()->CreateRoute(
|
| - kSource, kSinkId, GURL(kOrigin), nullptr, route_response_callbacks,
|
| + kSource, kSinkId, kOrigin, nullptr, route_response_callbacks,
|
| base::TimeDelta::FromMilliseconds(kTimeoutMillis), true);
|
| run_loop.Run();
|
| ExpectResultBucketCount("CreateRoute", RouteRequestResult::ResultCode::OK, 1);
|
| @@ -266,7 +266,7 @@ TEST_F(MediaRouterMojoImplTest, CreateRouteFails) {
|
| base::TimeDelta::FromMilliseconds(kTimeoutMillis), _, _))
|
| .WillOnce(Invoke(
|
| [](const std::string& source, const std::string& sink,
|
| - const std::string& presentation_id, const std::string& origin,
|
| + const std::string& presentation_id, const url::Origin& origin,
|
| int tab_id, base::TimeDelta timeout, bool incognito,
|
| const mojom::MediaRouteProvider::CreateRouteCallback& cb) {
|
| cb.Run(mojom::MediaRoutePtr(), std::string(kError),
|
| @@ -282,7 +282,7 @@ TEST_F(MediaRouterMojoImplTest, CreateRouteFails) {
|
| route_response_callbacks.push_back(base::Bind(
|
| &RouteResponseCallbackHandler::Invoke, base::Unretained(&handler)));
|
| router()->CreateRoute(
|
| - kSource, kSinkId, GURL(kOrigin), nullptr, route_response_callbacks,
|
| + kSource, kSinkId, kOrigin, nullptr, route_response_callbacks,
|
| base::TimeDelta::FromMilliseconds(kTimeoutMillis), false);
|
| run_loop.Run();
|
| ExpectResultBucketCount("CreateRoute",
|
| @@ -290,13 +290,13 @@ TEST_F(MediaRouterMojoImplTest, CreateRouteFails) {
|
| }
|
|
|
| TEST_F(MediaRouterMojoImplTest, CreateRouteIncognitoMismatchFails) {
|
| - EXPECT_CALL(mock_media_route_provider_,
|
| - CreateRoute(kSource, kSinkId, _, kOrigin, kInvalidTabId,
|
| - base::TimeDelta::FromMilliseconds(kTimeoutMillis),
|
| - true, _))
|
| + EXPECT_CALL(
|
| + mock_media_route_provider_,
|
| + CreateRoute(kSource, kSinkId, _, kOrigin, kInvalidTabId,
|
| + base::TimeDelta::FromMilliseconds(kTimeoutMillis), true, _))
|
| .WillOnce(Invoke(
|
| [](const std::string& source, const std::string& sink,
|
| - const std::string& presentation_id, const std::string& origin,
|
| + const std::string& presentation_id, const url::Origin& origin,
|
| int tab_id, base::TimeDelta timeout, bool incognito,
|
| const mojom::MediaRouteProvider::CreateRouteCallback& cb) {
|
| cb.Run(CreateMojoRoute(), std::string(),
|
| @@ -313,7 +313,7 @@ TEST_F(MediaRouterMojoImplTest, CreateRouteIncognitoMismatchFails) {
|
| route_response_callbacks.push_back(base::Bind(
|
| &RouteResponseCallbackHandler::Invoke, base::Unretained(&handler)));
|
| router()->CreateRoute(
|
| - kSource, kSinkId, GURL(kOrigin), nullptr, route_response_callbacks,
|
| + kSource, kSinkId, kOrigin, nullptr, route_response_callbacks,
|
| base::TimeDelta::FromMilliseconds(kTimeoutMillis), true);
|
| run_loop.Run();
|
| ExpectResultBucketCount(
|
| @@ -324,13 +324,13 @@ TEST_F(MediaRouterMojoImplTest, IncognitoRoutesTerminatedOnProfileShutdown) {
|
| mojom::MediaRoutePtr route = CreateMojoRoute();
|
| route->is_incognito = true;
|
|
|
| - EXPECT_CALL(mock_media_route_provider_,
|
| - CreateRoute(kSource, kSinkId, _, kOrigin, kInvalidTabId,
|
| - base::TimeDelta::FromMilliseconds(kTimeoutMillis),
|
| - true, _))
|
| + EXPECT_CALL(
|
| + mock_media_route_provider_,
|
| + CreateRoute(kSource, kSinkId, _, kOrigin, kInvalidTabId,
|
| + base::TimeDelta::FromMilliseconds(kTimeoutMillis), true, _))
|
| .WillOnce(Invoke(
|
| [](const std::string& source, const std::string& sink,
|
| - const std::string& presentation_id, const std::string& origin,
|
| + const std::string& presentation_id, const url::Origin& origin,
|
| int tab_id, base::TimeDelta timeout, bool incognito,
|
| const mojom::MediaRouteProvider::CreateRouteCallback& cb) {
|
| mojom::MediaRoutePtr route = CreateMojoRoute();
|
| @@ -339,7 +339,7 @@ TEST_F(MediaRouterMojoImplTest, IncognitoRoutesTerminatedOnProfileShutdown) {
|
| mojom::RouteRequestResultCode::OK);
|
| }));
|
| base::RunLoop run_loop;
|
| - router()->CreateRoute(kSource, kSinkId, GURL(kOrigin), nullptr,
|
| + router()->CreateRoute(kSource, kSinkId, kOrigin, nullptr,
|
| std::vector<MediaRouteResponseCallback>(),
|
| base::TimeDelta::FromMilliseconds(kTimeoutMillis),
|
| true);
|
| @@ -387,7 +387,7 @@ TEST_F(MediaRouterMojoImplTest, JoinRoute) {
|
| base::TimeDelta::FromMilliseconds(kTimeoutMillis), _, _))
|
| .WillOnce(Invoke([&route](
|
| const std::string& source, const std::string& presentation_id,
|
| - const std::string& origin, int tab_id, base::TimeDelta timeout,
|
| + const url::Origin& origin, int tab_id, base::TimeDelta timeout,
|
| bool incognito,
|
| const mojom::MediaRouteProvider::JoinRouteCallback& cb) {
|
| cb.Run(std::move(route), std::string(),
|
| @@ -402,7 +402,7 @@ TEST_F(MediaRouterMojoImplTest, JoinRoute) {
|
| std::vector<MediaRouteResponseCallback> route_response_callbacks;
|
| route_response_callbacks.push_back(base::Bind(
|
| &RouteResponseCallbackHandler::Invoke, base::Unretained(&handler)));
|
| - router()->JoinRoute(kSource, kPresentationId, GURL(kOrigin), nullptr,
|
| + router()->JoinRoute(kSource, kPresentationId, kOrigin, nullptr,
|
| route_response_callbacks,
|
| base::TimeDelta::FromMilliseconds(kTimeoutMillis), false);
|
| run_loop.Run();
|
| @@ -418,7 +418,7 @@ TEST_F(MediaRouterMojoImplTest, JoinRouteNotFoundFails) {
|
| std::vector<MediaRouteResponseCallback> route_response_callbacks;
|
| route_response_callbacks.push_back(base::Bind(
|
| &RouteResponseCallbackHandler::Invoke, base::Unretained(&handler)));
|
| - router()->JoinRoute(kSource, kPresentationId, GURL(kOrigin), nullptr,
|
| + router()->JoinRoute(kSource, kPresentationId, kOrigin, nullptr,
|
| route_response_callbacks,
|
| base::TimeDelta::FromMilliseconds(kTimeoutMillis), false);
|
| run_loop.Run();
|
| @@ -441,7 +441,7 @@ TEST_F(MediaRouterMojoImplTest, JoinRouteTimedOutFails) {
|
| base::TimeDelta::FromMilliseconds(kTimeoutMillis), _, _))
|
| .WillOnce(Invoke(
|
| [](const std::string& source, const std::string& presentation_id,
|
| - const std::string& origin, int tab_id, base::TimeDelta timeout,
|
| + const url::Origin& origin, int tab_id, base::TimeDelta timeout,
|
| bool incognito,
|
| const mojom::MediaRouteProvider::JoinRouteCallback& cb) {
|
| cb.Run(mojom::MediaRoutePtr(), std::string(kError),
|
| @@ -456,7 +456,7 @@ TEST_F(MediaRouterMojoImplTest, JoinRouteTimedOutFails) {
|
| std::vector<MediaRouteResponseCallback> route_response_callbacks;
|
| route_response_callbacks.push_back(base::Bind(
|
| &RouteResponseCallbackHandler::Invoke, base::Unretained(&handler)));
|
| - router()->JoinRoute(kSource, kPresentationId, GURL(kOrigin), nullptr,
|
| + router()->JoinRoute(kSource, kPresentationId, kOrigin, nullptr,
|
| route_response_callbacks,
|
| base::TimeDelta::FromMilliseconds(kTimeoutMillis), false);
|
| run_loop.Run();
|
| @@ -484,7 +484,7 @@ TEST_F(MediaRouterMojoImplTest, JoinRouteIncognitoMismatchFails) {
|
| base::TimeDelta::FromMilliseconds(kTimeoutMillis), true, _))
|
| .WillOnce(Invoke([&route](
|
| const std::string& source, const std::string& presentation_id,
|
| - const std::string& origin, int tab_id, base::TimeDelta timeout,
|
| + const url::Origin& origin, int tab_id, base::TimeDelta timeout,
|
| bool incognito,
|
| const mojom::MediaRouteProvider::JoinRouteCallback& cb) {
|
| cb.Run(std::move(route), std::string(),
|
| @@ -500,7 +500,7 @@ TEST_F(MediaRouterMojoImplTest, JoinRouteIncognitoMismatchFails) {
|
| std::vector<MediaRouteResponseCallback> route_response_callbacks;
|
| route_response_callbacks.push_back(base::Bind(
|
| &RouteResponseCallbackHandler::Invoke, base::Unretained(&handler)));
|
| - router()->JoinRoute(kSource, kPresentationId, GURL(kOrigin), nullptr,
|
| + router()->JoinRoute(kSource, kPresentationId, kOrigin, nullptr,
|
| route_response_callbacks,
|
| base::TimeDelta::FromMilliseconds(kTimeoutMillis), true);
|
| run_loop.Run();
|
| @@ -518,14 +518,13 @@ TEST_F(MediaRouterMojoImplTest, ConnectRouteByRouteId) {
|
| // Use a lambda function as an invocation target here to work around
|
| // a limitation with GMock::Invoke that prevents it from using move-only types
|
| // in runnable parameter lists.
|
| - EXPECT_CALL(
|
| - mock_media_route_provider_,
|
| - ConnectRouteByRouteId(kSource, kRouteId, _, kOrigin, kInvalidTabId,
|
| - base::TimeDelta::FromMilliseconds(kTimeoutMillis),
|
| - false, _))
|
| + EXPECT_CALL(mock_media_route_provider_,
|
| + ConnectRouteByRouteId(
|
| + kSource, kRouteId, _, kOrigin, kInvalidTabId,
|
| + base::TimeDelta::FromMilliseconds(kTimeoutMillis), false, _))
|
| .WillOnce(Invoke([&route](
|
| const std::string& source, const std::string& route_id,
|
| - const std::string& presentation_id, const std::string& origin,
|
| + const std::string& presentation_id, const url::Origin& origin,
|
| int tab_id, base::TimeDelta timeout, bool incognito,
|
| const mojom::MediaRouteProvider::JoinRouteCallback& cb) {
|
| cb.Run(std::move(route), std::string(),
|
| @@ -541,21 +540,20 @@ TEST_F(MediaRouterMojoImplTest, ConnectRouteByRouteId) {
|
| route_response_callbacks.push_back(base::Bind(
|
| &RouteResponseCallbackHandler::Invoke, base::Unretained(&handler)));
|
| router()->ConnectRouteByRouteId(
|
| - kSource, kRouteId, GURL(kOrigin), nullptr, route_response_callbacks,
|
| + kSource, kRouteId, kOrigin, nullptr, route_response_callbacks,
|
| base::TimeDelta::FromMilliseconds(kTimeoutMillis), false);
|
| run_loop.Run();
|
| ExpectResultBucketCount("JoinRoute", RouteRequestResult::ResultCode::OK, 1);
|
| }
|
|
|
| TEST_F(MediaRouterMojoImplTest, ConnectRouteByRouteIdFails) {
|
| - EXPECT_CALL(
|
| - mock_media_route_provider_,
|
| - ConnectRouteByRouteId(kSource, kRouteId, _, kOrigin, kInvalidTabId,
|
| - base::TimeDelta::FromMilliseconds(kTimeoutMillis),
|
| - true, _))
|
| + EXPECT_CALL(mock_media_route_provider_,
|
| + ConnectRouteByRouteId(
|
| + kSource, kRouteId, _, kOrigin, kInvalidTabId,
|
| + base::TimeDelta::FromMilliseconds(kTimeoutMillis), true, _))
|
| .WillOnce(Invoke(
|
| [](const std::string& source, const std::string& route_id,
|
| - const std::string& presentation_id, const std::string& origin,
|
| + const std::string& presentation_id, const url::Origin& origin,
|
| int tab_id, base::TimeDelta timeout, bool incognito,
|
| const mojom::MediaRouteProvider::JoinRouteCallback& cb) {
|
| cb.Run(mojom::MediaRoutePtr(), std::string(kError),
|
| @@ -571,7 +569,7 @@ TEST_F(MediaRouterMojoImplTest, ConnectRouteByRouteIdFails) {
|
| route_response_callbacks.push_back(base::Bind(
|
| &RouteResponseCallbackHandler::Invoke, base::Unretained(&handler)));
|
| router()->ConnectRouteByRouteId(
|
| - kSource, kRouteId, GURL(kOrigin), nullptr, route_response_callbacks,
|
| + kSource, kRouteId, kOrigin, nullptr, route_response_callbacks,
|
| base::TimeDelta::FromMilliseconds(kTimeoutMillis), true);
|
| run_loop.Run();
|
| ExpectResultBucketCount("JoinRoute",
|
| @@ -584,14 +582,13 @@ TEST_F(MediaRouterMojoImplTest, ConnectRouteByIdIncognitoMismatchFails) {
|
| // Use a lambda function as an invocation target here to work around
|
| // a limitation with GMock::Invoke that prevents it from using move-only types
|
| // in runnable parameter lists.
|
| - EXPECT_CALL(
|
| - mock_media_route_provider_,
|
| - ConnectRouteByRouteId(kSource, kRouteId, _, kOrigin, kInvalidTabId,
|
| - base::TimeDelta::FromMilliseconds(kTimeoutMillis),
|
| - true, _))
|
| + EXPECT_CALL(mock_media_route_provider_,
|
| + ConnectRouteByRouteId(
|
| + kSource, kRouteId, _, kOrigin, kInvalidTabId,
|
| + base::TimeDelta::FromMilliseconds(kTimeoutMillis), true, _))
|
| .WillOnce(Invoke([&route](
|
| const std::string& source, const std::string& route_id,
|
| - const std::string& presentation_id, const std::string& origin,
|
| + const std::string& presentation_id, const url::Origin& origin,
|
| int tab_id, base::TimeDelta timeout, bool incognito,
|
| const mojom::MediaRouteProvider::JoinRouteCallback& cb) {
|
| cb.Run(std::move(route), std::string(),
|
| @@ -608,7 +605,7 @@ TEST_F(MediaRouterMojoImplTest, ConnectRouteByIdIncognitoMismatchFails) {
|
| route_response_callbacks.push_back(base::Bind(
|
| &RouteResponseCallbackHandler::Invoke, base::Unretained(&handler)));
|
| router()->ConnectRouteByRouteId(
|
| - kSource, kRouteId, GURL(kOrigin), nullptr, route_response_callbacks,
|
| + kSource, kRouteId, kOrigin, nullptr, route_response_callbacks,
|
| base::TimeDelta::FromMilliseconds(kTimeoutMillis), true);
|
| run_loop.Run();
|
| ExpectResultBucketCount(
|
| @@ -696,7 +693,6 @@ TEST_F(MediaRouterMojoImplTest, RegisterAndUnregisterMediaSinksObserver) {
|
| router()->OnSinkAvailabilityUpdated(
|
| mojom::MediaRouter::SinkAvailability::AVAILABLE);
|
| MediaSource media_source(kSource);
|
| - GURL origin("https://google.com");
|
|
|
| // These should only be called once even if there is more than one observer
|
| // for a given source.
|
| @@ -704,13 +700,13 @@ TEST_F(MediaRouterMojoImplTest, RegisterAndUnregisterMediaSinksObserver) {
|
| EXPECT_CALL(mock_media_route_provider_, StartObservingMediaSinks(kSource2));
|
|
|
| std::unique_ptr<MockMediaSinksObserver> sinks_observer(
|
| - new MockMediaSinksObserver(router(), media_source, origin));
|
| + new MockMediaSinksObserver(router(), media_source, kOrigin));
|
| EXPECT_TRUE(sinks_observer->Init());
|
| std::unique_ptr<MockMediaSinksObserver> extra_sinks_observer(
|
| - new MockMediaSinksObserver(router(), media_source, origin));
|
| + new MockMediaSinksObserver(router(), media_source, kOrigin));
|
| EXPECT_TRUE(extra_sinks_observer->Init());
|
| std::unique_ptr<MockMediaSinksObserver> unrelated_sinks_observer(
|
| - new MockMediaSinksObserver(router(), MediaSource(kSource2), origin));
|
| + new MockMediaSinksObserver(router(), MediaSource(kSource2), kOrigin));
|
| EXPECT_TRUE(unrelated_sinks_observer->Init());
|
| ProcessEventLoop();
|
|
|
| @@ -737,16 +733,15 @@ TEST_F(MediaRouterMojoImplTest, RegisterAndUnregisterMediaSinksObserver) {
|
| EXPECT_CALL(*extra_sinks_observer,
|
| OnSinksReceived(SequenceEquals(expected_sinks)))
|
| .WillOnce(InvokeWithoutArgs([&run_loop]() { run_loop.Quit(); }));
|
| - media_router_proxy_->OnSinksReceived(
|
| - media_source.id(), std::move(mojo_sinks),
|
| - std::vector<std::string>(1, origin.spec()));
|
| + media_router_proxy_->OnSinksReceived(media_source.id(), std::move(mojo_sinks),
|
| + std::vector<url::Origin>(1, kOrigin));
|
| run_loop.Run();
|
|
|
| // Since the MediaRouterMojoImpl has already received results for
|
| // |media_source|, return cached results to observers that are subsequently
|
| // registered.
|
| std::unique_ptr<MockMediaSinksObserver> cached_sinks_observer(
|
| - new MockMediaSinksObserver(router(), media_source, origin));
|
| + new MockMediaSinksObserver(router(), media_source, kOrigin));
|
| EXPECT_CALL(*cached_sinks_observer,
|
| OnSinksReceived(SequenceEquals(expected_sinks)));
|
| EXPECT_TRUE(cached_sinks_observer->Init());
|
| @@ -754,7 +749,7 @@ TEST_F(MediaRouterMojoImplTest, RegisterAndUnregisterMediaSinksObserver) {
|
| // Different origin from cached result. Empty list will be returned.
|
| std::unique_ptr<MockMediaSinksObserver> cached_sinks_observer2(
|
| new MockMediaSinksObserver(router(), media_source,
|
| - GURL("https://youtube.com")));
|
| + url::Origin(GURL("https://youtube.com"))));
|
| EXPECT_CALL(*cached_sinks_observer2, OnSinksReceived(IsEmpty()));
|
| EXPECT_TRUE(cached_sinks_observer2->Init());
|
|
|
| @@ -772,19 +767,18 @@ TEST_F(MediaRouterMojoImplTest, RegisterAndUnregisterMediaSinksObserver) {
|
|
|
| TEST_F(MediaRouterMojoImplTest,
|
| RegisterMediaSinksObserverWithAvailabilityChange) {
|
| - GURL origin("https://google.com");
|
|
|
| // When availability is UNAVAILABLE, no calls should be made to MRPM.
|
| router()->OnSinkAvailabilityUpdated(
|
| mojom::MediaRouter::SinkAvailability::UNAVAILABLE);
|
| MediaSource media_source(kSource);
|
| std::unique_ptr<MockMediaSinksObserver> sinks_observer(
|
| - new MockMediaSinksObserver(router(), media_source, origin));
|
| + new MockMediaSinksObserver(router(), media_source, kOrigin));
|
| EXPECT_CALL(*sinks_observer, OnSinksReceived(IsEmpty()));
|
| EXPECT_TRUE(sinks_observer->Init());
|
| MediaSource media_source2(kSource2);
|
| std::unique_ptr<MockMediaSinksObserver> sinks_observer2(
|
| - new MockMediaSinksObserver(router(), media_source2, origin));
|
| + new MockMediaSinksObserver(router(), media_source2, kOrigin));
|
| EXPECT_CALL(*sinks_observer2, OnSinksReceived(IsEmpty()));
|
| EXPECT_TRUE(sinks_observer2->Init());
|
| EXPECT_CALL(mock_media_route_provider_, StartObservingMediaSinks(kSource))
|
|
|