- Electron version: 0.36.9
- Operating system: Mac OSX 10.11.14

When I click on a link that triggers a file download, it emits a `did-fail-load` event with an error code `-3`. The download works and is saved as expected though. 

As a side note, I was calling `loadURL` in the `did-fail-load` handler which caused Electron to crash. I can provide the full dump for that if you'd like. 

Let me know if you'd like any more details. 

atom/browser/api/atom_api_session.cc
v8::Isolate* isolate, const std::string& partition, bool in_memory) {
  auto browser_context = brightray::BrowserContext::From(partition, in_memory);
  return CreateFrom(isolate,
                    static_cast<AtomBrowserContext*>(browser_context.get()));
}
void Session::BuildPrototype(v8::Isolate* isolate,
                             v8::Local<v8::ObjectTemplate> prototype) {
  mate::ObjectTemplateBuilder(isolate, prototype)
      .MakeDestroyable()
      .SetMethod("resolveProxy", &Session::ResolveProxy)
      .SetMethod("getCacheSize", &Session::DoCacheAction<CacheAction::STATS>)
      .SetMethod("clearCache", &Session::DoCacheAction<CacheAction::CLEAR>)
      .SetMethod("clearStorageData", &Session::ClearStorageData)
      .SetMethod("flushStorageData", &Session::FlushStorageData)
      .SetMethod("setProxy", &Session::SetProxy)
      .SetMethod("setDownloadPath", &Session::SetDownloadPath)
      .SetMethod("enableNetworkEmulation", &Session::EnableNetworkEmulation)
      .SetMethod("disableNetworkEmulation", &Session::DisableNetworkEmulation)
      .SetMethod("setCertificateVerifyProc", &Session::SetCertVerifyProc)
      .SetMethod("setPermissionRequestHandler",
                 &Session::SetPermissionRequestHandler)
      .SetMethod("clearHostResolverCache", &Session::ClearHostResolverCache)
      .SetProperty("cookies", &Session::Cookies)
      .SetProperty("webRequest", &Session::WebRequest);
}
void SetWrapSession(const WrapSessionCallback& callback) {