From 610102536857f5370c76aa1284e79bdba1a2fc93 Mon Sep 17 00:00:00 2001 From: Shelley Vohr Date: Fri, 22 Aug 2025 14:30:41 +0200 Subject: [PATCH] fix: `net.isOnline` always true in utility processes (#48111) * fix: net.isOnline always true in utilityProcesses * Update shell/services/node/node_service.cc Co-authored-by: Robo --------- Co-authored-by: Robo --- shell/services/node/node_service.cc | 5 +++++ shell/services/node/node_service.h | 3 +++ 2 files changed, 8 insertions(+) diff --git a/shell/services/node/node_service.cc b/shell/services/node/node_service.cc index e983ea293d..11a4a34fc9 100644 --- a/shell/services/node/node_service.cc +++ b/shell/services/node/node_service.cc @@ -12,6 +12,7 @@ #include "base/process/process.h" #include "base/strings/utf_string_conversions.h" #include "electron/mas.h" +#include "net/base/network_change_notifier.h" #include "services/network/public/cpp/wrapper_shared_url_loader_factory.h" #include "services/network/public/mojom/host_resolver.mojom.h" #include "services/network/public/mojom/network_context.mojom.h" @@ -127,6 +128,10 @@ void NodeService::Initialize( node_bindings_->Initialize(isolate, isolate->GetCurrentContext()); + network_change_notifier_ = net::NetworkChangeNotifier::CreateIfNeeded( + net::NetworkChangeNotifier::CONNECTION_UNKNOWN, + net::NetworkChangeNotifier::ConnectionSubtype::SUBTYPE_UNKNOWN); + // Append program path for process.argv0 auto program = base::CommandLine::ForCurrentProcess()->GetProgram(); #if defined(OS_WIN) diff --git a/shell/services/node/node_service.h b/shell/services/node/node_service.h index d6e3edd092..57b9a214fe 100644 --- a/shell/services/node/node_service.h +++ b/shell/services/node/node_service.h @@ -11,6 +11,7 @@ #include "mojo/public/cpp/bindings/pending_remote.h" #include "mojo/public/cpp/bindings/receiver.h" #include "mojo/public/cpp/bindings/remote.h" +#include "net/base/network_change_notifier.h" #include "services/network/public/cpp/shared_url_loader_factory.h" #include "services/network/public/mojom/host_resolver.mojom.h" #include "services/network/public/mojom/url_loader_factory.mojom-forward.h" @@ -84,6 +85,8 @@ class NodeService : public node::mojom::NodeService { // depends-on: js_env_'s isolate std::shared_ptr node_env_; + + std::unique_ptr network_change_notifier_; }; } // namespace electron