summaryrefslogtreecommitdiffstats
path: root/webkit/glue/webframeloaderclient_impl.cc
diff options
context:
space:
mode:
Diffstat (limited to 'webkit/glue/webframeloaderclient_impl.cc')
-rw-r--r--webkit/glue/webframeloaderclient_impl.cc10
1 files changed, 7 insertions, 3 deletions
diff --git a/webkit/glue/webframeloaderclient_impl.cc b/webkit/glue/webframeloaderclient_impl.cc
index 3ba3057..265f82e 100644
--- a/webkit/glue/webframeloaderclient_impl.cc
+++ b/webkit/glue/webframeloaderclient_impl.cc
@@ -1563,14 +1563,18 @@ bool WebFrameLoaderClient::ActionSpecifiesDisposition(
return false;
const MouseEvent* event = static_cast<const MouseEvent*>(action.event());
- const bool middle_or_ctrl = (event->button() == 1) || event->ctrlKey();
+#if defined(OS_WIN) || defined(OS_LINUX)
+ const bool new_tab_modifier = (event->button() == 1) || event->ctrlKey();
+#elif defined(OS_MACOSX)
+ const bool new_tab_modifier = (event->button() == 1) || event->metaKey();
+#endif
const bool shift = event->shiftKey();
const bool alt = event->altKey();
- if (!middle_or_ctrl && !shift && !alt)
+ if (!new_tab_modifier && !shift && !alt)
return false;
DCHECK(disposition);
- if (middle_or_ctrl)
+ if (new_tab_modifier)
*disposition = shift ? NEW_FOREGROUND_TAB : NEW_BACKGROUND_TAB;
else
*disposition = shift ? NEW_WINDOW : SAVE_TO_DISK;