summaryrefslogtreecommitdiffstats
path: root/chrome/browser/chromeos/gdata
diff options
context:
space:
mode:
authorsreeram@chromium.org <sreeram@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-08-29 18:37:04 +0000
committersreeram@chromium.org <sreeram@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-08-29 18:37:04 +0000
commit6f3994a1d5e5a23557da5c4ecae435c3955ddef0 (patch)
tree8e44af4d1aeda4083084ac9185c9dfca9aa7605e /chrome/browser/chromeos/gdata
parent2901ba7669f34d2a7867883fe7bb3c0262e12027 (diff)
downloadchromium_src-6f3994a1d5e5a23557da5c4ecae435c3955ddef0.zip
chromium_src-6f3994a1d5e5a23557da5c4ecae435c3955ddef0.tar.gz
chromium_src-6f3994a1d5e5a23557da5c4ecae435c3955ddef0.tar.bz2
Revert 153920 - drive: Fix possible leak in DriveFileSystem::AddUploadedFile
Fix possible leak which can occur when the callback not getting called. BUG=None TEST=unit_tests --gtest_filter="DriveFileSystemTest.*" Review URL: https://chromiumcodereview.appspot.com/10889018 TBR=hashimoto@chromium.org Review URL: https://chromiumcodereview.appspot.com/10891034 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@153925 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/chromeos/gdata')
-rw-r--r--chrome/browser/chromeos/gdata/drive_file_system.cc12
-rw-r--r--chrome/browser/chromeos/gdata/drive_file_system.h4
2 files changed, 8 insertions, 8 deletions
diff --git a/chrome/browser/chromeos/gdata/drive_file_system.cc b/chrome/browser/chromeos/gdata/drive_file_system.cc
index 4538f18..658be16 100644
--- a/chrome/browser/chromeos/gdata/drive_file_system.cc
+++ b/chrome/browser/chromeos/gdata/drive_file_system.cc
@@ -2760,17 +2760,17 @@ void DriveFileSystem::AddUploadedFileOnUIThread(
DCHECK(doc_entry.get());
const std::string& resource_id = doc_entry->resource_id();
- scoped_ptr<AddUploadedFileParams> params(
+ AddUploadedFileParams* params =
new AddUploadedFileParams(upload_mode,
directory_path,
doc_entry.Pass(),
file_content_path,
cache_operation,
- callback));
+ callback);
const FileMoveCallback file_move_callback =
base::Bind(&DriveFileSystem::ContinueAddUploadedFile,
- ui_weak_ptr_, base::Passed(&params));
+ ui_weak_ptr_, params);
if (upload_mode == UPLOAD_EXISTING_FILE) {
// Remove the existing entry.
@@ -2781,7 +2781,7 @@ void DriveFileSystem::AddUploadedFileOnUIThread(
}
void DriveFileSystem::ContinueAddUploadedFile(
- scoped_ptr<AddUploadedFileParams> params,
+ AddUploadedFileParams* params,
DriveFileError error,
const FilePath& /* file_path */) {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
@@ -2798,11 +2798,11 @@ void DriveFileSystem::ContinueAddUploadedFile(
params->doc_entry.Pass(),
base::Bind(&DriveFileSystem::AddUploadedFileToCache,
ui_weak_ptr_,
- base::Passed(&params)));
+ base::Owned(params)));
}
void DriveFileSystem::AddUploadedFileToCache(
- scoped_ptr<AddUploadedFileParams> params,
+ AddUploadedFileParams* params,
DriveFileError error,
const FilePath& file_path) {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
diff --git a/chrome/browser/chromeos/gdata/drive_file_system.h b/chrome/browser/chromeos/gdata/drive_file_system.h
index a5edcf3..725ad6b 100644
--- a/chrome/browser/chromeos/gdata/drive_file_system.h
+++ b/chrome/browser/chromeos/gdata/drive_file_system.h
@@ -541,12 +541,12 @@ class DriveFileSystem : public DriveFileSystemInterface,
const FilePath& directory_path);
// Continues to add an uploaded file after existing entry has been deleted.
- void ContinueAddUploadedFile(scoped_ptr<AddUploadedFileParams> params,
+ void ContinueAddUploadedFile(AddUploadedFileParams* params,
DriveFileError error,
const FilePath& file_path);
// Adds the uploaded file to the cache.
- void AddUploadedFileToCache(scoped_ptr<AddUploadedFileParams> params,
+ void AddUploadedFileToCache(AddUploadedFileParams* params,
DriveFileError error,
const FilePath& file_path);