Bug 1647759 - P2: Send connectivity status to socket process r=dragana
Differential Revision: https://phabricator.services.mozilla.com/D82352
This commit is contained in:
@@ -223,6 +223,7 @@ static const char* gCallbackPrefsForSocketProcess[] = {
|
||||
"network.trr.",
|
||||
"network.dns.disableIPv6",
|
||||
"network.dns.skipTRR-when-parental-control-enabled",
|
||||
"network.offline-mirrors-connectivity",
|
||||
nullptr,
|
||||
};
|
||||
|
||||
@@ -1369,6 +1370,9 @@ nsresult nsIOService::SetConnectivityInternal(bool aConnectivity) {
|
||||
observerService->NotifyObservers(nullptr,
|
||||
NS_IPC_IOSERVICE_SET_CONNECTIVITY_TOPIC,
|
||||
aConnectivity ? u"true" : u"false");
|
||||
if (SocketProcessReady()) {
|
||||
Unused << mSocketProcess->GetActor()->SendSetConnectivity(aConnectivity);
|
||||
}
|
||||
}
|
||||
|
||||
if (mOffline) {
|
||||
|
||||
@@ -131,6 +131,7 @@ child:
|
||||
bool minimizeMemoryUsage,
|
||||
FileDescriptor? DMDFile);
|
||||
async SetOffline(bool offline);
|
||||
async SetConnectivity(bool connectivity);
|
||||
async InitLinuxSandbox(FileDescriptor? sandboxBroker);
|
||||
async InitSocketProcessBridgeParent(ProcessId processId, Endpoint<PSocketProcessBridgeParent> endpoint);
|
||||
async InitProfiler(Endpoint<PProfilerChild> aEndpoint);
|
||||
|
||||
@@ -221,6 +221,17 @@ mozilla::ipc::IPCResult SocketProcessChild::RecvSetOffline(
|
||||
return IPC_OK();
|
||||
}
|
||||
|
||||
mozilla::ipc::IPCResult SocketProcessChild::RecvSetConnectivity(
|
||||
const bool& aConnectivity) {
|
||||
nsCOMPtr<nsIIOService> io(do_GetIOService());
|
||||
nsCOMPtr<nsIIOServiceInternal> ioInternal(do_QueryInterface(io));
|
||||
NS_ASSERTION(ioInternal, "IO Service can not be null");
|
||||
|
||||
ioInternal->SetConnectivity(aConnectivity);
|
||||
|
||||
return IPC_OK();
|
||||
}
|
||||
|
||||
mozilla::ipc::IPCResult SocketProcessChild::RecvInitLinuxSandbox(
|
||||
const Maybe<ipc::FileDescriptor>& aBrokerFd) {
|
||||
#if defined(XP_LINUX) && defined(MOZ_SANDBOX)
|
||||
|
||||
@@ -44,6 +44,7 @@ class SocketProcessChild final
|
||||
const bool& minimizeMemoryUsage,
|
||||
const Maybe<mozilla::ipc::FileDescriptor>& DMDFile);
|
||||
mozilla::ipc::IPCResult RecvSetOffline(const bool& aOffline);
|
||||
mozilla::ipc::IPCResult RecvSetConnectivity(const bool& aConnectivity);
|
||||
mozilla::ipc::IPCResult RecvInitLinuxSandbox(
|
||||
const Maybe<ipc::FileDescriptor>& aBrokerFd);
|
||||
mozilla::ipc::IPCResult RecvInitSocketProcessBridgeParent(
|
||||
|
||||
Reference in New Issue
Block a user