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

Unified Diff: chrome/browser/cocoa/browser_window_controller.mm

Issue 2976008: Bar (Closed)
Patch Set: rebase Created 10 years, 5 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/cocoa/browser_window_controller.h ('k') | chrome/browser/cocoa/tab_strip_controller.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/cocoa/browser_window_controller.mm
diff --git a/chrome/browser/cocoa/browser_window_controller.mm b/chrome/browser/cocoa/browser_window_controller.mm
index 1c5c681faa25c2e92ec9b286b4ea015258fb61be..df16b2bbeecf99729d1420d7e01934dfa4bb3451 100644
--- a/chrome/browser/cocoa/browser_window_controller.mm
+++ b/chrome/browser/cocoa/browser_window_controller.mm
@@ -44,6 +44,7 @@
#import "chrome/browser/cocoa/tab_strip_controller.h"
#import "chrome/browser/cocoa/tab_strip_view.h"
#import "chrome/browser/cocoa/tab_view.h"
+#import "chrome/browser/cocoa/tabpose_window.h"
#import "chrome/browser/cocoa/toolbar_controller.h"
#include "chrome/browser/renderer_host/render_widget_host_view.h"
#include "chrome/browser/sync/profile_sync_service.h"
@@ -152,6 +153,10 @@
}
@end
+// FIXME: private methods don't belong here
+@interface BrowserWindowController (PrivateToo)
+-(void)openTabpose:(BOOL)slomo;
+@end
@implementation BrowserWindowController
@@ -918,7 +923,19 @@
targetController = [[sender window] windowController];
DCHECK([targetController isKindOfClass:[BrowserWindowController class]]);
DCHECK(targetController->browser_.get());
- targetController->browser_->ExecuteCommand([sender tag]);
+
+ NSInteger command = [sender tag];
+ switch (command) {
+ case IDC_TABPOSE: {
+ // FIXME: menu needs to switch between "enter/leave tabpose" depending on
+ // the current window
+ NSUInteger modifierFlags = [[NSApp currentEvent] modifierFlags];
+ [self openTabpose:(modifierFlags & NSShiftKeyMask) != 0];
+ break;
+ }
+ default:
+ targetController->browser_->ExecuteCommand(command);
+ }
}
// Same as |-commandDispatch:|, but executes commands using a disposition
@@ -957,6 +974,7 @@
// ongoing user edits, since it doesn't realize this is a user-initiated
// action.
[targetController locationBarBridge]->Revert();
+ break;
}
}
DCHECK(targetController->browser_.get());
@@ -1460,6 +1478,10 @@
[[[[self window] contentView] superview] addSubview:incognitoBadge_];
}
+-(void)openTabpose:(BOOL)slomo {
+ [TabposeWindow openTabposeFor:self slomo:slomo];
+}
+
// Documented in 10.6+, but present starting in 10.5. Called when we get a
// three-finger swipe.
- (void)swipeWithEvent:(NSEvent*)event {
@@ -1470,9 +1492,9 @@
} else if ([event deltaX] < -0.5) {
command = IDC_FORWARD;
} else if ([event deltaY] > 0.5) {
- // TODO(pinkerton): figure out page-up, http://crbug.com/16305
+ // Do nothing.
} else if ([event deltaY] < -0.5) {
- // TODO(pinkerton): figure out page-down, http://crbug.com/16305
+ [self openTabpose:([event modifierFlags] & NSShiftKeyMask) != 0];
}
// Ensure the command is valid first (ExecuteCommand() won't do that) and
« no previous file with comments | « chrome/browser/cocoa/browser_window_controller.h ('k') | chrome/browser/cocoa/tab_strip_controller.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698