Index: chrome/browser/media/router/presentation_service_delegate_impl_unittest.cc |
diff --git a/chrome/browser/media/router/presentation_service_delegate_impl_unittest.cc b/chrome/browser/media/router/presentation_service_delegate_impl_unittest.cc |
index d4543441792de518df4871e07f4a0209dce89d5a..d07416053420df1d416d4a8f8aa31feab77179c1 100644 |
--- a/chrome/browser/media/router/presentation_service_delegate_impl_unittest.cc |
+++ b/chrome/browser/media/router/presentation_service_delegate_impl_unittest.cc |
@@ -102,6 +102,12 @@ std::unique_ptr<KeyedService> BuildMockOffscreenPresentationManager( |
return base::MakeUnique<MockOffscreenPresentationManager>(); |
} |
+class MockPresentationSessionStartedCallback { |
+ public: |
+ MOCK_METHOD1(OnPresentationSessionStartedCallback, |
+ void(const content::PresentationSessionInfo&)); |
+}; |
+ |
class PresentationServiceDelegateImplTest |
: public ChromeRenderViewHostTestHarness { |
public: |
@@ -485,7 +491,7 @@ TEST_F(PresentationServiceDelegateImplTest, SinksObserverCantRegister) { |
main_frame_process_id_, main_frame_routing_id_, &listener1_)); |
} |
-TEST_F(PresentationServiceDelegateImplTest, ConnectToOffscreenPresentation) { |
+TEST_F(PresentationServiceDelegateImplTest, ConnectToPresentation) { |
content::RenderFrameHost* main_frame = GetWebContents()->GetMainFrame(); |
ASSERT_TRUE(main_frame); |
int render_process_id = main_frame->GetProcess()->GetID(); |
@@ -495,6 +501,19 @@ TEST_F(PresentationServiceDelegateImplTest, ConnectToOffscreenPresentation) { |
content::PresentationSessionInfo session_info(presentation_url, |
presentation_id); |
+ MockPresentationSessionStartedCallback mock_callback; |
+ EXPECT_CALL(mock_callback, OnPresentationSessionStartedCallback(_)); |
+ MediaRoute media_route( |
+ "route_id", MediaSourceForPresentationUrl(session_info.presentation_url), |
+ "mediaSinkId", "", true, "", true); |
+ media_route.set_offscreen_presentation(true); |
+ delegate_impl_->OnStartSessionSucceeded( |
+ render_process_id, render_frame_id, |
+ base::Bind(&MockPresentationSessionStartedCallback:: |
+ OnPresentationSessionStartedCallback, |
+ base::Unretained(&mock_callback)), |
+ session_info, media_route); |
+ |
OffscreenPresentationManagerFactory::GetInstanceForTest()->SetTestingFactory( |
profile(), &BuildMockOffscreenPresentationManager); |
MockOffscreenPresentationManager* mock_offscreen_manager = |
@@ -508,9 +527,16 @@ TEST_F(PresentationServiceDelegateImplTest, ConnectToOffscreenPresentation) { |
content::PresentationConnectionPtr connection_ptr; |
content::PresentationConnectionRequest connection_request; |
- delegate_impl_->ConnectToOffscreenPresentation( |
- render_process_id, render_frame_id, session_info, |
- std::move(connection_ptr), std::move(connection_request)); |
+ delegate_impl_->ConnectToPresentation(render_process_id, render_frame_id, |
+ session_info, std::move(connection_ptr), |
+ std::move(connection_request)); |
+ |
+ EXPECT_CALL(*mock_offscreen_manager, |
+ UnregisterOffscreenPresentationController( |
+ presentation_id, |
+ RenderFrameHostId(render_process_id, render_frame_id))); |
+ EXPECT_CALL(router_, DetachRoute("route_id")); |
+ delegate_impl_->Reset(render_process_id, render_frame_id); |
} |
#if !defined(OS_ANDROID) |