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

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

Issue 9296012: Hooked up NetLog to DownloadItem, DownloadFile, and FileStream. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Merged with parent Created 8 years, 10 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) 2011 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_service_factory.h" 10 #include "chrome/browser/download/download_service_factory.h"
11 #include "chrome/browser/net/chrome_net_log.h"
11 #include "chrome/browser/profiles/profile.h" 12 #include "chrome/browser/profiles/profile.h"
12 #include "chrome/browser/profiles/profile_manager.h" 13 #include "chrome/browser/profiles/profile_manager.h"
13 #include "content/public/browser/download_manager.h" 14 #include "content/public/browser/download_manager.h"
14 15
15 using content::DownloadManager; 16 using content::DownloadManager;
16 17
17 DownloadService::DownloadService(Profile* profile) 18 DownloadService::DownloadService(Profile* profile)
18 : download_manager_created_(false), 19 : download_manager_created_(false),
19 profile_(profile) { 20 profile_(profile) {
20 } 21 }
21 22
22 DownloadService::~DownloadService() {} 23 DownloadService::~DownloadService() {}
23 24
24 void DownloadService::OnManagerCreated( 25 void DownloadService::OnManagerCreated(
25 const DownloadService::OnManagerCreatedCallback& cb) { 26 const DownloadService::OnManagerCreatedCallback& cb) {
26 if (download_manager_created_) { 27 if (download_manager_created_) {
27 cb.Run(manager_.get()); 28 cb.Run(manager_.get());
28 } else { 29 } else {
29 on_manager_created_callbacks_.push_back(cb); 30 on_manager_created_callbacks_.push_back(cb);
30 } 31 }
31 } 32 }
32 33
33 DownloadManager* DownloadService::GetDownloadManager() { 34 DownloadManager* DownloadService::GetDownloadManager() {
34 if (!download_manager_created_) { 35 if (!download_manager_created_) {
35 // In case the delegate has already been set by 36 // In case the delegate has already been set by
36 // SetDownloadManagerDelegateForTesting. 37 // SetDownloadManagerDelegateForTesting.
37 if (!manager_delegate_.get()) 38 if (!manager_delegate_.get())
38 manager_delegate_ = new ChromeDownloadManagerDelegate(profile_); 39 manager_delegate_ = new ChromeDownloadManagerDelegate(profile_);
39 manager_ = DownloadManager::Create( 40 manager_ = DownloadManager::Create(
40 manager_delegate_.get(), g_browser_process->download_status_updater()); 41 manager_delegate_.get(),
42 g_browser_process->download_status_updater(),
43 g_browser_process->net_log());
Randy Smith (Not in Mondays) 2012/02/03 19:36:41 Remind me: Is there a global from which we can gra
ahendrickson 2012/02/05 05:06:53 There is: content::GetContentClient()->browser()-
Randy Smith (Not in Mondays) 2012/02/06 00:37:49 I'm torn--I can see arguments in both directions.
41 manager_->Init(profile_); 44 manager_->Init(profile_);
42 manager_delegate_->SetDownloadManager(manager_); 45 manager_delegate_->SetDownloadManager(manager_);
43 download_manager_created_ = true; 46 download_manager_created_ = true;
44 for (std::vector<OnManagerCreatedCallback>::iterator cb 47 for (std::vector<OnManagerCreatedCallback>::iterator cb
45 = on_manager_created_callbacks_.begin(); 48 = on_manager_created_callbacks_.begin();
46 cb != on_manager_created_callbacks_.end(); ++cb) { 49 cb != on_manager_created_callbacks_.end(); ++cb) {
47 cb->Run(manager_.get()); 50 cb->Run(manager_.get());
48 } 51 }
49 on_manager_created_callbacks_.clear(); 52 on_manager_created_callbacks_.clear();
50 } 53 }
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
96 // Resetting here will guarantee that any attempts to get the 99 // Resetting here will guarantee that any attempts to get the
97 // DownloadManager after shutdown will return null. 100 // DownloadManager after shutdown will return null.
98 // 101 //
99 // TODO(rdsmith): Figure out how to guarantee when the last reference 102 // TODO(rdsmith): Figure out how to guarantee when the last reference
100 // will be released and make DownloadManager not RefCountedThreadSafe<>. 103 // will be released and make DownloadManager not RefCountedThreadSafe<>.
101 manager_.release(); 104 manager_.release();
102 } 105 }
103 if (manager_delegate_.get()) 106 if (manager_delegate_.get())
104 manager_delegate_.release(); 107 manager_delegate_.release();
105 } 108 }
OLDNEW
« no previous file with comments | « no previous file | content/browser/download/download_create_info.h » ('j') | content/browser/download/download_item_impl.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698