- 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.h
public content::DownloadManager::Observer {
 public:
  using ResolveProxyCallback = base::Callback<void(std::string)>;
  enum class CacheAction {
    CLEAR,
    STATS,
  };
  
  static mate::Handle<Session> CreateFrom(
      v8::Isolate* isolate, AtomBrowserContext* browser_context);
  
  static mate::Handle<Session> FromPartition(
      v8::Isolate* isolate, const std::string& partition,
      const base::DictionaryValue& options = base::DictionaryValue());
  AtomBrowserContext* browser_context() const { return browser_context_.get(); }
  
  static void BuildPrototype(v8::Isolate* isolate,
                             v8::Local<v8::FunctionTemplate> prototype);
  
  void ResolveProxy(const GURL& url, ResolveProxyCallback callback);
  template<CacheAction action>
  void DoCacheAction(const net::CompletionCallback& callback);
  void ClearStorageData(mate::Arguments* args);
  void FlushStorageData();
  void SetProxy(const net::ProxyConfig& config, const base::Closure& callback);
  void SetDownloadPath(const base::FilePath& path);
  void EnableNetworkEmulation(const mate::Dictionary& options);
  void DisableNetworkEmulation();
  void SetCertVerifyProc(v8::Local<v8::Value> proc, mate::Arguments* args);
  void SetPermissionRequestHandler(v8::Local<v8::Value> val,