Index: chrome/browser/ui/views/download/download_shelf_view.cc |
diff --git a/chrome/browser/ui/views/download/download_shelf_view.cc b/chrome/browser/ui/views/download/download_shelf_view.cc |
index f60424a4e1b14b7c3968ceeffb6c5f5a96cf0c69..c45e771f7f43ddf23de3175b049aae70ceec1f4f 100644 |
--- a/chrome/browser/ui/views/download/download_shelf_view.cc |
+++ b/chrome/browser/ui/views/download/download_shelf_view.cc |
@@ -15,6 +15,7 @@ |
#include "chrome/browser/ui/views/download/download_item_view.h" |
#include "chrome/browser/ui/views/frame/browser_view.h" |
#include "content/browser/download/download_item.h" |
+#include "content/browser/download/download_stats.h" |
#include "content/browser/download/download_manager.h" |
#include "content/browser/tab_contents/navigation_entry.h" |
#include "grit/generated_resources.h" |
@@ -87,6 +88,7 @@ int CenterPosition(int size, int target_size) { |
DownloadShelfView::DownloadShelfView(Browser* browser, BrowserView* parent) |
: browser_(browser), |
parent_(parent), |
+ auto_closed_(true), |
ALLOW_THIS_IN_INITIALIZER_LIST( |
mouse_watcher_(this, this, gfx::Insets())) { |
mouse_watcher_.set_notify_on_exit_time_ms(kNotifyOnExitTimeMS); |
@@ -367,6 +369,7 @@ void DownloadShelfView::LinkClicked(views::Link* source, int event_flags) { |
void DownloadShelfView::ButtonPressed( |
views::Button* button, const views::Event& event) { |
+ auto_closed_ = false; |
Close(); |
} |
@@ -383,8 +386,16 @@ void DownloadShelfView::Show() { |
} |
void DownloadShelfView::Close() { |
+ int num_in_progress = 0; |
+ for (size_t i = 0; i < download_views_.size(); ++i) { |
+ if (download_views_[i]->download()->IsInProgress()) |
+ ++num_in_progress; |
+ } |
+ download_stats::RecordShelfClose( |
+ download_views_.size(), num_in_progress, auto_closed_); |
parent_->SetDownloadShelfVisible(false); |
shelf_animation_->Hide(); |
+ auto_closed_ = true; |
} |
Browser* DownloadShelfView::browser() const { |