chore: cache URLLoaderFactory per-session (#19998)

* cache the URLLoaderFactory in AtomBrowserContext

* use cached loader factory in AtomURLLoaderFactory
This commit is contained in:
Cheng Zhao 2019-08-29 15:07:46 +09:00 committed by GitHub
parent eed72c35d7
commit b3947d6a83
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 50 additions and 40 deletions

View file

@ -17,12 +17,17 @@
#include "content/public/browser/browser_context.h"
#include "content/public/browser/resource_context.h"
#include "electron/buildflags/buildflags.h"
#include "services/network/public/mojom/url_loader_factory.mojom.h"
#include "shell/browser/media/media_device_id_salt.h"
class PrefRegistrySimple;
class PrefService;
class ValueMapPrefStore;
namespace network {
class SharedURLLoaderFactory;
}
namespace storage {
class SpecialStoragePolicy;
}
@ -87,8 +92,8 @@ class AtomBrowserContext
int GetMaxCacheSize() const;
AtomBlobReader* GetBlobReader();
ResolveProxyHelper* GetResolveProxyHelper();
predictors::PreconnectManager* GetPreconnectManager();
scoped_refptr<network::SharedURLLoaderFactory> GetURLLoaderFactory();
// content::BrowserContext:
base::FilePath GetPath() override;
@ -180,6 +185,9 @@ class AtomBrowserContext
extensions::AtomExtensionSystem* extension_system_;
#endif
// Shared URLLoaderFactory.
scoped_refptr<network::SharedURLLoaderFactory> url_loader_factory_;
base::WeakPtrFactory<AtomBrowserContext> weak_factory_;
DISALLOW_COPY_AND_ASSIGN(AtomBrowserContext);