commit f272d11a69d5f9e01cd1ce15d5757a21dc8035a2
parent 8bc7f4beac1c93f7e93d1426c5354e8b1b5b3b0c
Author: Randell Jesup <rjesup@mozilla.com>
Date: Wed, 3 Dec 2025 13:29:36 +0000
Bug 1995869: Initialize DNS earlier in IOService init r=necko-reviewers,valentin
Differential Revision: https://phabricator.services.mozilla.com/D271532
Diffstat:
2 files changed, 8 insertions(+), 0 deletions(-)
diff --git a/netwerk/base/nsIOService.cpp b/netwerk/base/nsIOService.cpp
@@ -262,6 +262,7 @@ static const char* gCallbackPrefsForSocketProcess[] = {
"network.lna.address_space.public.override",
"network.lna.websocket.enabled",
"network.lna.local-network-to-localhost.skip-checks",
+ "network.socket.forcePort",
nullptr,
};
@@ -333,6 +334,11 @@ nsresult nsIOService::Init() {
InitializeNetworkLinkService();
InitializeProtocolProxyService();
+ // This is just to start the DNS service to make it fast to get later.
+ // Don't invoke directly since we're already in GetService. RefPtr needed
+ // because already_AddRefed<> doesn't like to be dropped
+ NS_DispatchToCurrentThread(NS_NewRunnableFunction(
+ __func__, []() { RefPtr<nsIDNSService> dns = GetOrInitDNSService(); }));
SetOffline(false);
diff --git a/toolkit/components/backgroundtasks/tests/browser/browser_xpcom_graph_wait.js b/toolkit/components/backgroundtasks/tests/browser/browser_xpcom_graph_wait.js
@@ -61,6 +61,8 @@ const backgroundtaskPhases = {
"@mozilla.org/layout/content-policy;1",
"@mozilla.org/memory-reporter-manager;1",
"@mozilla.org/network/captive-portal-service;1",
+ "@mozilla.org/network/dns-service;1",
+ "@mozilla.org/network/oblivious-http-service;1",
"@mozilla.org/network/effective-tld-service;1",
"@mozilla.org/network/idn-service;1",
"@mozilla.org/network/io-service;1",