- 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
base::FilePath default_download_path = browser_context->prefs()->GetFilePath(
      prefs::kDownloadDefaultDirectory);
  CreateDownloadPathCallback download_path_callback =
      base::Bind(&AtomDownloadManagerDelegate::OnDownloadPathGenerated,
                 weak_ptr_factory_.GetWeakPtr(),
                 download->GetId(), callback);
  content::BrowserThread::PostTask(
      content::BrowserThread::FILE, FROM_HERE,
      base::Bind(&AtomDownloadManagerDelegate::CreateDownloadPath,
                 weak_ptr_factory_.GetWeakPtr(),
                 download->GetURL(),
                 download->GetContentDisposition(),
                 download->GetSuggestedFilename(),
                 download->GetMimeType(),
                 default_download_path,
                 download_path_callback));
  return true;
}
bool AtomDownloadManagerDelegate::ShouldOpenDownload(
    content::DownloadItem* download,
    const content::DownloadOpenDelayedCallback& callback) {
  return true;
}
void AtomDownloadManagerDelegate::GetNextId(
    const content::DownloadIdCallback& callback) {
  static uint32_t next_id = content::DownloadItem::kInvalidId + 1;
  callback.Run(next_id++);
}
}