diff options
author | toyoshim@chromium.org <toyoshim@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-03-24 02:49:17 +0000 |
---|---|---|
committer | toyoshim@chromium.org <toyoshim@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-03-24 02:49:17 +0000 |
commit | 7f4c84ffe959733ebe3fe1e6c5ea2c65a2dc218f (patch) | |
tree | 1d273f5e372cad599d860b22be4ea3ec2bc7486e /chrome/browser/ui/cocoa/toolbar/toolbar_button.h | |
parent | ee2408b9230399f65a42107f230dde7a70f934e4 (diff) | |
download | chromium_src-7f4c84ffe959733ebe3fe1e6c5ea2c65a2dc218f.zip chromium_src-7f4c84ffe959733ebe3fe1e6c5ea2c65a2dc218f.tar.gz chromium_src-7f4c84ffe959733ebe3fe1e6c5ea2c65a2dc218f.tar.bz2 |
[Mac] Middle clicking on home button does not work. It should open home in new
tab. backward button, forward button and reload button have the same problem.
XIB Changes:
* Add ToolbarButton for buttons which should handle middle clicking.
* Switch the home button to be ToolbarButton instead of NSButton.
* Back/forward and reload buttons inherit from ToolbarButton instead of
NSButton.
BUG=45795
TEST=Middle click on the home button create new tab with home page, or on the
reload button create new tab with current page. Middle click on the
back/forward buttons also work with new tab. unit_tests include
TestbarButtonTest.* suites for testint that.
R=pinkerton@chromium.org,avi@chromium.org,viettrungluu@chromium.org,mark@chromium.org,shess@chromium.org,rohitrao@chromium.org
Review URL: http://codereview.chromium.org/6703004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@79245 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/ui/cocoa/toolbar/toolbar_button.h')
-rw-r--r-- | chrome/browser/ui/cocoa/toolbar/toolbar_button.h | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/chrome/browser/ui/cocoa/toolbar/toolbar_button.h b/chrome/browser/ui/cocoa/toolbar/toolbar_button.h new file mode 100644 index 0000000..c35d1e5 --- /dev/null +++ b/chrome/browser/ui/cocoa/toolbar/toolbar_button.h @@ -0,0 +1,33 @@ +// Copyright (c) 2011 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef CHROME_BROWSER_UI_COCOA_TOOLBAR_TOOLBAR_BUTTON_H_ +#define CHROME_BROWSER_UI_COCOA_TOOLBAR_TOOLBAR_BUTTON_H_ +#pragma once + +#import <Cocoa/Cocoa.h> + +// NSButton subclass which handles middle mouse clicking. + +@interface ToolbarButton : NSButton { + @protected + // YES when middle mouse clicks should be handled. + BOOL handleMiddleClick_; + + // YES when a middle mouse click is being handled. This is set to YES by an + // NSOtherMouseDown event, and NO by an NSOtherMouseUp event. While this is + // YES, other mouse button events should be ignored. + BOOL handlingMiddleClick_; +} + +// Whether or not to handle the mouse middle click events. +@property(assign, nonatomic) BOOL handleMiddleClick; + +@end + +@interface ToolbarButton (ExposedForTesting) +- (BOOL)shouldHandleEvent:(NSEvent*)theEvent; +@end + +#endif // CHROME_BROWSER_UI_COCOA_TOOLBAR_TOOLBAR_BUTTON_H_ |