| Index: chrome/browser/ui/toolbar/media_router_action_controller.h
|
| diff --git a/chrome/browser/ui/toolbar/media_router_action_controller.h b/chrome/browser/ui/toolbar/media_router_action_controller.h
|
| index 9965f6b3c2e04380e4c762a919d5934457aad0dd..d2bfda782ce451d7fe60a21c9abe0a6fba2e1abd 100644
|
| --- a/chrome/browser/ui/toolbar/media_router_action_controller.h
|
| +++ b/chrome/browser/ui/toolbar/media_router_action_controller.h
|
| @@ -22,6 +22,13 @@ class MediaRouterActionController : public media_router::IssuesObserver,
|
| public media_router::MediaRoutesObserver {
|
| public:
|
| explicit MediaRouterActionController(Profile* profile);
|
| + // Constructor for injecting dependencies in tests.
|
| + MediaRouterActionController(
|
| + Profile* profile,
|
| + media_router::MediaRouter* router,
|
| + ComponentMigrationHelper::ComponentActionDelegate*
|
| + component_action_delegate,
|
| + ComponentMigrationHelper* component_migration_helper);
|
| ~MediaRouterActionController() override;
|
|
|
| // media_router::IssuesObserver:
|
| @@ -32,22 +39,22 @@ class MediaRouterActionController : public media_router::IssuesObserver,
|
| const std::vector<media_router::MediaRoute::Id>&
|
| joinable_route_ids) override;
|
|
|
| + // Called when a Media Router dialog is shown or hidden, and updates the
|
| + // visibility of the action icon. Overridden in tests.
|
| + virtual void OnDialogShown();
|
| + virtual void OnDialogHidden();
|
| +
|
| private:
|
| friend class MediaRouterActionControllerUnitTest;
|
| - FRIEND_TEST_ALL_PREFIXES(MediaRouterActionControllerUnitTest, EphemeralIcon);
|
| -
|
| - // Constructor for injecting dependencies in tests.
|
| - MediaRouterActionController(
|
| - Profile* profile,
|
| - media_router::MediaRouter* router,
|
| - ComponentMigrationHelper::ComponentActionDelegate*
|
| - component_action_delegate,
|
| - ComponentMigrationHelper* component_migration_helper);
|
| + FRIEND_TEST_ALL_PREFIXES(MediaRouterActionControllerUnitTest,
|
| + EphemeralIconForRoutesAndIssues);
|
| + FRIEND_TEST_ALL_PREFIXES(MediaRouterActionControllerUnitTest,
|
| + EphemeralIconForDialog);
|
|
|
| // Adds or removes the Media Router action icon to/from
|
| // |component_action_delegate_| if necessary, depending on whether or not
|
| - // we have issues or local routes.
|
| - void MaybeAddOrRemoveAction();
|
| + // we have issues, local routes or a dialog.
|
| + virtual void MaybeAddOrRemoveAction();
|
|
|
| // Returns |true| if the Media Router action should be present on the toolbar
|
| // or the overflow menu.
|
| @@ -69,6 +76,9 @@ class MediaRouterActionController : public media_router::IssuesObserver,
|
| bool has_issue_ = false;
|
| bool has_local_display_route_ = false;
|
|
|
| + // The number of dialogs that are currently open.
|
| + size_t dialog_count_ = 0;
|
| +
|
| PrefChangeRegistrar pref_change_registrar_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(MediaRouterActionController);
|
|
|