| OLD | NEW | 
|   1 // Copyright 2016 The Chromium Authors. All rights reserved. |   1 // Copyright 2016 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 #include "chrome/browser/browsing_data/downloads_counter.h" |   5 #include "chrome/browser/browsing_data/downloads_counter.h" | 
|   6  |   6  | 
|   7 #include "chrome/browser/download/download_history.h" |   7 #include "chrome/browser/download/download_history.h" | 
|   8 #include "chrome/browser/profiles/profile.h" |   8 #include "chrome/browser/profiles/profile.h" | 
|   9 #include "components/browsing_data/core/pref_names.h" |   9 #include "components/browsing_data/core/pref_names.h" | 
|  10 #include "content/public/browser/download_manager.h" |  10 #include "content/public/browser/download_manager.h" | 
|  11  |  11  | 
|  12 DownloadsCounter::DownloadsCounter(Profile* profile) |  12 DownloadsCounter::DownloadsCounter(Profile* profile) | 
|  13     : BrowsingDataCounter(browsing_data::prefs::kDeleteDownloadHistory), |  13     : profile_(profile) {} | 
|  14       profile_(profile) {} |  | 
|  15  |  14  | 
|  16 DownloadsCounter::~DownloadsCounter() { |  15 DownloadsCounter::~DownloadsCounter() { | 
|  17 } |  16 } | 
|  18  |  17  | 
 |  18 const char* DownloadsCounter::GetPrefName() const { | 
 |  19   return browsing_data::prefs::kDeleteDownloadHistory; | 
 |  20 } | 
 |  21  | 
|  19 void DownloadsCounter::Count() { |  22 void DownloadsCounter::Count() { | 
|  20   content::DownloadManager* download_manager = |  23   content::DownloadManager* download_manager = | 
|  21       content::BrowserContext::GetDownloadManager(profile_); |  24       content::BrowserContext::GetDownloadManager(profile_); | 
|  22   std::vector<content::DownloadItem*> downloads; |  25   std::vector<content::DownloadItem*> downloads; | 
|  23   download_manager->GetAllDownloads(&downloads); |  26   download_manager->GetAllDownloads(&downloads); | 
|  24   base::Time begin_time = GetPeriodStart(); |  27   base::Time begin_time = GetPeriodStart(); | 
|  25  |  28  | 
|  26   ReportResult(std::count_if( |  29   ReportResult(std::count_if( | 
|  27       downloads.begin(), |  30       downloads.begin(), | 
|  28       downloads.end(), |  31       downloads.end(), | 
|  29       [begin_time](const content::DownloadItem* item) { |  32       [begin_time](const content::DownloadItem* item) { | 
|  30         return item->GetStartTime() >= begin_time && |  33         return item->GetStartTime() >= begin_time && | 
|  31             DownloadHistory::IsPersisted(item); |  34             DownloadHistory::IsPersisted(item); | 
|  32       })); |  35       })); | 
|  33 } |  36 } | 
| OLD | NEW |