feat: add new runningUnderARM64Translation property to detect x64 translated apps running on Windows ARM (#29168)

* feat: add new runningUnderARM64Translation property to detect x64 translated apps running on Windows ARM

* docs: add documentation for the new runningUnderARM64Translation property

* refactor: clean up `IsRunningUnderARM64Translation` Windows implementation

* Return false if IsWow64Process2 doesn't exist

* Emit deprecation warning in runningUnderRosettaTranslation
This commit is contained in:
Sergio Padrino 2021-06-02 09:16:33 +02:00 committed by GitHub
parent 3b75549511
commit abf6f5c8ba
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 69 additions and 1 deletions

View file

@ -60,6 +60,17 @@ void App::SetActivationPolicy(gin_helper::ErrorThrower thrower,
}
bool App::IsRunningUnderRosettaTranslation() const {
node::Environment* env =
node::Environment::GetCurrent(JavascriptEnvironment::GetIsolate());
EmitWarning(env,
"The app.runningUnderRosettaTranslation API is deprecated, use "
"app.runningUnderARM64Translation instead.",
"electron");
return IsRunningUnderARM64Translation();
}
bool App::IsRunningUnderARM64Translation() const {
int proc_translated = 0;
size_t size = sizeof(proc_translated);
if (sysctlbyname("sysctl.proc_translated", &proc_translated, &size, NULL,