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

Unified Diff: chrome/browser/chromeos/gdata/gdata_download_observer.cc

Issue 10665049: Make DownloadHistory observe manager, items (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 8 years, 5 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/chromeos/gdata/gdata_download_observer.cc
diff --git a/chrome/browser/chromeos/gdata/gdata_download_observer.cc b/chrome/browser/chromeos/gdata/gdata_download_observer.cc
index c6299d07349e4096619fb44ecbaf8a7108beb8e9..70d54a52ecf9ebc708c28e72ad32642f1fbdc321 100644
--- a/chrome/browser/chromeos/gdata/gdata_download_observer.cc
+++ b/chrome/browser/chromeos/gdata/gdata_download_observer.cc
@@ -58,7 +58,7 @@ class UploadingExternalData : public DownloadCompletionBlocker {
};
// External Data stored in DownloadItem for gdata path.
-class GDataExternalData : public DownloadItem::ExternalData {
+class GDataExternalData : public base::SupportsUserData::Data {
public:
explicit GDataExternalData(const FilePath& path) : file_path_(path) {}
virtual ~GDataExternalData() {}
@@ -72,13 +72,13 @@ class GDataExternalData : public DownloadItem::ExternalData {
// Extracts UploadingExternalData* from |download|.
UploadingExternalData* GetUploadingExternalData(DownloadItem* download) {
return static_cast<UploadingExternalData*>(
- download->GetExternalData(&kUploadingKey));
+ download->GetUserData(&kUploadingKey));
}
// Extracts GDataExternalData* from |download|.
GDataExternalData* GetGDataExternalData(DownloadItem* download) {
return static_cast<GDataExternalData*>(
- download->GetExternalData(&kGDataPathKey));
+ download->GetUserData(&kGDataPathKey));
}
void RunSubstituteGDataDownloadCallback(
@@ -233,15 +233,15 @@ void GDataDownloadObserver::SetDownloadParams(const FilePath& gdata_path,
return;
if (gdata::util::IsUnderGDataMountPoint(gdata_path)) {
- download->SetExternalData(&kGDataPathKey,
- new GDataExternalData(gdata_path));
+ download->SetUserData(&kGDataPathKey,
+ new GDataExternalData(gdata_path));
download->SetDisplayName(gdata_path.BaseName());
download->SetIsTemporary(true);
} else if (IsGDataDownload(download)) {
// This may have been previously set if the default download folder is
// /drive, and the user has now changed the download target to a local
// folder.
- download->SetExternalData(&kGDataPathKey, NULL);
+ download->SetUserData(&kGDataPathKey, NULL);
download->SetDisplayName(gdata_path);
// TODO(achuith): This is not quite right.
download->SetIsTemporary(false);
@@ -363,7 +363,6 @@ void GDataDownloadObserver::OnDownloadUpdated(DownloadItem* download) {
// TODO(achuith): Stop the pending upload and delete the file.
case DownloadItem::CANCELLED:
- case DownloadItem::REMOVING:
case DownloadItem::INTERRUPTED:
RemovePendingDownload(download);
break;
@@ -375,6 +374,10 @@ void GDataDownloadObserver::OnDownloadUpdated(DownloadItem* download) {
DVLOG(1) << "Number of pending downloads=" << pending_downloads_.size();
}
+void GDataDownloadObserver::OnDownloadDestroyed(DownloadItem* download) {
+ RemovePendingDownload(download);
+}
+
void GDataDownloadObserver::AddPendingDownload(DownloadItem* download) {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
@@ -400,8 +403,8 @@ void GDataDownloadObserver::RemovePendingDownload(DownloadItem* download) {
}
void GDataDownloadObserver::DetachFromDownload(DownloadItem* download) {
- download->SetExternalData(&kUploadingKey, NULL);
- download->SetExternalData(&kGDataPathKey, NULL);
+ download->SetUserData(&kUploadingKey, NULL);
+ download->SetUserData(&kGDataPathKey, NULL);
download->RemoveObserver(this);
}
@@ -413,7 +416,7 @@ void GDataDownloadObserver::UploadDownloadItem(DownloadItem* download) {
return;
// Initialize uploading external data.
- download->SetExternalData(&kUploadingKey,
+ download->SetUserData(&kUploadingKey,
new UploadingExternalData(gdata_uploader_));
// Create UploadFileInfo structure for the download item.

Powered by Google App Engine
This is Rietveld 408576698