* refactor: desttroy URLRequestContextGetter on IO thread
* Accepts a factory class that can customize the creation of URLRequestContext
* Use a separate request context for media which is derived from the default
* Notify URLRequestContextGetter observers and cleanup on IO thread
* Move most of brightray net/ classes into atom net/
* refactor: remove refs to URLRequestContextGetter on shutdown
* refactor: remove brigtray switches.{cc|h}
* refactor: remove brightray network_delegate.{cc|h}
* refactor: make AtomURLRequestJobFactory the top level factory.
* Allows to use the default handler from content/ for http{s}, ws{s} schemes.
* Removes the storage of job factory in URLRequestContextGetter.
* Fix desktop-id notification edge case
* Extract-method platform_util::GetDesktopName()
This removes duplicated code from libnotify_notifications.cc
and atom/common/linux/application_info.cc.
* Check for empty case in GetDesktopName().
* Move GetDesktopName() to brightray::util
* Remove unnecessary changes in platform_util
* Add a brightray::platform_util namespace
I made `brightray::NotificationDelegate` back into just an interface and
extracted the implementation used by `PlatformNotificationService`, so that
the main process notification implementation can inherit only the interface.
Move AtomCTDelegate to brightray as RequireCTDelegate and transfer ownership to
brightray::URLRequestContextGetter. This fixes the wrong lifetime assumptions
that result in AtomCTDelegate being used after free in some scenarios.
Close#10051