Current code always deletes the file before starting a download when allow override is True. In soup backend we use glib API that takes care of it and tries to ensure that the original file is not deleted if the new file creation fails for whatever reason.
Created attachment 290821 [details] Patch
Committed r206913: <http://trac.webkit.org/changeset/206913>