| 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
|
|
|