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

Unified Diff: webkit/browser/fileapi/obfuscated_file_util.cc

Issue 206783004: Remove PlatforFile from fileapi/native_file_util (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Change API to return File Created 6 years, 9 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: webkit/browser/fileapi/obfuscated_file_util.cc
diff --git a/webkit/browser/fileapi/obfuscated_file_util.cc b/webkit/browser/fileapi/obfuscated_file_util.cc
index 952645a2a42fabe099366c32b04c8734324834f9..d720ca082ec3702c901c76d063551d478b08ff4e 100644
--- a/webkit/browser/fileapi/obfuscated_file_util.cc
+++ b/webkit/browser/fileapi/obfuscated_file_util.cc
@@ -292,7 +292,8 @@ base::File::Error ObfuscatedFileUtil::CreateOrOpen(
base::File::Error ObfuscatedFileUtil::Close(
FileSystemOperationContext* context,
base::PlatformFile file) {
- return NativeFileUtil::Close(file);
+ base::File auto_closed(file);
+ return base::File::FILE_OK;
}
base::File::Error ObfuscatedFileUtil::EnsureFileExists(
@@ -1080,17 +1081,23 @@ base::File::Error ObfuscatedFileUtil::CreateFile(
created = true;
} else {
if (base::PathExists(dest_local_path)) {
- if (!base::DeleteFile(dest_local_path, true /* recursive */)) {
- NOTREACHED();
+ if (!base::DeleteFile(dest_local_path, true /* recursive */))
return base::File::FILE_ERROR_FAILED;
- }
LOG(WARNING) << "A stray file detected";
InvalidateUsageCache(context, dest_url.origin(), dest_url.type());
}
if (handle) {
- error = NativeFileUtil::CreateOrOpen(
- dest_local_path, file_flags, handle, &created);
+ // TODO(rvargas): Remove PlatformFile from this code.
+ base::File file =
+ NativeFileUtil::CreateOrOpen(dest_local_path, file_flags);
+ if (file.IsValid()) {
+ created = file.created();
+ *handle = file.TakePlatformFile();
+ error = base::File::FILE_OK;
+ } else {
+ error = file.error_details();
+ }
// If this succeeds, we must close handle on any subsequent error.
} else {
DCHECK(!file_flags); // file_flags is only used by CreateOrOpen.
@@ -1101,7 +1108,6 @@ base::File::Error ObfuscatedFileUtil::CreateFile(
return error;
if (!created) {
- NOTREACHED();
if (handle) {
DCHECK_NE(base::kInvalidPlatformFileValue, *handle);
base::ClosePlatformFile(*handle);
@@ -1396,23 +1402,30 @@ base::File::Error ObfuscatedFileUtil::CreateOrOpenInternal(
AllocateQuota(context, delta);
}
- error = NativeFileUtil::CreateOrOpen(
- local_path, file_flags, file_handle, created);
- if (error == base::File::FILE_ERROR_NOT_FOUND) {
- // TODO(tzik): Also invalidate on-memory usage cache in UsageTracker.
- // TODO(tzik): Delete database entry after ensuring the file lost.
- InvalidateUsageCache(context, url.origin(), url.type());
- LOG(WARNING) << "Lost a backing file.";
- error = base::File::FILE_ERROR_FAILED;
+ // TODO(rvargas): make FileSystemFileUtil use base::File.
+ base::File file = NativeFileUtil::CreateOrOpen(local_path, file_flags);
+ if (!file.IsValid()) {
+ error = file.error_details();
+ if (error == base::File::FILE_ERROR_NOT_FOUND) {
+ // TODO(tzik): Also invalidate on-memory usage cache in UsageTracker.
+ // TODO(tzik): Delete database entry after ensuring the file lost.
+ InvalidateUsageCache(context, url.origin(), url.type());
+ LOG(WARNING) << "Lost a backing file.";
+ error = base::File::FILE_ERROR_FAILED;
+ }
+ return error;
}
+ *created = file.created();
+ *file_handle = file.TakePlatformFile();
+
// If truncating we need to update the usage.
- if (error == base::File::FILE_OK && delta) {
+ if (delta) {
UpdateUsage(context, url, delta);
context->change_observers()->Notify(
&FileChangeObserver::OnModifyFile, MakeTuple(url));
}
- return error;
+ return base::File::FILE_OK;
}
bool ObfuscatedFileUtil::HasIsolatedStorage(const GURL& origin) {

Powered by Google App Engine
This is Rietveld 408576698