Chromium Code Reviews| 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..a4cc1841d52531d47daa11b703b84bd7c9370673 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; |
| + // May show the action icon if any dialog is shown, or hide it otherwise. |
|
mark a. foltz
2016/11/01 02:00:08
I found this comment a bit confusing.
Did you me
takumif
2016/11/02 03:16:54
Yeah that sounds better. Thanks.
|
| + // 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); |