- Electron version: 1.2.4 (May Be All Version has the issue)
- Operating system: MAC OS X 10.10.5 (May Be All OS)

i set the `DownloadItem.setSavePath` but if the target resource return 404 status from server, then the save dialog prompt.
### Steps to reproduce

Merged in from #6957
1. Disconnect from the network
2. initiate a download using mainWindow.webContents.downloadURL(url);
3. call item.setSavePath(path) in the will-download handler

Result:
The browser will show a save dialog.

Expected result:
No save dialog, just an updated or done callback on the item

It appears that the code that notices a save path has been set and prevents the dialog from coming up doesn't happen when the download fails.

atom/browser/atom_download_manager_delegate.cc
if (download_manager_) {
    DCHECK_EQ(static_cast<content::DownloadManagerDelegate*>(this),
              download_manager_->GetDelegate());
    download_manager_->SetDelegate(nullptr);
    download_manager_ = nullptr;
  }
}
void AtomDownloadManagerDelegate::CreateDownloadPath(
    const GURL& url,
    const std::string& content_disposition,
    const std::string& suggested_filename,
    const std::string& mime_type,
    const base::FilePath& default_download_path,
    const CreateDownloadPathCallback& callback) {
  DCHECK_CURRENTLY_ON(content::BrowserThread::FILE);
  auto generated_name = net::GenerateFileName(url,
                                              content_disposition,
                                              std::string(),
                                              suggested_filename,
                                              mime_type,
                                              std::string());
  if (!base::PathExists(default_download_path))
    base::CreateDirectory(default_download_path);
  base::FilePath path(default_download_path.Append(generated_name));
  content::BrowserThread::PostTask(content::BrowserThread::UI, FROM_HERE,
                                   base::Bind(callback, path));
}
void AtomDownloadManagerDelegate::OnDownloadPathGenerated(