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

Side by Side Diff: chrome/browser/chromeos/drive/file_system/create_directory_operation.cc

Issue 16998003: Update CrOS to use scoped_refptr<T>::get() rather than implicit "operator T*" (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebased Created 7 years, 6 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) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 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/chromeos/drive/file_system/create_directory_operation.h " 5 #include "chrome/browser/chromeos/drive/file_system/create_directory_operation.h "
6 6
7 #include "chrome/browser/chromeos/drive/drive.pb.h" 7 #include "chrome/browser/chromeos/drive/drive.pb.h"
8 #include "chrome/browser/chromeos/drive/file_system/operation_observer.h" 8 #include "chrome/browser/chromeos/drive/file_system/operation_observer.h"
9 #include "chrome/browser/chromeos/drive/file_system_util.h" 9 #include "chrome/browser/chromeos/drive/file_system_util.h"
10 #include "chrome/browser/chromeos/drive/job_scheduler.h" 10 #include "chrome/browser/chromeos/drive/job_scheduler.h"
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
64 void CreateDirectoryOperation::CreateDirectory( 64 void CreateDirectoryOperation::CreateDirectory(
65 const base::FilePath& directory_path, 65 const base::FilePath& directory_path,
66 bool is_exclusive, 66 bool is_exclusive,
67 bool is_recursive, 67 bool is_recursive,
68 const FileOperationCallback& callback) { 68 const FileOperationCallback& callback) {
69 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 69 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
70 DCHECK(!callback.is_null()); 70 DCHECK(!callback.is_null());
71 71
72 ResourceEntry* entry = new ResourceEntry; 72 ResourceEntry* entry = new ResourceEntry;
73 base::PostTaskAndReplyWithResult( 73 base::PostTaskAndReplyWithResult(
74 blocking_task_runner_, 74 blocking_task_runner_.get(),
75 FROM_HERE, 75 FROM_HERE,
76 base::Bind(&CreateDirectoryOperation::GetExistingDeepestDirectory, 76 base::Bind(&CreateDirectoryOperation::GetExistingDeepestDirectory,
77 metadata_, directory_path, entry), 77 metadata_,
78 base::Bind(&CreateDirectoryOperation 78 directory_path,
79 ::CreateDirectoryAfterGetExistingDeepestDirectory, 79 entry),
80 base::Bind(&CreateDirectoryOperation::
81 CreateDirectoryAfterGetExistingDeepestDirectory,
80 weak_ptr_factory_.GetWeakPtr(), 82 weak_ptr_factory_.GetWeakPtr(),
81 directory_path, is_exclusive, is_recursive, 83 directory_path,
82 callback, base::Owned(entry))); 84 is_exclusive,
85 is_recursive,
86 callback,
87 base::Owned(entry)));
83 } 88 }
84 89
85 // static 90 // static
86 base::FilePath CreateDirectoryOperation::GetExistingDeepestDirectory( 91 base::FilePath CreateDirectoryOperation::GetExistingDeepestDirectory(
87 internal::ResourceMetadata* metadata, 92 internal::ResourceMetadata* metadata,
88 const base::FilePath& directory_path, 93 const base::FilePath& directory_path,
89 ResourceEntry* entry) { 94 ResourceEntry* entry) {
90 DCHECK(metadata); 95 DCHECK(metadata);
91 DCHECK(entry); 96 DCHECK(entry);
92 97
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after
190 return; 195 return;
191 } 196 }
192 DCHECK(resource_entry); 197 DCHECK(resource_entry);
193 198
194 // Note that the created directory may be renamed inside 199 // Note that the created directory may be renamed inside
195 // ResourceMetadata::AddEntry due to name confliction. 200 // ResourceMetadata::AddEntry due to name confliction.
196 // What we actually need here is the new created path (not the path we try 201 // What we actually need here is the new created path (not the path we try
197 // to create). 202 // to create).
198 base::FilePath* file_path = new base::FilePath; 203 base::FilePath* file_path = new base::FilePath;
199 base::PostTaskAndReplyWithResult( 204 base::PostTaskAndReplyWithResult(
200 blocking_task_runner_, 205 blocking_task_runner_.get(),
201 FROM_HERE, 206 FROM_HERE,
202 base::Bind(&UpdateLocalStateForCreateDirectoryRecursively, 207 base::Bind(&UpdateLocalStateForCreateDirectoryRecursively,
203 metadata_, ConvertToResourceEntry(*resource_entry), file_path), 208 metadata_,
204 base::Bind(&CreateDirectoryOperation 209 ConvertToResourceEntry(*resource_entry),
205 ::CreateDirectoryRecursivelyAfterUpdateLocalState, 210 file_path),
211 base::Bind(&CreateDirectoryOperation::
212 CreateDirectoryRecursivelyAfterUpdateLocalState,
206 weak_ptr_factory_.GetWeakPtr(), 213 weak_ptr_factory_.GetWeakPtr(),
207 resource_entry->resource_id(), 214 resource_entry->resource_id(),
208 remaining_path, callback, base::Owned(file_path))); 215 remaining_path,
216 callback,
217 base::Owned(file_path)));
209 } 218 }
210 219
211 void CreateDirectoryOperation::CreateDirectoryRecursivelyAfterUpdateLocalState( 220 void CreateDirectoryOperation::CreateDirectoryRecursivelyAfterUpdateLocalState(
212 const std::string& resource_id, 221 const std::string& resource_id,
213 const base::FilePath& remaining_path, 222 const base::FilePath& remaining_path,
214 const FileOperationCallback& callback, 223 const FileOperationCallback& callback,
215 base::FilePath* file_path, 224 base::FilePath* file_path,
216 FileError error) { 225 FileError error) {
217 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 226 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
218 DCHECK(!callback.is_null()); 227 DCHECK(!callback.is_null());
(...skipping 10 matching lines...) Expand all
229 callback.Run(FILE_ERROR_OK); 238 callback.Run(FILE_ERROR_OK);
230 return; 239 return;
231 } 240 }
232 241
233 // Create descendent directories. 242 // Create descendent directories.
234 CreateDirectoryRecursively(resource_id, remaining_path, callback); 243 CreateDirectoryRecursively(resource_id, remaining_path, callback);
235 } 244 }
236 245
237 } // namespace file_system 246 } // namespace file_system
238 } // namespace drive 247 } // namespace drive
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698