Since #19488, the network service is enabled and the old path has been deleted. Some features are broken as a result and will need to be fixed before 8.0.0. This is a tracking issue for those features.

- [x] webRequest API (zcbenz)
- [x] service workers on file protocol (#20132)
- [x] session.clearAuthCache - tests (#20015)
- [x] session.getBlobData (#20041)
- [x] session.setUserAgent (#20014)
- [x] custom standard schemes / registerSchemesAsPrivileged
- [x] Rewire Login Handler from NetworkDelegate into ProxyingURLLoaderFactory
- [x] fix 'login' event not firing on net requests

cc @deepak1556 @jkleinsc @zcbenz 
shell/browser/api/atom_api_session.cc
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,