Index: base/file_util_win.cc |
diff --git a/base/file_util_win.cc b/base/file_util_win.cc |
index adf6608f4e3f16e32238fb46c6b2ae2cbaa5fc04..dce906313a2b78343632b787fb9edad56b3755c9 100644 |
--- a/base/file_util_win.cc |
+++ b/base/file_util_win.cc |
@@ -68,6 +68,12 @@ bool DeleteFile(const FilePath& path, bool recursive) { |
// to SHFileOperation, which will do the right thing. |
if (::DeleteFile(path.value().c_str()) != 0) |
return true; |
+ |
+ // If the file doesn't exist, then we are done. This is belt-and-suspenders |
+ // for avoiding a SHFileOperation() call on a non-existent file. See |
+ // http://crbug.com/368455. |
+ if (!PathExists(path)) |
+ return true; |
} |
// SHFILEOPSTRUCT wants the path to be terminated with two NULLs, |