commit ccd78dcad6a836356b4ae309929ad3a35bfa1b57
parent aa8403be4bbd78a9da654f88dfd8e3fb477afc6f
Author: Randell Jesup <rjesup@mozilla.com>
Date: Tue, 2 Dec 2025 04:01:22 +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, 7 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,7 @@ 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/effective-tld-service;1",
"@mozilla.org/network/idn-service;1",
"@mozilla.org/network/io-service;1",