Index: chrome/browser/ui/cocoa/browser_window_cocoa.h |
diff --git a/chrome/browser/ui/cocoa/browser_window_cocoa.h b/chrome/browser/ui/cocoa/browser_window_cocoa.h |
index 637edc505c961ce0cdf4016a5cb27b8125130608..b2c1de094d68cd3154dc582403a27be5dcf63735 100644 |
--- a/chrome/browser/ui/cocoa/browser_window_cocoa.h |
+++ b/chrome/browser/ui/cocoa/browser_window_cocoa.h |
@@ -13,6 +13,7 @@ |
#include "chrome/browser/ui/browser_window.h" |
#include "chrome/browser/ui/exclusive_access/exclusive_access_context.h" |
#include "chrome/browser/ui/search/search_model_observer.h" |
+#include "chrome/browser/ui/tabs/tab_utils.h" |
#include "components/bookmarks/browser/bookmark_model.h" |
#include "ui/base/ui_base_types.h" |
@@ -177,9 +178,26 @@ class BrowserWindowCocoa |
// Adds the given FindBar cocoa controller to this browser window. |
void AddFindBar(FindBarCocoaController* find_bar_cocoa_controller); |
+ // Update window media state to show if one of the tabs within the window is |
+ // playing an audio/video or even if it's playing something but it's muted. |
+ void UpdateMediaState(TabMediaState media_state); |
+ |
// Returns the cocoa-world BrowserWindowController |
BrowserWindowController* cocoa_controller() { return controller_; } |
+ // Returns window title based on the active tab title and window media state. |
+ NSString* WindowTitle(); |
+ |
+ // Returns current media state, determined by the media state of tabs, set by |
+ // UpdateMediaState. |
+ TabMediaState media_state() { return media_state_; } |
+ |
+ // Returns playing emoji to be used in production and test code. |
+ NSString* media_playing_emoji() { return @"🔊"; } |
+ |
+ // Returns muting emoji to be used in production and test code. |
+ NSString* media_muting_emoji() { return @"🔇"; } |
+ |
protected: |
void DestroyBrowser() override; |
@@ -191,6 +209,11 @@ class BrowserWindowCocoa |
base::scoped_nsobject<NSString> pending_window_title_; |
ui::WindowShowState initial_show_state_; |
NSInteger attention_request_id_; // identifier from requestUserAttention |
+ |
+ // Preserves window media state to show appropriate icon in the window title |
+ // which can be audio playing, muting or none (determined by media state of |
+ // tabs. |
+ TabMediaState media_state_; |
}; |
#endif // CHROME_BROWSER_UI_COCOA_BROWSER_WINDOW_COCOA_H_ |