diff options
author | jrg@chromium.org <jrg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-09-10 02:33:24 +0000 |
---|---|---|
committer | jrg@chromium.org <jrg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-09-10 02:33:24 +0000 |
commit | 15e67ecea5fb3f2e840f7b19a1dc4bb7e0f8c643 (patch) | |
tree | 7dd5cb471ca8c88feb14862a5312b9f31605b0d9 /chrome/browser/cocoa | |
parent | e0e1442447db5ed5a4d4ac81b0eb05896dee5839 (diff) | |
download | chromium_src-15e67ecea5fb3f2e840f7b19a1dc4bb7e0f8c643.zip chromium_src-15e67ecea5fb3f2e840f7b19a1dc4bb7e0f8c643.tar.gz chromium_src-15e67ecea5fb3f2e840f7b19a1dc4bb7e0f8c643.tar.bz2 |
Prevent multiple bookmarks from having focus when trying to confuse
things with the context menu.
BUG=http://crbug.com/54324
Review URL: http://codereview.chromium.org/3345017
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59038 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/cocoa')
-rw-r--r-- | chrome/browser/cocoa/bookmark_bar_folder_controller.mm | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/chrome/browser/cocoa/bookmark_bar_folder_controller.mm b/chrome/browser/cocoa/bookmark_bar_folder_controller.mm index 0e9e751..d672f7d 100644 --- a/chrome/browser/cocoa/bookmark_bar_folder_controller.mm +++ b/chrome/browser/cocoa/bookmark_bar_folder_controller.mm @@ -1372,6 +1372,20 @@ static BOOL ValueInRangeInclusive(CGFloat low, CGFloat value, CGFloat high) { buttonThatMouseIsIn_ = nil; } + // Deleting a button causes rearrangement that enables us to lose a + // mouse-exited event. This problem doesn't appear to exist with + // other keep-menu-open options (e.g. add folder). Since the + // showsBorderOnlyWhileMouseInside uses a tracking area, simple + // tricks (e.g. sending an extra mouseExited: to the button) don't + // fix the problem. + // http://crbug.com/54324 + for (NSButton* button in buttons_.get()) { + if ([button showsBorderOnlyWhileMouseInside]) { + [button setShowsBorderOnlyWhileMouseInside:NO]; + [button setShowsBorderOnlyWhileMouseInside:YES]; + } + } + [oldButton setDelegate:nil]; [oldButton removeFromSuperview]; if (animate && !ignoreAnimations_) |