Chromium Code Reviews| 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..15d88c7febabeff9b042aab356db288b38e5689c 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,21 @@ const NSSize kHoverCloseButtonDefaultSize = { 16, 16 }; |
| - (void)hide:(id)sender { |
| [self cancelAutoCloseAndRemoveTrackingArea]; |
| + download_stats::RecordShelfSize([downloadItemControllers_ count]); |
|
Randy Smith (Not in Mondays)
2011/09/30 15:57:21
I believe that on some platforms, but not others,
benjhayden
2011/10/03 20:54:39
I went ahead and split the stat.
|
| + |
| + int numPending = 0; |
| + for (NSUInteger i = 0; i < [downloadItemControllers_ count]; ++i) { |
| + DownloadItemController* itemController = |
| + [downloadItemControllers_ objectAtIndex:i]; |
| + DownloadItem* download = [itemController download]; |
| + bool isTransferDone = download->IsComplete() || |
| + download->IsCancelled() || |
| + download->IsInterrupted(); |
|
Randy Smith (Not in Mondays)
2011/09/30 15:57:21
Is there a reason we're not just counting number i
benjhayden
2011/10/03 20:54:39
Done.
|
| + if (!isTransferDone) |
| + ++numPending; |
| + } |
| + download_stats::RecordShelfPendingSize(numPending); |
| + |
| // 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. |