mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-19 08:15:31 +00:00
Bug 1602832 - P1: Run xpcshell tests without e10s with socket process r=dragana
Differential Revision: https://phabricator.services.mozilla.com/D58110
This commit is contained in:
parent
489d2dd3de
commit
e5f3047c48
@ -7705,7 +7705,7 @@
|
||||
# ("network.http.network_access_on_socket_process.enabled").
|
||||
# Changing these prefs requires a restart.
|
||||
- name: network.process.enabled
|
||||
type: bool
|
||||
type: RelaxedAtomicBool
|
||||
mirror: always
|
||||
#ifdef ANDROID
|
||||
value: false
|
||||
@ -7723,6 +7723,14 @@
|
||||
value: true
|
||||
mirror: always
|
||||
|
||||
# Perform all network access on the socket process.
|
||||
# The pref requires "network.process.enabled" to be true.
|
||||
# Changing these prefs requires a restart.
|
||||
- name: network.http.network_access_on_socket_process.enabled
|
||||
type: RelaxedAtomicBool
|
||||
mirror: always
|
||||
value: false
|
||||
|
||||
# Telemetry of traffic categories. Whether or not to enable HttpTrafficAnalyzer.
|
||||
- name: network.traffic_analyzer.enabled
|
||||
type: RelaxedAtomicBool
|
||||
|
@ -1584,11 +1584,6 @@ pref("network.sts.max_time_for_pr_close_during_shutdown", 5000);
|
||||
// The value is expected in seconds.
|
||||
pref("network.sts.pollable_event_timeout", 6);
|
||||
|
||||
// Perform all network access on the socket process.
|
||||
// The pref requires "network.sts.socket_process.enable" to be true.
|
||||
// Changing these prefs requires a restart.
|
||||
pref("network.http.network_access_on_socket_process.enabled", false);
|
||||
|
||||
// Enable/disable sni encryption.
|
||||
pref("network.security.esni.enabled", false);
|
||||
|
||||
|
@ -283,7 +283,6 @@ nsresult nsIOService::Init() {
|
||||
observerService->AddObserver(this, NS_NETWORK_LINK_TOPIC, true);
|
||||
observerService->AddObserver(this, NS_NETWORK_ID_CHANGED_TOPIC, true);
|
||||
observerService->AddObserver(this, NS_WIDGET_WAKE_OBSERVER_TOPIC, true);
|
||||
observerService->AddObserver(this, NS_PREFSERVICE_READ_TOPIC_ID, true);
|
||||
} else
|
||||
NS_WARNING("failed to get observer service");
|
||||
|
||||
@ -457,11 +456,6 @@ nsresult nsIOService::LaunchSocketProcess() {
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
if (!XRE_IsE10sParentProcess()) {
|
||||
LOG(("nsIOService skipping LaunchSocketProcess because e10s is disabled"));
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
if (!Preferences::GetBool("network.process.enabled", true)) {
|
||||
LOG(("nsIOService skipping LaunchSocketProcess because of the pref"));
|
||||
return NS_OK;
|
||||
@ -507,15 +501,16 @@ static bool sUseSocketProcess = false;
|
||||
static bool sUseSocketProcessChecked = false;
|
||||
|
||||
// static
|
||||
bool nsIOService::UseSocketProcess() {
|
||||
if (sUseSocketProcessChecked) {
|
||||
bool nsIOService::UseSocketProcess(bool aCheckAgain) {
|
||||
if (sUseSocketProcessChecked && !aCheckAgain) {
|
||||
return sUseSocketProcess;
|
||||
}
|
||||
|
||||
sUseSocketProcessChecked = true;
|
||||
if (Preferences::GetBool("network.process.enabled")) {
|
||||
sUseSocketProcess = Preferences::GetBool(
|
||||
"network.http.network_access_on_socket_process.enabled", true);
|
||||
sUseSocketProcess = false;
|
||||
if (StaticPrefs::network_process_enabled()) {
|
||||
sUseSocketProcess =
|
||||
StaticPrefs::network_http_network_access_on_socket_process_enabled();
|
||||
}
|
||||
return sUseSocketProcess;
|
||||
}
|
||||
@ -1524,10 +1519,7 @@ nsIOService::Observe(nsISupports* subject, const char* topic,
|
||||
SetOffline(false);
|
||||
}
|
||||
} else if (!strcmp(topic, kProfileDoChange)) {
|
||||
if (!data) {
|
||||
return NS_OK;
|
||||
}
|
||||
if (NS_LITERAL_STRING("startup").Equals(data)) {
|
||||
if (data && NS_LITERAL_STRING("startup").Equals(data)) {
|
||||
// Lazy initialization of network link service (see bug 620472)
|
||||
InitializeNetworkLinkService();
|
||||
// Set up the initilization flag regardless the actuall result.
|
||||
@ -1542,9 +1534,6 @@ nsIOService::Observe(nsISupports* subject, const char* topic,
|
||||
// before something calls into the cookie service.
|
||||
nsCOMPtr<nsISupports> cookieServ =
|
||||
do_GetService(NS_COOKIESERVICE_CONTRACTID);
|
||||
} else if (NS_LITERAL_STRING("xpcshell-do-get-profile").Equals(data)) {
|
||||
// xpcshell doesn't read user profile.
|
||||
LaunchSocketProcess();
|
||||
}
|
||||
} else if (!strcmp(topic, NS_XPCOM_SHUTDOWN_OBSERVER_ID)) {
|
||||
// Remember we passed XPCOM shutdown notification to prevent any
|
||||
@ -1583,10 +1572,6 @@ nsIOService::Observe(nsISupports* subject, const char* topic,
|
||||
// https://bugzilla.mozilla.org/show_bug.cgi?id=1152048#c19
|
||||
nsCOMPtr<nsIRunnable> wakeupNotifier = new nsWakeupNotifier(this);
|
||||
NS_DispatchToMainThread(wakeupNotifier);
|
||||
} else if (!strcmp(topic, NS_PREFSERVICE_READ_TOPIC_ID)) {
|
||||
// Launch socket process after we load user's pref. This is to make sure
|
||||
// that socket process can get the latest prefs.
|
||||
LaunchSocketProcess();
|
||||
}
|
||||
|
||||
return NS_OK;
|
||||
|
@ -124,7 +124,7 @@ class nsIOService final : public nsIIOService,
|
||||
bool SocketProcessReady();
|
||||
static void NotifySocketProcessPrefsChanged(const char* aName, void* aSelf);
|
||||
void NotifySocketProcessPrefsChanged(const char* aName);
|
||||
static bool UseSocketProcess();
|
||||
static bool UseSocketProcess(bool aCheckAgain = false);
|
||||
|
||||
bool IsSocketProcessLaunchComplete();
|
||||
|
||||
@ -141,6 +141,8 @@ class nsIOService final : public nsIIOService,
|
||||
|
||||
static void OnTLSPrefChange(const char* aPref, void* aSelf);
|
||||
|
||||
nsresult LaunchSocketProcess();
|
||||
|
||||
private:
|
||||
// These shouldn't be called directly:
|
||||
// - construct using GetInstance
|
||||
@ -191,7 +193,6 @@ class nsIOService final : public nsIIOService,
|
||||
nsIInterfaceRequestor* aCallbacks,
|
||||
bool aAnonymous);
|
||||
|
||||
nsresult LaunchSocketProcess();
|
||||
void DestroySocketProcess();
|
||||
|
||||
private:
|
||||
|
@ -445,6 +445,8 @@ nsresult nsHttpHandler::Init() {
|
||||
mIOService = new nsMainThreadPtrHolder<nsIIOService>(
|
||||
"nsHttpHandler::mIOService", service);
|
||||
|
||||
gIOService->LaunchSocketProcess();
|
||||
|
||||
if (IsNeckoChild()) NeckoChild::InitNeckoChild();
|
||||
|
||||
InitUserAgentComponents();
|
||||
@ -594,7 +596,7 @@ nsresult nsHttpHandler::InitConnectionMgr() {
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
if (nsIOService::UseSocketProcess() && XRE_IsParentProcess()) {
|
||||
if (nsIOService::UseSocketProcess(true) && XRE_IsParentProcess()) {
|
||||
mConnMgr = new HttpConnectionMgrParent();
|
||||
RefPtr<nsHttpHandler> self = this;
|
||||
auto task = [self]() {
|
||||
|
Loading…
Reference in New Issue
Block a user