- Electron version: 1.4.3
- Operating system:  @win7
- description:

working on a download app with electron and angular. 
By using webContents.downloadUrl, webContents.session.on('will-download', handler) I can make download function work well, however, I could not find a api to save download progress before closing electron app so that I can restore download when this app is started next time.

Excepted Result:
1. user click 'download' button to download a 1G file.
2. after 500M is downloaded, user quit the app
3. one hour later, user open this app again, and downloading can automatically be restored

atom/browser/api/atom_api_session.cc
v8::Isolate* isolate, AtomBrowserContext* browser_context) {
  auto existing = TrackableObject::FromWrappedClass(isolate, browser_context);
  if (existing)
    return mate::CreateHandle(isolate, static_cast<Session*>(existing));
  auto handle = mate::CreateHandle(
      isolate, new Session(isolate, browser_context));
  
  
  g_sessions[handle->weak_map_id()] =
      v8::Global<v8::Object>(isolate, handle.ToV8());
  return handle;
}
mate::Handle<Session> Session::FromPartition(
    v8::Isolate* isolate, const std::string& partition,
    const base::DictionaryValue& options) {
  scoped_refptr<AtomBrowserContext> browser_context;
  if (partition.empty()) {
    browser_context = AtomBrowserContext::From("", false, options);
  } else if (base::StartsWith(partition, kPersistPrefix,
                              base::CompareCase::SENSITIVE)) {
    std::string name = partition.substr(8);
    browser_context = AtomBrowserContext::From(name, false, options);
  } else {
    browser_context = AtomBrowserContext::From(partition, true, options);
  }
  return CreateFrom(isolate, browser_context.get());
}
void Session::BuildPrototype(v8::Isolate* isolate,