cocoa: add some tab-manipulation menu items

This change adds these items to the Window menu:
* Duplicate Tab
* Pin Tab
* Mute Tab

The latter two are toggle-able menu items.

BUG=699667

Review-Url: https://codereview.chromium.org/2876223003
Cr-Commit-Position: refs/heads/master@{#473202}
diff --git a/chrome/browser/ui/browser_command_controller.cc b/chrome/browser/ui/browser_command_controller.cc
index 362100f..7db71e16 100644
--- a/chrome/browser/ui/browser_command_controller.cc
+++ b/chrome/browser/ui/browser_command_controller.cc
@@ -648,6 +648,12 @@
     case IDC_ROUTE_MEDIA:
       RouteMedia(browser_);
       break;
+    case IDC_WINDOW_MUTE_TAB:
+      MuteTab(browser_);
+      break;
+    case IDC_WINDOW_PIN_TAB:
+      PinTab(browser_);
+      break;
 
     default:
       LOG(WARNING) << "Received Unimplemented Command: " << id;
@@ -847,6 +853,9 @@
       IDC_DISTILL_PAGE, base::CommandLine::ForCurrentProcess()->HasSwitch(
                             switches::kEnableDomDistiller));
 
+  command_updater_.UpdateCommandEnabled(IDC_WINDOW_MUTE_TAB, normal_window);
+  command_updater_.UpdateCommandEnabled(IDC_WINDOW_PIN_TAB, normal_window);
+
   // Initialize other commands whose state changes based on various conditions.
   UpdateCommandsForFullscreenMode();
   UpdateCommandsForContentRestrictionState();
@@ -922,6 +931,10 @@
   // Window management commands
   command_updater_.UpdateCommandEnabled(IDC_DUPLICATE_TAB,
       !browser_->is_app() && CanDuplicateTab(browser_));
+  command_updater_.UpdateCommandEnabled(IDC_WINDOW_MUTE_TAB,
+                                        !browser_->is_app());
+  command_updater_.UpdateCommandEnabled(IDC_WINDOW_PIN_TAB,
+                                        !browser_->is_app());
 
   // Page-related commands
   window()->SetStarredState(