зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1501404 - Part 1: Remove the XPCOM registration for RequestContextService r=valentin
Differential Revision: https://phabricator.services.mozilla.com/D9570 --HG-- extra : moz-landing-system : lando
This commit is contained in:
Родитель
07397d3587
Коммит
e6c5cd6e52
|
@ -282,6 +282,7 @@
|
|||
#include "nsHTMLTags.h"
|
||||
#include "NodeUbiReporting.h"
|
||||
#include "nsICookieService.h"
|
||||
#include "mozilla/net/RequestContextService.h"
|
||||
|
||||
using namespace mozilla;
|
||||
using namespace mozilla::dom;
|
||||
|
@ -2340,7 +2341,7 @@ nsIDocument::ResetToURI(nsIURI* aURI,
|
|||
// Inform the associated request context about this load start so
|
||||
// any of its internal load progress flags gets reset.
|
||||
nsCOMPtr<nsIRequestContextService> rcsvc =
|
||||
do_GetService("@mozilla.org/network/request-context-service;1");
|
||||
mozilla::net::RequestContextService::GetOrCreate();
|
||||
if (rcsvc) {
|
||||
nsCOMPtr<nsIRequestContext> rc;
|
||||
rcsvc->GetRequestContextFromLoadGroup(aLoadGroup, getter_AddRefs(rc));
|
||||
|
|
|
@ -15,8 +15,10 @@
|
|||
#include "RequestContextService.h"
|
||||
|
||||
#include "mozilla/Atomics.h"
|
||||
#include "mozilla/ClearOnShutdown.h"
|
||||
#include "mozilla/Logging.h"
|
||||
#include "mozilla/Services.h"
|
||||
#include "mozilla/StaticPtr.h"
|
||||
#include "mozilla/TimeStamp.h"
|
||||
|
||||
#include "mozilla/net/NeckoChild.h"
|
||||
|
@ -32,6 +34,8 @@ LazyLogModule gRequestContextLog("RequestContext");
|
|||
#undef LOG
|
||||
#define LOG(args) MOZ_LOG(gRequestContextLog, LogLevel::Info, args)
|
||||
|
||||
static StaticRefPtr<RequestContextService> gSingleton;
|
||||
|
||||
// This is used to prevent adding tail pending requests after shutdown
|
||||
static bool sShutdown = false;
|
||||
|
||||
|
@ -518,19 +522,23 @@ RequestContextService::Shutdown()
|
|||
sShutdown = true;
|
||||
}
|
||||
|
||||
/* static */ nsresult
|
||||
RequestContextService::Create(nsISupports *aOuter, const nsIID& aIID, void **aResult)
|
||||
/* static */ already_AddRefed<nsIRequestContextService>
|
||||
RequestContextService::GetOrCreate()
|
||||
{
|
||||
MOZ_ASSERT(NS_IsMainThread());
|
||||
if (aOuter != nullptr) {
|
||||
return NS_ERROR_NO_AGGREGATION;
|
||||
|
||||
RefPtr<RequestContextService> svc;
|
||||
if (gSingleton) {
|
||||
svc = gSingleton;
|
||||
} else {
|
||||
svc = new RequestContextService();
|
||||
nsresult rv = svc->Init();
|
||||
NS_ENSURE_SUCCESS(rv, nullptr);
|
||||
gSingleton = svc;
|
||||
ClearOnShutdown(&gSingleton);
|
||||
}
|
||||
|
||||
RefPtr<RequestContextService> svc = new RequestContextService();
|
||||
nsresult rv = svc->Init();
|
||||
NS_ENSURE_SUCCESS(rv, rv);
|
||||
|
||||
return svc->QueryInterface(aIID, aResult);
|
||||
return svc.forget();
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
|
|
|
@ -24,14 +24,14 @@ public:
|
|||
NS_DECL_NSIREQUESTCONTEXTSERVICE
|
||||
NS_DECL_NSIOBSERVER
|
||||
|
||||
static already_AddRefed<nsIRequestContextService> GetOrCreate();
|
||||
|
||||
private:
|
||||
RequestContextService();
|
||||
virtual ~RequestContextService();
|
||||
|
||||
nsresult Init();
|
||||
void Shutdown();
|
||||
static nsresult Create(nsISupports *outer, const nsIID& iid, void **result);
|
||||
|
||||
private:
|
||||
virtual ~RequestContextService();
|
||||
|
||||
static RequestContextService *sSelf;
|
||||
|
||||
|
|
|
@ -177,6 +177,7 @@ EXPORTS.mozilla.net += [
|
|||
'Predictor.h',
|
||||
'RedirectChannelRegistrar.h',
|
||||
'ReferrerPolicy.h',
|
||||
'RequestContextService.h',
|
||||
'SimpleChannelParent.h',
|
||||
'TCPFastOpen.h',
|
||||
]
|
||||
|
|
|
@ -21,6 +21,7 @@
|
|||
#include "nsIRequestContext.h"
|
||||
#include "CacheObserver.h"
|
||||
#include "MainThreadUtils.h"
|
||||
#include "RequestContextService.h"
|
||||
#include "mozilla/Unused.h"
|
||||
|
||||
namespace mozilla {
|
||||
|
@ -1056,7 +1057,7 @@ nsresult nsLoadGroup::MergeDefaultLoadFlags(nsIRequest *aRequest,
|
|||
|
||||
nsresult nsLoadGroup::Init()
|
||||
{
|
||||
mRequestContextService = do_GetService("@mozilla.org/network/request-context-service;1");
|
||||
mRequestContextService = RequestContextService::GetOrCreate();
|
||||
if (mRequestContextService) {
|
||||
Unused << mRequestContextService->NewRequestContext(getter_AddRefs(mRequestContext));
|
||||
}
|
||||
|
|
|
@ -485,17 +485,6 @@
|
|||
{ 0x92, 0x05, 0xc3, 0x09, 0xce, 0xb2, 0xd6, 0x41 } \
|
||||
}
|
||||
|
||||
// service implementing nsIRequestContextService
|
||||
#define NS_REQUESTCONTEXTSERVICE_CONTRACTID \
|
||||
"@mozilla.org/network/request-context-service;1"
|
||||
#define NS_REQUESTCONTEXTSERVICE_CID \
|
||||
{ /* d5499fa7-7ba8-49ff-9e30-1858b99ace69 */ \
|
||||
0xd5499fa7, \
|
||||
0x7ba8, \
|
||||
0x49ff, \
|
||||
{0x93, 0x30, 0x18, 0x58, 0xb9, 0x9a, 0xce, 0x69} \
|
||||
}
|
||||
|
||||
/******************************************************************************
|
||||
* netwerk/cache/ classes
|
||||
*/
|
||||
|
|
|
@ -148,10 +148,6 @@ namespace net {
|
|||
} // namespace net
|
||||
} // namespace mozilla
|
||||
|
||||
#include "RequestContextService.h"
|
||||
typedef mozilla::net::RequestContextService RequestContextService;
|
||||
NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(RequestContextService, Init)
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
extern nsresult
|
||||
|
@ -754,7 +750,6 @@ NS_DEFINE_NAMED_CID(NS_CACHE_STORAGE_SERVICE_CID);
|
|||
NS_DEFINE_NAMED_CID(NS_NSILOADCONTEXTINFOFACTORY_CID);
|
||||
NS_DEFINE_NAMED_CID(NS_NETWORKPREDICTOR_CID);
|
||||
NS_DEFINE_NAMED_CID(NS_CAPTIVEPORTAL_CID);
|
||||
NS_DEFINE_NAMED_CID(NS_REQUESTCONTEXTSERVICE_CID);
|
||||
#ifdef BUILD_NETWORK_INFO_SERVICE
|
||||
NS_DEFINE_NAMED_CID(NETWORKINFOSERVICE_CID);
|
||||
#endif // BUILD_NETWORK_INFO_SERVICE
|
||||
|
@ -872,7 +867,6 @@ static const mozilla::Module::CIDEntry kNeckoCIDs[] = {
|
|||
{ &kNS_NSILOADCONTEXTINFOFACTORY_CID, false, nullptr, LoadContextInfoFactoryConstructor },
|
||||
{ &kNS_NETWORKPREDICTOR_CID, false, nullptr, mozilla::net::Predictor::Create },
|
||||
{ &kNS_CAPTIVEPORTAL_CID, false, nullptr, mozilla::net::nsICaptivePortalServiceConstructor },
|
||||
{ &kNS_REQUESTCONTEXTSERVICE_CID, false, nullptr, RequestContextServiceConstructor },
|
||||
#ifdef BUILD_NETWORK_INFO_SERVICE
|
||||
{ &kNETWORKINFOSERVICE_CID, false, nullptr, nsNetworkInfoServiceConstructor },
|
||||
#endif
|
||||
|
@ -990,7 +984,6 @@ static const mozilla::Module::ContractIDEntry kNeckoContracts[] = {
|
|||
{ NS_NSILOADCONTEXTINFOFACTORY_CONTRACTID, &kNS_NSILOADCONTEXTINFOFACTORY_CID },
|
||||
{ NS_NETWORKPREDICTOR_CONTRACTID, &kNS_NETWORKPREDICTOR_CID },
|
||||
{ NS_CAPTIVEPORTAL_CONTRACTID, &kNS_CAPTIVEPORTAL_CID },
|
||||
{ NS_REQUESTCONTEXTSERVICE_CONTRACTID, &kNS_REQUESTCONTEXTSERVICE_CID },
|
||||
#ifdef BUILD_NETWORK_INFO_SERVICE
|
||||
{ NETWORKINFOSERVICE_CONTRACT_ID, &kNETWORKINFOSERVICE_CID },
|
||||
#endif
|
||||
|
|
|
@ -26,6 +26,7 @@
|
|||
#include "mozilla/net/DNSRequestParent.h"
|
||||
#include "mozilla/net/ChannelDiverterParent.h"
|
||||
#include "mozilla/net/IPCTransportProvider.h"
|
||||
#include "mozilla/net/RequestContextService.h"
|
||||
#include "mozilla/net/TrackingDummyChannelParent.h"
|
||||
#ifdef MOZ_WEBRTC
|
||||
#include "mozilla/net/StunAddrsRequestParent.h"
|
||||
|
@ -898,7 +899,7 @@ mozilla::ipc::IPCResult
|
|||
NeckoParent::RecvRequestContextLoadBegin(const uint64_t& rcid)
|
||||
{
|
||||
nsCOMPtr<nsIRequestContextService> rcsvc =
|
||||
do_GetService("@mozilla.org/network/request-context-service;1");
|
||||
RequestContextService::GetOrCreate();
|
||||
if (!rcsvc) {
|
||||
return IPC_OK();
|
||||
}
|
||||
|
@ -915,7 +916,7 @@ mozilla::ipc::IPCResult
|
|||
NeckoParent::RecvRequestContextAfterDOMContentLoaded(const uint64_t& rcid)
|
||||
{
|
||||
nsCOMPtr<nsIRequestContextService> rcsvc =
|
||||
do_GetService("@mozilla.org/network/request-context-service;1");
|
||||
RequestContextService::GetOrCreate();
|
||||
if (!rcsvc) {
|
||||
return IPC_OK();
|
||||
}
|
||||
|
@ -932,7 +933,7 @@ mozilla::ipc::IPCResult
|
|||
NeckoParent::RecvRemoveRequestContext(const uint64_t& rcid)
|
||||
{
|
||||
nsCOMPtr<nsIRequestContextService> rcsvc =
|
||||
do_GetService("@mozilla.org/network/request-context-service;1");
|
||||
RequestContextService::GetOrCreate();
|
||||
if (!rcsvc) {
|
||||
return IPC_OK();
|
||||
}
|
||||
|
|
|
@ -61,6 +61,7 @@
|
|||
|
||||
#include "mozilla/net/NeckoChild.h"
|
||||
#include "mozilla/net/NeckoParent.h"
|
||||
#include "mozilla/net/RequestContextService.h"
|
||||
#include "mozilla/ipc/URIUtils.h"
|
||||
#include "mozilla/Telemetry.h"
|
||||
#include "mozilla/Unused.h"
|
||||
|
@ -510,8 +511,7 @@ nsHttpHandler::Init()
|
|||
rv = InitConnectionMgr();
|
||||
if (NS_FAILED(rv)) return rv;
|
||||
|
||||
mRequestContextService =
|
||||
do_GetService("@mozilla.org/network/request-context-service;1");
|
||||
mRequestContextService = RequestContextService::GetOrCreate();
|
||||
|
||||
#if defined(ANDROID)
|
||||
mProductSub.AssignLiteral(MOZILLA_UAVERSION);
|
||||
|
|
Загрузка…
Ссылка в новой задаче