Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(9132)

Unified Diff: chrome/browser/ui/cocoa/tabs/tab_strip_controller.mm

Issue 688523002: [Cocoa] Tab audio mute control, behind a switch (off by default). (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/ui/cocoa/tabs/tab_controller_unittest.mm ('k') | chrome/browser/ui/cocoa/tabs/tab_view.mm » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/ui/cocoa/tabs/tab_strip_controller.mm
diff --git a/chrome/browser/ui/cocoa/tabs/tab_strip_controller.mm b/chrome/browser/ui/cocoa/tabs/tab_strip_controller.mm
index 69c298a008e9a07d7ba1ddfb160fdb40e06fb3c4..e61cc492236117387c9b63b4bfd73d5bac1ec661 100644
--- a/chrome/browser/ui/cocoa/tabs/tab_strip_controller.mm
+++ b/chrome/browser/ui/cocoa/tabs/tab_strip_controller.mm
@@ -34,7 +34,7 @@
#import "chrome/browser/ui/cocoa/new_tab_button.h"
#import "chrome/browser/ui/cocoa/tab_contents/favicon_util_mac.h"
#import "chrome/browser/ui/cocoa/tab_contents/tab_contents_controller.h"
-#import "chrome/browser/ui/cocoa/tabs/media_indicator_view.h"
+#import "chrome/browser/ui/cocoa/tabs/media_indicator_button.h"
#import "chrome/browser/ui/cocoa/tabs/tab_controller.h"
#import "chrome/browser/ui/cocoa/tabs/tab_strip_drag_controller.h"
#import "chrome/browser/ui/cocoa/tabs/tab_strip_model_observer_bridge.h"
@@ -824,6 +824,16 @@ NSImage* Overlay(NSImage* ground, NSImage* overlay, CGFloat alpha) {
}
}
+// Called when the user clicks the tab audio indicator to mute the tab.
+- (void)toggleMute:(id)sender {
+ DCHECK([sender isKindOfClass:[TabView class]]);
+ NSInteger index = [self modelIndexForTabView:sender];
+ if (!tabStripModel_->ContainsIndex(index))
+ return;
+ WebContents* contents = tabStripModel_->GetWebContentsAt(index);
+ chrome::SetTabAudioMuted(contents, !chrome::IsTabAudioMuted(contents));
+}
+
// Called when the user closes a tab. Asks the model to close the tab. |sender|
// is the TabView that is potentially going away.
- (void)closeTab:(id)sender {
@@ -1616,20 +1626,8 @@ NSImage* Overlay(NSImage* ground, NSImage* overlay, CGFloat alpha) {
if (newHasIcon) {
if (newState == kTabDone) {
[tabController setIconImage:[self iconImageForContents:contents]];
- const TabMediaState mediaState =
- chrome::GetTabMediaStateForContents(contents);
- // Create MediaIndicatorView upon first use.
- if (mediaState != TAB_MEDIA_STATE_NONE &&
- ![tabController mediaIndicatorView]) {
- MediaIndicatorView* const mediaIndicatorView =
- [[[MediaIndicatorView alloc] init] autorelease];
- [tabController setMediaIndicatorView:mediaIndicatorView];
- }
- [[tabController mediaIndicatorView] updateIndicator:mediaState];
} else if (newState == kTabCrashed) {
[tabController setIconImage:sadFaviconImage withToastAnimation:YES];
- [[tabController mediaIndicatorView]
- updateIndicator:TAB_MEDIA_STATE_NONE];
} else {
[tabController setIconImage:throbberImage];
}
@@ -1637,6 +1635,11 @@ NSImage* Overlay(NSImage* ground, NSImage* overlay, CGFloat alpha) {
[tabController setIconImage:nil];
}
}
+
+ [[tabController mediaIndicatorButton]
miu 2014/10/29 00:10:31 I just realized this is always causing the MediaIn
miu 2014/10/29 00:32:15 Done.
+ transitionToMediaState:chrome::GetTabMediaStateForContents(contents)];
+
+ [tabController updateVisibility];
}
// Called when a notification is received from the model that the given tab
« no previous file with comments | « chrome/browser/ui/cocoa/tabs/tab_controller_unittest.mm ('k') | chrome/browser/ui/cocoa/tabs/tab_view.mm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698