OLD | NEW |
1 // Copyright (c) 2012 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 "webkit/fileapi/isolated_file_util.h" | 5 #include "webkit/fileapi/isolated_file_util.h" |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 #include <vector> | 8 #include <vector> |
9 | 9 |
10 #include "base/memory/scoped_ptr.h" | 10 #include "base/memory/scoped_ptr.h" |
(...skipping 242 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
253 IsolatedContext::GetInstance()->CreateVirtualRootPath(filesystem_id); | 253 IsolatedContext::GetInstance()->CreateVirtualRootPath(filesystem_id); |
254 | 254 |
255 if (!cracked_path.empty()) { | 255 if (!cracked_path.empty()) { |
256 return new PathConverterEnumerator( | 256 return new PathConverterEnumerator( |
257 NativeFileUtil::CreateFileEnumerator(cracked_path, recursive), | 257 NativeFileUtil::CreateFileEnumerator(cracked_path, recursive), |
258 virtual_base_path.AppendASCII(root_info.name), root_info.path); | 258 virtual_base_path.AppendASCII(root_info.name), root_info.path); |
259 } | 259 } |
260 | 260 |
261 // Root path case. | 261 // Root path case. |
262 std::vector<FileInfo> toplevels; | 262 std::vector<FileInfo> toplevels; |
263 IsolatedContext::GetInstance()->GetRegisteredFileInfo( | 263 IsolatedContext::GetInstance()->GetDraggedFileInfo( |
264 filesystem_id, &toplevels); | 264 filesystem_id, &toplevels); |
265 if (!recursive) | 265 if (!recursive) |
266 return new SetFileEnumerator(toplevels, root.path()); | 266 return new SetFileEnumerator(toplevels, root.path()); |
267 return new RecursiveSetFileEnumerator( | 267 return new RecursiveSetFileEnumerator( |
268 virtual_base_path, toplevels, root.path()); | 268 virtual_base_path, toplevels, root.path()); |
269 } | 269 } |
270 | 270 |
271 PlatformFileError IsolatedFileUtil::GetLocalFilePath( | 271 PlatformFileError IsolatedFileUtil::GetLocalFilePath( |
272 FileSystemOperationContext* context, | 272 FileSystemOperationContext* context, |
273 const FileSystemURL& file_system_url, | 273 const FileSystemURL& file_system_url, |
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
330 const FileSystemURL& url) { | 330 const FileSystemURL& url) { |
331 std::string filesystem_id; | 331 std::string filesystem_id; |
332 FilePath platform_path; | 332 FilePath platform_path; |
333 if (!IsolatedContext::GetInstance()->CrackIsolatedPath( | 333 if (!IsolatedContext::GetInstance()->CrackIsolatedPath( |
334 url.path(), &filesystem_id, | 334 url.path(), &filesystem_id, |
335 NULL, &platform_path)) | 335 NULL, &platform_path)) |
336 return false; | 336 return false; |
337 if (platform_path.empty()) { | 337 if (platform_path.empty()) { |
338 // The root directory case. | 338 // The root directory case. |
339 std::vector<FileInfo> toplevels; | 339 std::vector<FileInfo> toplevels; |
340 bool success = IsolatedContext::GetInstance()->GetRegisteredFileInfo( | 340 bool success = IsolatedContext::GetInstance()->GetDraggedFileInfo( |
341 filesystem_id, &toplevels); | 341 filesystem_id, &toplevels); |
342 DCHECK(success); | 342 DCHECK(success); |
343 return toplevels.empty(); | 343 return toplevels.empty(); |
344 } | 344 } |
345 return NativeFileUtil::IsDirectoryEmpty(platform_path); | 345 return NativeFileUtil::IsDirectoryEmpty(platform_path); |
346 } | 346 } |
347 | 347 |
348 PlatformFileError IsolatedFileUtil::CopyOrMoveFile( | 348 PlatformFileError IsolatedFileUtil::CopyOrMoveFile( |
349 FileSystemOperationContext* context, | 349 FileSystemOperationContext* context, |
350 const FileSystemURL& src_url, | 350 const FileSystemURL& src_url, |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
388 FilePath* platform_path) const { | 388 FilePath* platform_path) const { |
389 DCHECK(platform_path); | 389 DCHECK(platform_path); |
390 std::string filesystem_id; | 390 std::string filesystem_id; |
391 if (!IsolatedContext::GetInstance()->CrackIsolatedPath( | 391 if (!IsolatedContext::GetInstance()->CrackIsolatedPath( |
392 url.path(), &filesystem_id, NULL, platform_path)) | 392 url.path(), &filesystem_id, NULL, platform_path)) |
393 return false; | 393 return false; |
394 return true; | 394 return true; |
395 } | 395 } |
396 | 396 |
397 } // namespace | 397 } // namespace |
OLD | NEW |