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.trr.",
|
||||||
"network.dns.disableIPv6",
|
"network.dns.disableIPv6",
|
||||||
"network.dns.skipTRR-when-parental-control-enabled",
|
"network.dns.skipTRR-when-parental-control-enabled",
|
||||||
|
"network.offline-mirrors-connectivity",
|
||||||
nullptr,
|
nullptr,
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -1369,6 +1370,9 @@ nsresult nsIOService::SetConnectivityInternal(bool aConnectivity) {
|
|||||||
observerService->NotifyObservers(nullptr,
|
observerService->NotifyObservers(nullptr,
|
||||||
NS_IPC_IOSERVICE_SET_CONNECTIVITY_TOPIC,
|
NS_IPC_IOSERVICE_SET_CONNECTIVITY_TOPIC,
|
||||||
aConnectivity ? u"true" : u"false");
|
aConnectivity ? u"true" : u"false");
|
||||||
|
if (SocketProcessReady()) {
|
||||||
|
Unused << mSocketProcess->GetActor()->SendSetConnectivity(aConnectivity);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (mOffline) {
|
if (mOffline) {
|
||||||
|
|||||||
@@ -131,6 +131,7 @@ child:
|
|||||||
bool minimizeMemoryUsage,
|
bool minimizeMemoryUsage,
|
||||||
FileDescriptor? DMDFile);
|
FileDescriptor? DMDFile);
|
||||||
async SetOffline(bool offline);
|
async SetOffline(bool offline);
|
||||||
|
async SetConnectivity(bool connectivity);
|
||||||
async InitLinuxSandbox(FileDescriptor? sandboxBroker);
|
async InitLinuxSandbox(FileDescriptor? sandboxBroker);
|
||||||
async InitSocketProcessBridgeParent(ProcessId processId, Endpoint<PSocketProcessBridgeParent> endpoint);
|
async InitSocketProcessBridgeParent(ProcessId processId, Endpoint<PSocketProcessBridgeParent> endpoint);
|
||||||
async InitProfiler(Endpoint<PProfilerChild> aEndpoint);
|
async InitProfiler(Endpoint<PProfilerChild> aEndpoint);
|
||||||
|
|||||||
@@ -221,6 +221,17 @@ mozilla::ipc::IPCResult SocketProcessChild::RecvSetOffline(
|
|||||||
return IPC_OK();
|
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(
|
mozilla::ipc::IPCResult SocketProcessChild::RecvInitLinuxSandbox(
|
||||||
const Maybe<ipc::FileDescriptor>& aBrokerFd) {
|
const Maybe<ipc::FileDescriptor>& aBrokerFd) {
|
||||||
#if defined(XP_LINUX) && defined(MOZ_SANDBOX)
|
#if defined(XP_LINUX) && defined(MOZ_SANDBOX)
|
||||||
|
|||||||
@@ -44,6 +44,7 @@ class SocketProcessChild final
|
|||||||
const bool& minimizeMemoryUsage,
|
const bool& minimizeMemoryUsage,
|
||||||
const Maybe<mozilla::ipc::FileDescriptor>& DMDFile);
|
const Maybe<mozilla::ipc::FileDescriptor>& DMDFile);
|
||||||
mozilla::ipc::IPCResult RecvSetOffline(const bool& aOffline);
|
mozilla::ipc::IPCResult RecvSetOffline(const bool& aOffline);
|
||||||
|
mozilla::ipc::IPCResult RecvSetConnectivity(const bool& aConnectivity);
|
||||||
mozilla::ipc::IPCResult RecvInitLinuxSandbox(
|
mozilla::ipc::IPCResult RecvInitLinuxSandbox(
|
||||||
const Maybe<ipc::FileDescriptor>& aBrokerFd);
|
const Maybe<ipc::FileDescriptor>& aBrokerFd);
|
||||||
mozilla::ipc::IPCResult RecvInitSocketProcessBridgeParent(
|
mozilla::ipc::IPCResult RecvInitSocketProcessBridgeParent(
|
||||||
|
|||||||
Reference in New Issue
Block a user