Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(204)

Side by Side Diff: chrome/browser/download/download_service.cc

Issue 26938003: Don't prompt to save malicious downloads on exit (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fixed unit test compile error Created 7 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/download/download_service.h" 5 #include "chrome/browser/download/download_service.h"
6 6
7 #include "base/callback.h" 7 #include "base/callback.h"
8 #include "chrome/browser/browser_process.h" 8 #include "chrome/browser/browser_process.h"
9 #include "chrome/browser/download/chrome_download_manager_delegate.h" 9 #include "chrome/browser/download/chrome_download_manager_delegate.h"
10 #include "chrome/browser/download/download_history.h" 10 #include "chrome/browser/download/download_history.h"
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
87 bool DownloadService::HasCreatedDownloadManager() { 87 bool DownloadService::HasCreatedDownloadManager() {
88 return download_manager_created_; 88 return download_manager_created_;
89 } 89 }
90 90
91 int DownloadService::DownloadCount() const { 91 int DownloadService::DownloadCount() const {
92 if (!download_manager_created_) 92 if (!download_manager_created_)
93 return 0; 93 return 0;
94 return BrowserContext::GetDownloadManager(profile_)->InProgressCount(); 94 return BrowserContext::GetDownloadManager(profile_)->InProgressCount();
95 } 95 }
96 96
97 int DownloadService::NonDangerousDownloadCount() const {
98 if (!download_manager_created_)
99 return 0;
100 return BrowserContext::GetDownloadManager(profile_)->
101 NonDangerousInProgressCount();
102 }
103
97 // static 104 // static
98 int DownloadService::DownloadCountAllProfiles() { 105 int DownloadService::DownloadCountAllProfiles() {
99 std::vector<Profile*> profiles( 106 std::vector<Profile*> profiles(
100 g_browser_process->profile_manager()->GetLoadedProfiles()); 107 g_browser_process->profile_manager()->GetLoadedProfiles());
101 108
102 int count = 0; 109 int count = 0;
103 for (std::vector<Profile*>::iterator it = profiles.begin(); 110 for (std::vector<Profile*>::iterator it = profiles.begin();
104 it < profiles.end(); ++it) { 111 it < profiles.end(); ++it) {
105 count += DownloadServiceFactory::GetForBrowserContext(*it)->DownloadCount(); 112 count += DownloadServiceFactory::GetForBrowserContext(*it)->DownloadCount();
106 if ((*it)->HasOffTheRecordProfile()) 113 if ((*it)->HasOffTheRecordProfile())
107 count += DownloadServiceFactory::GetForBrowserContext( 114 count += DownloadServiceFactory::GetForBrowserContext(
108 (*it)->GetOffTheRecordProfile())->DownloadCount(); 115 (*it)->GetOffTheRecordProfile())->DownloadCount();
109 } 116 }
110 117
111 return count; 118 return count;
112 } 119 }
113 120
121 // static
122 int DownloadService::NonDangerousDownloadCountAllProfiles() {
123 std::vector<Profile*> profiles(
124 g_browser_process->profile_manager()->GetLoadedProfiles());
125
126 int count = 0;
127 for (std::vector<Profile*>::iterator it = profiles.begin();
128 it < profiles.end(); ++it) {
129 count += DownloadServiceFactory::GetForBrowserContext(*it)->
130 NonDangerousDownloadCount();
131 if ((*it)->HasOffTheRecordProfile())
132 count += DownloadServiceFactory::GetForBrowserContext(
133 (*it)->GetOffTheRecordProfile())->NonDangerousDownloadCount();
134 }
135
136 return count;
137 }
138
114 void DownloadService::SetDownloadManagerDelegateForTesting( 139 void DownloadService::SetDownloadManagerDelegateForTesting(
115 ChromeDownloadManagerDelegate* new_delegate) { 140 ChromeDownloadManagerDelegate* new_delegate) {
116 // Set the new delegate first so that if BrowserContext::GetDownloadManager() 141 // Set the new delegate first so that if BrowserContext::GetDownloadManager()
117 // causes a new download manager to be created, we won't create a redundant 142 // causes a new download manager to be created, we won't create a redundant
118 // ChromeDownloadManagerDelegate(). 143 // ChromeDownloadManagerDelegate().
119 manager_delegate_ = new_delegate; 144 manager_delegate_ = new_delegate;
120 // Guarantee everything is properly initialized. 145 // Guarantee everything is properly initialized.
121 DownloadManager* dm = BrowserContext::GetDownloadManager(profile_); 146 DownloadManager* dm = BrowserContext::GetDownloadManager(profile_);
122 if (dm->GetDelegate() != new_delegate) { 147 if (dm->GetDelegate() != new_delegate) {
123 dm->SetDelegate(new_delegate); 148 dm->SetDelegate(new_delegate);
(...skipping 18 matching lines...) Expand all
142 // code) when the DownloadManager is shutting down. So we shut it down 167 // code) when the DownloadManager is shutting down. So we shut it down
143 // manually earlier. See http://crbug.com/131692 168 // manually earlier. See http://crbug.com/131692
144 BrowserContext::GetDownloadManager(profile_)->Shutdown(); 169 BrowserContext::GetDownloadManager(profile_)->Shutdown();
145 } 170 }
146 #if !defined(OS_ANDROID) 171 #if !defined(OS_ANDROID)
147 extension_event_router_.reset(); 172 extension_event_router_.reset();
148 #endif 173 #endif
149 manager_delegate_ = NULL; 174 manager_delegate_ = NULL;
150 download_history_.reset(); 175 download_history_.reset();
151 } 176 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698