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

Side by Side Diff: chrome/browser/ui/cocoa/clickhold_button_cell.mm

Issue 1256183004: Fixed crashed when activating the context menu for toolbar buttons using Voiceover (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixed indentation. Created 5 years, 4 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2009 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #import "chrome/browser/ui/cocoa/clickhold_button_cell.h" 5 #import "chrome/browser/ui/cocoa/clickhold_button_cell.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 8
9 // Minimum and maximum click-hold timeout. 9 // Minimum and maximum click-hold timeout.
10 static const NSTimeInterval kMinTimeout = 0.0; 10 static const NSTimeInterval kMinTimeout = 0.0;
(...skipping 11 matching lines...) Expand all
22 22
23 @implementation ClickHoldButtonCell 23 @implementation ClickHoldButtonCell
24 24
25 @synthesize enableClickHold = enableClickHold_; 25 @synthesize enableClickHold = enableClickHold_;
26 @synthesize enableRightClick = enableRightClick_; 26 @synthesize enableRightClick = enableRightClick_;
27 @synthesize clickHoldTimeout = clickHoldTimeout_; 27 @synthesize clickHoldTimeout = clickHoldTimeout_;
28 @synthesize trackOnlyInRect = trackOnlyInRect_; 28 @synthesize trackOnlyInRect = trackOnlyInRect_;
29 @synthesize activateOnDrag = activateOnDrag_; 29 @synthesize activateOnDrag = activateOnDrag_;
30 @synthesize clickHoldTarget = clickHoldTarget_; 30 @synthesize clickHoldTarget = clickHoldTarget_;
31 @synthesize clickHoldAction = clickHoldAction_; 31 @synthesize clickHoldAction = clickHoldAction_;
32 @synthesize accessibilityShowMenuTarget = accessibilityShowMenuTarget_;
33 @synthesize accessibilityShowMenuAction = accessibilityShowMenuAction_;
32 34
33 // Overrides: 35 // Overrides:
34 36
35 + (BOOL)prefersTrackingUntilMouseUp { 37 + (BOOL)prefersTrackingUntilMouseUp {
36 return NO; 38 return NO;
37 } 39 }
38 40
39 - (id)init { 41 - (id)init {
40 if ((self = [super init])) 42 if ((self = [super init]))
41 [self resetToDefaults]; 43 [self resetToDefaults];
(...skipping 16 matching lines...) Expand all
58 if ((self = [super initTextCell:string])) 60 if ((self = [super initTextCell:string]))
59 [self resetToDefaults]; 61 [self resetToDefaults];
60 return self; 62 return self;
61 } 63 }
62 64
63 - (void)accessibilityPerformAction:(NSString*)action { 65 - (void)accessibilityPerformAction:(NSString*)action {
64 if ([action isEqualToString:NSAccessibilityShowMenuAction] && 66 if ([action isEqualToString:NSAccessibilityShowMenuAction] &&
65 [self shouldExposeAccessibilityShowMenu]) { 67 [self shouldExposeAccessibilityShowMenu]) {
66 NSControl* controlView = static_cast<NSControl*>([self controlView]); 68 NSControl* controlView = static_cast<NSControl*>([self controlView]);
67 if (controlView) 69 if (controlView)
68 [controlView sendAction:clickHoldAction_ to:clickHoldTarget_]; 70 [controlView sendAction:accessibilityShowMenuAction_
71 to:accessibilityShowMenuTarget_];
69 return; 72 return;
70 } 73 }
71 74
72 [super accessibilityPerformAction:action]; 75 [super accessibilityPerformAction:action];
73 } 76 }
74 77
75 - (BOOL)startTrackingAt:(NSPoint)startPoint 78 - (BOOL)startTrackingAt:(NSPoint)startPoint
76 inView:(NSView*)controlView { 79 inView:(NSView*)controlView {
77 return enableClickHold_ ? YES : 80 return enableClickHold_ ? YES :
78 [super startTrackingAt:startPoint 81 [super startTrackingAt:startPoint
(...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after
206 // which relies on the "published" defaults. 209 // which relies on the "published" defaults.
207 - (void)resetToDefaults { 210 - (void)resetToDefaults {
208 [self setEnableClickHold:NO]; 211 [self setEnableClickHold:NO];
209 [self setClickHoldTimeout:0.25]; 212 [self setClickHoldTimeout:0.25];
210 [self setTrackOnlyInRect:NO]; 213 [self setTrackOnlyInRect:NO];
211 [self setActivateOnDrag:YES]; 214 [self setActivateOnDrag:YES];
212 } 215 }
213 216
214 - (BOOL)shouldExposeAccessibilityShowMenu { 217 - (BOOL)shouldExposeAccessibilityShowMenu {
215 return (enableRightClick_ || (enableClickHold_ && clickHoldTimeout_ > 0.0)) && 218 return (enableRightClick_ || (enableClickHold_ && clickHoldTimeout_ > 0.0)) &&
216 clickHoldAction_ && clickHoldTarget_; 219 accessibilityShowMenuAction_ && accessibilityShowMenuTarget_;
217 } 220 }
218 221
219 @end // @implementation ClickHoldButtonCell (Private) 222 @end // @implementation ClickHoldButtonCell (Private)
OLDNEW
« no previous file with comments | « chrome/browser/ui/cocoa/clickhold_button_cell.h ('k') | chrome/browser/ui/cocoa/clickhold_button_cell_unittest.mm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698