Chromium Code Reviews| Index: chrome/browser/ui/toolbar/media_router_action.h |
| diff --git a/chrome/browser/ui/toolbar/media_router_action.h b/chrome/browser/ui/toolbar/media_router_action.h |
| index ace06a32f18e0cdfe7f86ea861e907c9cdadf917..530653c19fc3f1db6c1e20f04dfdbb101ef82927 100644 |
| --- a/chrome/browser/ui/toolbar/media_router_action.h |
| +++ b/chrome/browser/ui/toolbar/media_router_action.h |
| @@ -13,6 +13,7 @@ |
| #include "chrome/browser/ui/toolbar/media_router_contextual_menu.h" |
| #include "chrome/browser/ui/toolbar/toolbar_action_view_controller.h" |
| #include "chrome/browser/ui/toolbar/toolbar_actions_bar.h" |
| +#include "chrome/browser/ui/toolbar/toolbar_actions_bar_observer.h" |
| #include "ui/gfx/vector_icons_public.h" |
| class Browser; |
| @@ -28,7 +29,8 @@ class MediaRouterDialogControllerImpl; |
| class MediaRouterAction : public ToolbarActionViewController, |
| public media_router::IssuesObserver, |
| public media_router::MediaRoutesObserver, |
| - public TabStripModelObserver { |
| + public TabStripModelObserver, |
| + public ToolbarActionsBarObserver { |
| public: |
| MediaRouterAction(Browser* browser, ToolbarActionsBar* toolbar_actions_bar); |
| ~MediaRouterAction() override; |
| @@ -69,6 +71,17 @@ class MediaRouterAction : public ToolbarActionViewController, |
| void OnPopupHidden(); |
| void OnPopupShown(); |
| + virtual void UpdateVisibility(); |
| + |
| + // Toggle the "Always show icon" option. |
| + void ToggleVisibilityPreference(); |
| + |
| + // ToolbarActionsBarObserver: |
| + void OnToolbarActionsBarAnimationEnded() override; |
|
Devlin
2016/07/29 19:10:22
Put inherited methods together within the same vis
takumif
2016/08/02 04:58:41
Done.
|
| + |
| + protected: |
| + // For accessing from tests. |
| + base::WeakPtr<MediaRouterAction> GetWeakPtr(); |
| private: |
| // Called when a new browser window is opened, the user switches tabs in the |
| @@ -92,6 +105,9 @@ class MediaRouterAction : public ToolbarActionViewController, |
| // updates |current_icon_|. |
| void MaybeUpdateIcon(); |
| + // Returns whether the "Always show icon" option is checked. |
| + bool ShouldAlwaysShowIcon(); |
| + |
| gfx::VectorIconId GetCurrentIcon() const; |
| // The current icon to show. This is updated based on the current issues and |
| @@ -117,6 +133,8 @@ class MediaRouterAction : public ToolbarActionViewController, |
| ScopedObserver<TabStripModel, TabStripModelObserver> |
| tab_strip_model_observer_; |
| + ScopedObserver<ToolbarActionsBar, ToolbarActionsBarObserver> |
| + toolbar_actions_bar_observer_; |
| base::WeakPtrFactory<MediaRouterAction> weak_ptr_factory_; |