Guard appomni/greomni with UXP_CUSTOM_OMNI env var.

master
Fedor 2020-02-23 00:30:02 +02:00 committed by Fedor
parent 7c26515f2c
commit 9679fd7d72
2 changed files with 39 additions and 34 deletions

View File

@ -712,6 +712,7 @@ GeckoChildProcessHost::PerformAsyncLaunchInternal(std::vector<std::string>& aExt
if (Omnijar::IsInitialized()) {
// Make sure that child processes can find the omnijar
// See XRE_InitCommandLine in nsAppRunner.cpp
newEnvVars["UXP_CUSTOM_OMNI"] = 1;
nsAutoCString path;
nsCOMPtr<nsIFile> file = Omnijar::GetPath(Omnijar::GRE);
if (file && NS_SUCCEEDED(file->GetNativePath(path))) {

View File

@ -4158,6 +4158,8 @@ XRE_InitCommandLine(int aArgc, char* aArgv[])
delete[] canonArgs;
#endif
if (PR_GetEnv("UXP_CUSTOM_OMNI")) {
// Process CLI parameters for specifying custom omnijars
const char *path = nullptr;
ArgResult ar = CheckArg("greomni", true, &path);
if (ar == ARG_BAD) {
@ -4197,6 +4199,8 @@ XRE_InitCommandLine(int aArgc, char* aArgv[])
}
mozilla::Omnijar::Init(greOmni, appOmni);
} // UXP_CUSTOM_OMNI
return rv;
}