Index: chrome/browser/ui/cocoa/download/download_shelf_controller.mm |
diff --git a/chrome/browser/ui/cocoa/download/download_shelf_controller.mm b/chrome/browser/ui/cocoa/download/download_shelf_controller.mm |
index fb69b913340d9eaddedf312fc7cb97566db84aa4..b420a072994f69c31039d8060775bfd9b0fbfd1a 100644 |
--- a/chrome/browser/ui/cocoa/download/download_shelf_controller.mm |
+++ b/chrome/browser/ui/cocoa/download/download_shelf_controller.mm |
@@ -20,6 +20,7 @@ |
#import "chrome/browser/ui/cocoa/presentation_mode_controller.h" |
#include "content/browser/download/download_item.h" |
#include "content/browser/download/download_manager.h" |
+#include "content/browser/download/download_stats.h" |
#import "third_party/GTM/AppKit/GTMNSAnimation+Duration.h" |
#include "ui/base/l10n/l10n_util.h" |
@@ -240,6 +241,14 @@ const NSSize kHoverCloseButtonDefaultSize = { 16, 16 }; |
- (void)hide:(id)sender { |
[self cancelAutoCloseAndRemoveTrackingArea]; |
+ int numPending = 0; |
+ for (NSUInteger i = 0; i < [downloadItemControllers_ count]; ++i) { |
+ if ([[downloadItemControllers_ objectAtIndex:i]download]->IsInProgress()) |
+ ++numPending; |
+ } |
+ download_stats::RecordShelfClose( |
+ [downloadItemControllers_ count], numPending, sender == nil); |
+ |
// If |sender| isn't nil, then we're being closed from the UI by the user and |
// we need to tell our shelf implementation to close. Otherwise, we're being |
// closed programmatically by our shelf implementation. |