diff options
-rw-r--r-- | chrome/browser/cocoa/download_item_cell.mm | 27 |
1 files changed, 15 insertions, 12 deletions
diff --git a/chrome/browser/cocoa/download_item_cell.mm b/chrome/browser/cocoa/download_item_cell.mm index 16b9edf..a108565 100644 --- a/chrome/browser/cocoa/download_item_cell.mm +++ b/chrome/browser/cocoa/download_item_cell.mm @@ -196,25 +196,28 @@ const int kCompleteAnimationDuration = 2.5; } // Use two distinct tracking rects for left and right parts. + // The tracking areas are also used to decide how to handle clicks. They must + // always be active, so the click is handled correctly when a download item + // is clicked while chrome is not the active app ( http://crbug.com/21916 ). NSRect bounds = [[self controlView] bounds]; NSRect buttonRect, dropdownRect; NSDivideRect(bounds, &dropdownRect, &buttonRect, kDropdownAreaWidth, NSMaxXEdge); - trackingAreaButton_.reset([[NSTrackingArea alloc] - initWithRect:buttonRect - options:(NSTrackingMouseEnteredAndExited | - NSTrackingActiveInActiveApp) - owner:self - userInfo:nil]); + trackingAreaButton_.reset([[NSTrackingArea alloc] + initWithRect:buttonRect + options:(NSTrackingMouseEnteredAndExited | + NSTrackingActiveAlways) + owner:self + userInfo:nil]); [[self controlView] addTrackingArea:trackingAreaButton_.get()]; - trackingAreaDropdown_.reset([[NSTrackingArea alloc] - initWithRect:dropdownRect - options:(NSTrackingMouseEnteredAndExited | - NSTrackingActiveInActiveApp) - owner:self - userInfo:nil]); + trackingAreaDropdown_.reset([[NSTrackingArea alloc] + initWithRect:dropdownRect + options:(NSTrackingMouseEnteredAndExited | + NSTrackingActiveAlways) + owner:self + userInfo:nil]); [[self controlView] addTrackingArea:trackingAreaDropdown_.get()]; } |