network_context_service_factory.cc 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. // Copyright (c) 2019 GitHub, Inc.
  2. // Use of this source code is governed by the MIT license that can be
  3. // found in the LICENSE file.
  4. #include "shell/browser/net/network_context_service_factory.h"
  5. #include "components/keyed_service/content/browser_context_dependency_manager.h"
  6. #include "shell/browser/net/network_context_service.h"
  7. namespace electron {
  8. NetworkContextService* NetworkContextServiceFactory::GetForContext(
  9. content::BrowserContext* browser_context) {
  10. return static_cast<NetworkContextService*>(
  11. GetInstance()->GetServiceForBrowserContext(browser_context, true));
  12. }
  13. NetworkContextServiceFactory* NetworkContextServiceFactory::GetInstance() {
  14. return base::Singleton<NetworkContextServiceFactory>::get();
  15. }
  16. NetworkContextServiceFactory::NetworkContextServiceFactory()
  17. : BrowserContextKeyedServiceFactory(
  18. "ElectronNetworkContextService",
  19. BrowserContextDependencyManager::GetInstance()) {}
  20. NetworkContextServiceFactory::~NetworkContextServiceFactory() = default;
  21. KeyedService* NetworkContextServiceFactory::BuildServiceInstanceFor(
  22. content::BrowserContext* context) const {
  23. return new NetworkContextService(
  24. static_cast<ElectronBrowserContext*>(context));
  25. }
  26. content::BrowserContext* NetworkContextServiceFactory::GetBrowserContextToUse(
  27. content::BrowserContext* context) const {
  28. // Create separate service for temporary sessions.
  29. return context;
  30. }
  31. } // namespace electron