> proxyRules = schemeProxies[";"<schemeProxies>]
> schemeProxies = [<urlScheme>"="]<proxyURIList>
> urlScheme = "http" | "https" | "ftp" | "socks"
> proxyURIList = <proxyURL>[","<proxyURIList>]
> proxyURL = [<proxyScheme>"://"]<proxyHost>[":"<proxyPort>]

atom/browser/api/atom_api_session.cc
content::BrowserContext::GetDownloadManager(browser_context())->
      RemoveObserver(this);
}
void Session::OnDownloadCreated(content::DownloadManager* manager,
                                content::DownloadItem* item) {
  if (item->IsSavePackageDownload())
    return;
  v8::Locker locker(isolate());
  v8::HandleScope handle_scope(isolate());
  bool prevent_default = Emit(
      "will-download",
      DownloadItem::Create(isolate(), item),
      item->GetWebContents());
  if (prevent_default) {
    item->Cancel(true);
    item->Remove();
  }
}
void Session::ResolveProxy(const GURL& url, ResolveProxyCallback callback) {
  new ResolveProxyHelper(browser_context(), url, callback);
}
template<Session::CacheAction action>
void Session::DoCacheAction(const net::CompletionCallback& callback) {
  BrowserThread::PostTask(BrowserThread::IO, FROM_HERE,
      base::Bind(&DoCacheActionInIO,
                 make_scoped_refptr(browser_context_->GetRequestContext()),
                 action,
                 callback));
}
void Session::ClearStorageData(mate::Arguments* args) {