Chromium Code Reviews| Index: chrome/browser/ui/views/media_router/media_router_ui_browsertest.cc |
| diff --git a/chrome/browser/ui/views/media_router/media_router_ui_browsertest.cc b/chrome/browser/ui/views/media_router/media_router_ui_browsertest.cc |
| index cdd01b6488d6d62564198c48a52aeeeec765f1b3..4d817dd784371d900c552bf244ce8d2fe2e02635 100644 |
| --- a/chrome/browser/ui/views/media_router/media_router_ui_browsertest.cc |
| +++ b/chrome/browser/ui/views/media_router/media_router_ui_browsertest.cc |
| @@ -4,8 +4,10 @@ |
| #include "base/bind.h" |
| #include "base/threading/thread_task_runner_handle.h" |
| +#include "chrome/app/chrome_command_ids.h" |
| #include "chrome/browser/extensions/browser_action_test_util.h" |
| #include "chrome/browser/media/router/media_router_ui_service.h" |
| +#include "chrome/browser/renderer_context_menu/render_view_context_menu_test_util.h" |
| #include "chrome/browser/ui/browser.h" |
| #include "chrome/browser/ui/browser_commands.h" |
| #include "chrome/browser/ui/tabs/tab_strip_model.h" |
| @@ -14,6 +16,7 @@ |
| #include "chrome/browser/ui/toolbar/media_router_action_controller.h" |
| #include "chrome/browser/ui/toolbar/toolbar_action_view_delegate.h" |
| #include "chrome/browser/ui/views/frame/browser_view.h" |
| +#include "chrome/browser/ui/views/toolbar/app_menu.h" |
| #include "chrome/browser/ui/views/toolbar/app_menu_button.h" |
| #include "chrome/browser/ui/views/toolbar/browser_actions_container.h" |
| #include "chrome/browser/ui/views/toolbar/toolbar_action_view.h" |
| @@ -22,7 +25,9 @@ |
| #include "chrome/common/url_constants.h" |
| #include "chrome/test/base/in_process_browser_test.h" |
| #include "chrome/test/base/ui_test_utils.h" |
| +#include "content/public/browser/navigation_entry.h" |
| #include "content/public/browser/web_contents.h" |
| +#include "content/public/common/context_menu_params.h" |
| #include "content/public/test/test_navigation_observer.h" |
| #include "content/public/test/test_utils.h" |
| #include "ui/views/widget/widget.h" |
| @@ -58,10 +63,7 @@ class MediaRouterUIBrowserTest : public InProcessBrowserTest { |
| content::TestNavigationObserver nav_observer(NULL); |
| nav_observer.StartWatchingNewWebContents(); |
| - AppMenuButton* app_menu_button = |
| - BrowserView::GetBrowserViewForBrowser(browser()) |
| - ->toolbar() |
| - ->app_menu_button(); |
| + AppMenuButton* app_menu_button = GetAppMenuButton(); |
| // When the Media Router Action executes, it opens a dialog with web |
| // contents to chrome://media-router. |
| @@ -102,6 +104,12 @@ class MediaRouterUIBrowserTest : public InProcessBrowserTest { |
| ComponentToolbarActionsFactory::kMediaRouterActionId, always_show); |
| } |
| + AppMenuButton* GetAppMenuButton() { |
| + return BrowserView::GetBrowserViewForBrowser(browser()) |
| + ->toolbar() |
| + ->app_menu_button(); |
| + } |
| + |
| protected: |
| ToolbarActionsBar* toolbar_actions_bar_ = nullptr; |
| @@ -145,6 +153,43 @@ IN_PROC_BROWSER_TEST_F(MediaRouterUIBrowserTest, |
| SetAlwaysShowActionPref(false); |
| } |
| +IN_PROC_BROWSER_TEST_F(MediaRouterUIBrowserTest, OpenDialogFromContextMenu) { |
| + // Start with one tab showing ablut:blank. |
|
apacible
2017/01/11 23:23:01
nit: about.
takumif
2017/01/12 00:48:25
Oops. Fixed.
|
| + ASSERT_EQ(1, browser()->tab_strip_model()->count()); |
| + |
| + content::WebContents* web_contents = |
| + browser()->tab_strip_model()->GetActiveWebContents(); |
| + MediaRouterDialogController* dialog_controller = |
| + MediaRouterDialogController::GetOrCreateForWebContents( |
| + browser()->tab_strip_model()->GetActiveWebContents()); |
| + content::ContextMenuParams params; |
| + params.page_url = web_contents->GetController().GetActiveEntry()->GetURL(); |
| + TestRenderViewContextMenu menu(web_contents->GetMainFrame(), params); |
| + menu.Init(); |
| + |
| + ASSERT_TRUE(menu.IsItemPresent(IDC_ROUTE_MEDIA)); |
| + ASSERT_FALSE(dialog_controller->IsShowingMediaRouterDialog()); |
| + menu.ExecuteCommand(IDC_ROUTE_MEDIA, 0); |
| + EXPECT_TRUE(dialog_controller->IsShowingMediaRouterDialog()); |
| +} |
| + |
| +IN_PROC_BROWSER_TEST_F(MediaRouterUIBrowserTest, OpenDialogFromAppMenu) { |
| + // Start with one tab showing ablut:blank. |
|
apacible
2017/01/11 23:23:01
nit: about.
takumif
2017/01/12 00:48:25
Done.
|
| + ASSERT_EQ(1, browser()->tab_strip_model()->count()); |
| + |
| + AppMenuButton* menu_button = GetAppMenuButton(); |
| + base::RunLoop run_loop; |
| + menu_button->ShowMenu(false); |
| + run_loop.RunUntilIdle(); |
| + |
| + MediaRouterDialogController* dialog_controller = |
| + MediaRouterDialogController::GetOrCreateForWebContents( |
| + browser()->tab_strip_model()->GetActiveWebContents()); |
| + ASSERT_FALSE(dialog_controller->IsShowingMediaRouterDialog()); |
| + menu_button->app_menu_for_testing()->ExecuteCommand(IDC_ROUTE_MEDIA, 0); |
| + EXPECT_TRUE(dialog_controller->IsShowingMediaRouterDialog()); |
| +} |
| + |
| IN_PROC_BROWSER_TEST_F(MediaRouterUIBrowserTest, |
| EphemeralToolbarIconForRoutesAndIssues) { |
| action_controller_->OnIssue(issue_); |