diff options
Diffstat (limited to 'chrome')
-rw-r--r-- | chrome/browser/app_controller_mac.mm | 12 | ||||
-rw-r--r-- | chrome/browser/app_controller_mac_unittest.mm | 2 |
2 files changed, 11 insertions, 3 deletions
diff --git a/chrome/browser/app_controller_mac.mm b/chrome/browser/app_controller_mac.mm index c56aa46..a45907e 100644 --- a/chrome/browser/app_controller_mac.mm +++ b/chrome/browser/app_controller_mac.mm @@ -448,6 +448,8 @@ enable = YES; } else if (action == @selector(orderFrontStandardAboutPanel:)) { enable = YES; + } else if (action == @selector(newWindowFromDock:)) { + enable = YES; } return enable; } @@ -667,12 +669,18 @@ [aboutController_ showWindow:self]; } +// Explicitly bring to the foreground when creating new windows from the dock. +- (void)newWindowFromDock:(id)sender { + [NSApp activateIgnoringOtherApps:YES]; + [self commandDispatch:sender]; +} + - (NSMenu*)applicationDockMenu:(id)sender { NSMenu* dockMenu = [[[NSMenu alloc] initWithTitle: @""] autorelease]; NSString* titleStr = l10n_util::GetNSStringWithFixup(IDS_NEW_WINDOW_MAC); scoped_nsobject<NSMenuItem> item([[NSMenuItem alloc] initWithTitle:titleStr - action:@selector(commandDispatch:) + action:@selector(newWindowFromDock:) keyEquivalent:@""]); [item setTarget:self]; [item setTag:IDC_NEW_WINDOW]; @@ -680,7 +688,7 @@ titleStr = l10n_util::GetNSStringWithFixup(IDS_NEW_INCOGNITO_WINDOW_MAC); item.reset([[NSMenuItem alloc] initWithTitle:titleStr - action:@selector(commandDispatch:) + action:@selector(newWindowFromDock:) keyEquivalent:@""]); [item setTarget:self]; [item setTag:IDC_NEW_INCOGNITO_WINDOW]; diff --git a/chrome/browser/app_controller_mac_unittest.mm b/chrome/browser/app_controller_mac_unittest.mm index fdc444a..39cc77e 100644 --- a/chrome/browser/app_controller_mac_unittest.mm +++ b/chrome/browser/app_controller_mac_unittest.mm @@ -22,6 +22,6 @@ TEST_F(AppControllerTest, DockMenu) { EXPECT_NE(-1, [menu indexOfItemWithTag:IDC_NEW_INCOGNITO_WINDOW]); for (item in [menu itemArray]) { EXPECT_EQ(ac.get(), [item target]); - EXPECT_EQ(@selector(commandDispatch:), [item action]); + EXPECT_EQ(@selector(newWindowFromDock:), [item action]); } } |