Index: chrome/browser/ui/webui/media_router/media_router_dialog_controller_impl.h |
diff --git a/chrome/browser/ui/webui/media_router/media_router_dialog_controller_impl.h b/chrome/browser/ui/webui/media_router/media_router_dialog_controller_impl.h |
index 809bee83c5a88bc9d6b9ce71d5ba456bb5e1cf01..80535bd362f67a8ec1f20fe1c23a50112441202a 100644 |
--- a/chrome/browser/ui/webui/media_router/media_router_dialog_controller_impl.h |
+++ b/chrome/browser/ui/webui/media_router/media_router_dialog_controller_impl.h |
@@ -8,7 +8,9 @@ |
#include "base/gtest_prod_util.h" |
#include "base/macros.h" |
#include "base/memory/weak_ptr.h" |
+#include "base/scoped_observer.h" |
#include "chrome/browser/media/router/media_router_dialog_controller.h" |
+#include "chrome/browser/ui/tabs/tab_strip_model_observer.h" |
#include "content/public/browser/web_contents_observer.h" |
#include "content/public/browser/web_contents_user_data.h" |
@@ -22,7 +24,8 @@ namespace media_router { |
// This class is not thread safe and must be called on the UI thread. |
class MediaRouterDialogControllerImpl : |
public content::WebContentsUserData<MediaRouterDialogControllerImpl>, |
- public MediaRouterDialogController { |
+ public MediaRouterDialogController, |
+ public TabStripModelObserver { |
public: |
~MediaRouterDialogControllerImpl() override; |
@@ -41,6 +44,18 @@ class MediaRouterDialogControllerImpl : |
void UpdateMaxDialogSize(); |
+ bool ShowMediaRouterDialog() override; |
msw
2016/07/26 19:59:32
nit: order immediately before IsShowingMediaRouter
takumif
2016/07/28 20:04:12
Done.
|
+ |
+ // ToolbarStripModelObserver: |
+ void ActiveTabChanged(content::WebContents* old_contents, |
msw
2016/07/26 19:59:32
optional nit: order immediately after MediaRouterD
takumif
2016/07/28 20:04:12
Done.
|
+ content::WebContents* new_contents, |
+ int index, |
+ int reason) override; |
+ |
+ void OnDialogClosed(); |
+ |
+ MediaRouterAction* action_for_test() { return action_.get(); } |
+ |
private: |
class DialogWebContentsObserver; |
friend class content::WebContentsUserData<MediaRouterDialogControllerImpl>; |
@@ -60,12 +75,17 @@ class MediaRouterDialogControllerImpl : |
void PopulateDialog(content::WebContents* media_router_dialog); |
+ void ShowMediaRouterAction(); |
+ |
std::unique_ptr<DialogWebContentsObserver> dialog_observer_; |
// True if the controller is waiting for a new media router dialog to be |
// created. |
bool media_router_dialog_pending_; |
+ ScopedObserver<TabStripModel, TabStripModelObserver> |
+ tab_strip_model_observer_; |
+ |
// |action_| refers to the MediaRouterAction on the toolbar, rather than |
// overflow menu. A MediaRouterAction is always created for the toolbar |
// first. Any subsequent creations for the overflow menu will not be set as |