Chromium Code Reviews| Index: chrome/browser/ui/webui/media_router/media_router_dialog_controller_impl_unittest.cc |
| diff --git a/chrome/browser/ui/webui/media_router/media_router_dialog_controller_impl_unittest.cc b/chrome/browser/ui/webui/media_router/media_router_dialog_controller_impl_unittest.cc |
| index 29c5c5b587898406e891b4e677e50b24157746cc..3960cf446441b5dcd7e3cdd222dcfc4f1a957265 100644 |
| --- a/chrome/browser/ui/webui/media_router/media_router_dialog_controller_impl_unittest.cc |
| +++ b/chrome/browser/ui/webui/media_router/media_router_dialog_controller_impl_unittest.cc |
| @@ -3,6 +3,8 @@ |
| // found in the LICENSE file. |
| #include "base/macros.h" |
| +#include "chrome/browser/media/router/media_router_ui_service.h" |
| +#include "chrome/browser/media/router/test_helper.h" |
| #include "chrome/browser/ui/browser_commands.h" |
| #include "chrome/browser/ui/browser_finder.h" |
| #include "chrome/browser/ui/tabs/tab_strip_model.h" |
| @@ -17,7 +19,7 @@ namespace media_router { |
| class MediaRouterDialogControllerImplTest : public MediaRouterTest { |
| public: |
| - MediaRouterDialogControllerImplTest() {} |
| + MediaRouterDialogControllerImplTest() : MediaRouterTest(true) {} |
| ~MediaRouterDialogControllerImplTest() override {} |
| void OpenMediaRouterDialog(); |
| @@ -40,9 +42,8 @@ void MediaRouterDialogControllerImplTest::OpenMediaRouterDialog() { |
| // Create a reference to initiator contents. |
| initiator_ = browser()->tab_strip_model()->GetActiveWebContents(); |
| - MediaRouterDialogControllerImpl::CreateForWebContents(initiator_); |
| dialog_controller_ = |
| - MediaRouterDialogControllerImpl::FromWebContents(initiator_); |
| + MediaRouterDialogControllerImpl::GetOrCreateForWebContents(initiator_); |
| ASSERT_TRUE(dialog_controller_); |
| // Get the media router dialog for the initiator. |
| @@ -97,9 +98,9 @@ TEST_F(MediaRouterDialogControllerImplTest, MultipleMediaRouterDialogs) { |
| // Create media router dialog for |web_contents_1|. |
| - MediaRouterDialogControllerImpl::CreateForWebContents(web_contents_1); |
| MediaRouterDialogControllerImpl* dialog_controller_1 = |
| - MediaRouterDialogControllerImpl::FromWebContents(web_contents_1); |
| + MediaRouterDialogControllerImpl::GetOrCreateForWebContents( |
| + web_contents_1); |
| ASSERT_TRUE(dialog_controller_1); |
| dialog_controller_1->ShowMediaRouterDialog(); |
| @@ -112,9 +113,9 @@ TEST_F(MediaRouterDialogControllerImplTest, MultipleMediaRouterDialogs) { |
| EXPECT_EQ(2, tab_strip_model->count()); |
| // Create media router dialog for |web_contents_2|. |
| - MediaRouterDialogControllerImpl::CreateForWebContents(web_contents_2); |
| MediaRouterDialogControllerImpl* dialog_controller_2 = |
| - MediaRouterDialogControllerImpl::FromWebContents(web_contents_2); |
| + MediaRouterDialogControllerImpl::GetOrCreateForWebContents( |
| + web_contents_2); |
| ASSERT_TRUE(dialog_controller_2); |
| dialog_controller_2->ShowMediaRouterDialog(); |
| @@ -229,4 +230,28 @@ TEST_F(MediaRouterDialogControllerImplTest, CloseInitiator) { |
| // The dialog controller is deleted when the WebContents is closed/destroyed. |
| } |
| +TEST_F(MediaRouterDialogControllerImplTest, NotifyActionController) { |
| + MockMediaRouterActionController* action_controller = |
| + static_cast<MockMediaRouterActionController*>( |
| + MediaRouterUIService::Get(browser()->profile())->action_controller()); |
| + ASSERT_TRUE(action_controller); |
| + |
| + EXPECT_CALL(*action_controller, OnDialogShown()); |
| + OpenMediaRouterDialog(); |
| + EXPECT_CALL(*action_controller, OnDialogHidden()); |
| + dialog_controller_->HideMediaRouterDialog(); |
| + |
| + EXPECT_CALL(*action_controller, OnDialogShown()); |
| + dialog_controller_->ShowMediaRouterDialogForPresentation( |
| + base::MakeUnique<CreatePresentationConnectionRequest>( |
| + RenderFrameHostId(1, 2), GURL("http://test.com"), |
| + GURL("http://example.com"), |
| + base::Bind(&MockPresentationSessionSuccessCallback), |
| + base::Bind(&MockPresentationSessionErrorCallback))); |
| + |
| + // When |dialog_controller_| is destroyed with its dialog open, |
| + // |action_controller| should be notified. |
| + EXPECT_CALL(*action_controller, OnDialogHidden()); |
|
mark a. foltz
2016/10/17 18:57:40
Is neither callback invoked when the controller is
takumif
2016/10/27 23:06:38
Are you referring to the presentation session succ
|
| +} |
| + |
| } // namespace media_router |