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

Side by Side Diff: webkit/browser/fileapi/copy_or_move_operation_delegate.cc

Issue 21097005: Fix up some tests for copy-or-move validator and nearby. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: enum simplification Created 7 years, 4 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
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 "webkit/browser/fileapi/copy_or_move_operation_delegate.h" 5 #include "webkit/browser/fileapi/copy_or_move_operation_delegate.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/files/file_path.h" 8 #include "base/files/file_path.h"
9 #include "webkit/browser/fileapi/copy_or_move_file_validator.h" 9 #include "webkit/browser/fileapi/copy_or_move_file_validator.h"
10 #include "webkit/browser/fileapi/file_system_context.h" 10 #include "webkit/browser/fileapi/file_system_context.h"
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after
103 error != base::PLATFORM_FILE_ERROR_NOT_FOUND) { 103 error != base::PLATFORM_FILE_ERROR_NOT_FOUND) {
104 callback_.Run(error); 104 callback_.Run(error);
105 return; 105 return;
106 } 106 }
107 107
108 // Start to process the source directory recursively. 108 // Start to process the source directory recursively.
109 // TODO(kinuko): This could be too expensive for same_file_system_==true 109 // TODO(kinuko): This could be too expensive for same_file_system_==true
110 // and operation==MOVE case, probably we can just rename the root directory. 110 // and operation==MOVE case, probably we can just rename the root directory.
111 // http://crbug.com/172187 111 // http://crbug.com/172187
112 StartRecursiveOperation( 112 StartRecursiveOperation(
113 src_root_, base::Bind(&CopyOrMoveOperationDelegate::DidFinishCopyDir, 113 src_root_,
114 AsWeakPtr(), src_root_, 114 base::Bind(&CopyOrMoveOperationDelegate::DidFinishRecursiveCopyDir,
115 callback_)); 115 AsWeakPtr(), src_root_, callback_));
116 } 116 }
117 117
118 void CopyOrMoveOperationDelegate::CopyOrMoveFile( 118 void CopyOrMoveOperationDelegate::CopyOrMoveFile(
119 const URLPair& url_pair, 119 const URLPair& url_pair,
120 const StatusCallback& callback) { 120 const StatusCallback& callback) {
121 // Same filesystem case. 121 // Same filesystem case.
122 if (same_file_system_) { 122 if (same_file_system_) {
123 if (operation_type_ == OPERATION_MOVE) { 123 if (operation_type_ == OPERATION_MOVE) {
124 operation_runner()->MoveFileLocal(url_pair.src, url_pair.dest, callback); 124 operation_runner()->MoveFileLocal(url_pair.src, url_pair.dest, callback);
125 } else { 125 } else {
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
183 const base::FilePath& platform_path, 183 const base::FilePath& platform_path,
184 base::PlatformFileError error) { 184 base::PlatformFileError error) {
185 if (error != base::PLATFORM_FILE_OK) { 185 if (error != base::PLATFORM_FILE_OK) {
186 callback.Run(error); 186 callback.Run(error);
187 return; 187 return;
188 } 188 }
189 189
190 operation_runner()->CopyInForeignFile(platform_path, dest, callback); 190 operation_runner()->CopyInForeignFile(platform_path, dest, callback);
191 } 191 }
192 192
193 void CopyOrMoveOperationDelegate::DidFinishCopyDir( 193 void CopyOrMoveOperationDelegate::DidFinishRecursiveCopyDir(
194 const FileSystemURL& src, 194 const FileSystemURL& src,
195 const StatusCallback& callback, 195 const StatusCallback& callback,
196 base::PlatformFileError error) { 196 base::PlatformFileError error) {
197 if (error != base::PLATFORM_FILE_OK || 197 if (error != base::PLATFORM_FILE_OK ||
198 operation_type_ == OPERATION_COPY) { 198 operation_type_ == OPERATION_COPY) {
199 callback.Run(error); 199 callback.Run(error);
200 return; 200 return;
201 } 201 }
202 202
203 DCHECK_EQ(operation_type_, OPERATION_MOVE); 203 DCHECK_EQ(OPERATION_MOVE, operation_type_);
204 204
205 // Remove the source for finalizing move operation. 205 // Remove the source for finalizing move operation.
206 operation_runner()->Remove( 206 operation_runner()->Remove(
207 src, true /* recursive */, 207 src, true /* recursive */,
208 base::Bind(&CopyOrMoveOperationDelegate::DidRemoveSourceForMove, 208 base::Bind(&CopyOrMoveOperationDelegate::DidRemoveSourceForMove,
209 AsWeakPtr(), callback)); 209 AsWeakPtr(), callback));
210 } 210 }
211 211
212 void CopyOrMoveOperationDelegate::DidFinishCopy( 212 void CopyOrMoveOperationDelegate::DidFinishCopy(
213 const URLPair& url_pair, 213 const URLPair& url_pair,
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after
314 const StatusCallback& callback, 314 const StatusCallback& callback,
315 base::PlatformFileError error) { 315 base::PlatformFileError error) {
316 if (error != base::PLATFORM_FILE_OK) { 316 if (error != base::PLATFORM_FILE_OK) {
317 VLOG(1) << "Error removing destination file after validation error: " 317 VLOG(1) << "Error removing destination file after validation error: "
318 << error; 318 << error;
319 } 319 }
320 callback.Run(prior_error); 320 callback.Run(prior_error);
321 } 321 }
322 322
323 } // namespace fileapi 323 } // namespace fileapi
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698