summaryrefslogtreecommitdiffstats
path: root/chrome
diff options
context:
space:
mode:
Diffstat (limited to 'chrome')
-rw-r--r--chrome/browser/app_controller_mac.mm12
-rw-r--r--chrome/browser/app_controller_mac_unittest.mm2
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]);
}
}