@@ -752,6 +752,12 @@ int32 SetPosixPermissions(ExtensionString filename, int32 mode)
752752
753753int32 ShellDeleteFileOrDirectory (ExtensionString filename, bool allowUndo)
754754{
755+ DWORD dwAttr = GetFileAttributes (filename.c_str ());
756+
757+ if (dwAttr == INVALID_FILE_ATTRIBUTES) {
758+ return ERR_NOT_FOUND;
759+ }
760+
755761 WCHAR filepath[MAX_PATH+1 ] = {0 };
756762 wcscpy (filepath, filename.c_str ());
757763 SHFILEOPSTRUCT operation = {0 };
@@ -776,32 +782,12 @@ int32 ShellDeleteFileOrDirectory(ExtensionString filename, bool allowUndo)
776782
777783int32 DeleteFileOrDirectory (ExtensionString filename)
778784{
779- DWORD dwAttr = GetFileAttributes (filename.c_str ());
780- int32 error = NO_ERROR;
781-
782- if (dwAttr == INVALID_FILE_ATTRIBUTES) {
783- error = ERR_NOT_FOUND;
784- }
785-
786- if (error == NO_ERROR) {
787- error = ShellDeleteFileOrDirectory (filename, false );
788- }
789-
790- return error;
785+ return ShellDeleteFileOrDirectory (filename, false );
791786}
792787
793788void MoveFileOrDirectoryToTrash (ExtensionString filename, CefRefPtr<CefBrowser> browser, CefRefPtr<CefProcessMessage> response)
794789{
795- DWORD dwAttr = GetFileAttributes (filename.c_str ());
796- int32 error = NO_ERROR;
797-
798- if (dwAttr == INVALID_FILE_ATTRIBUTES) {
799- error = ERR_NOT_FOUND;
800- }
801-
802- if (error == NO_ERROR) {
803- error = ShellDeleteFileOrDirectory (filename, true );
804- }
790+ int32 error = ShellDeleteFileOrDirectory (filename, true );
805791
806792 response->GetArgumentList ()->SetInt (1 , error);
807793 browser->SendProcessMessage (PID_RENDERER, response);
0 commit comments