feat: expose app accessibility status api (#16119)
* feat: expose app accessibility status api * fix prompt
This commit is contained in:
parent
dc93d94bc8
commit
a58d989b60
4 changed files with 15 additions and 0 deletions
|
@ -89,6 +89,8 @@ void SystemPreferences::BuildPrototype(
|
||||||
&SystemPreferences::GetAppLevelAppearance)
|
&SystemPreferences::GetAppLevelAppearance)
|
||||||
.SetMethod("setAppLevelAppearance",
|
.SetMethod("setAppLevelAppearance",
|
||||||
&SystemPreferences::SetAppLevelAppearance)
|
&SystemPreferences::SetAppLevelAppearance)
|
||||||
|
.SetMethod("isTrustedAccessibilityClient",
|
||||||
|
&SystemPreferences::IsTrustedAccessibilityClient)
|
||||||
.SetMethod("getMediaAccessStatus",
|
.SetMethod("getMediaAccessStatus",
|
||||||
&SystemPreferences::GetMediaAccessStatus)
|
&SystemPreferences::GetMediaAccessStatus)
|
||||||
.SetMethod("askForMediaAccess", &SystemPreferences::AskForMediaAccess)
|
.SetMethod("askForMediaAccess", &SystemPreferences::AskForMediaAccess)
|
||||||
|
|
|
@ -92,6 +92,8 @@ class SystemPreferences : public mate::EventEmitter<SystemPreferences>
|
||||||
void RemoveUserDefault(const std::string& name);
|
void RemoveUserDefault(const std::string& name);
|
||||||
bool IsSwipeTrackingFromScrollEventsEnabled();
|
bool IsSwipeTrackingFromScrollEventsEnabled();
|
||||||
|
|
||||||
|
bool IsTrustedAccessibilityClient(bool prompt);
|
||||||
|
|
||||||
// TODO(codebytere): Write tests for these methods once we
|
// TODO(codebytere): Write tests for these methods once we
|
||||||
// are running tests on a Mojave machine
|
// are running tests on a Mojave machine
|
||||||
std::string GetMediaAccessStatus(const std::string& media_type,
|
std::string GetMediaAccessStatus(const std::string& media_type,
|
||||||
|
|
|
@ -378,6 +378,11 @@ void SystemPreferences::SetUserDefault(const std::string& name,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool SystemPreferences::IsTrustedAccessibilityClient(bool prompt) {
|
||||||
|
NSDictionary* options = @{(id)kAXTrustedCheckOptionPrompt : @(prompt)};
|
||||||
|
return AXIsProcessTrustedWithOptions((CFDictionaryRef)options);
|
||||||
|
}
|
||||||
|
|
||||||
std::string SystemPreferences::GetMediaAccessStatus(
|
std::string SystemPreferences::GetMediaAccessStatus(
|
||||||
const std::string& media_type,
|
const std::string& media_type,
|
||||||
mate::Arguments* args) {
|
mate::Arguments* args) {
|
||||||
|
|
|
@ -327,6 +327,12 @@ You can use the `setAppLevelAppearance` API to set this value.
|
||||||
Sets the appearance setting for your application, this should override the
|
Sets the appearance setting for your application, this should override the
|
||||||
system default and override the value of `getEffectiveAppearance`.
|
system default and override the value of `getEffectiveAppearance`.
|
||||||
|
|
||||||
|
### `systemPreferences.isTrustedAccessibilityClient(prompt)` _macOS_
|
||||||
|
|
||||||
|
* `prompt` Boolean - whether or not the user will be informed via prompt if the current process is untrusted.
|
||||||
|
|
||||||
|
Returns `Boolean` - `true` if the current process is a trusted accessibility client and `false` if it is not.
|
||||||
|
|
||||||
### `systemPreferences.getMediaAccessStatus(mediaType)` _macOS_
|
### `systemPreferences.getMediaAccessStatus(mediaType)` _macOS_
|
||||||
|
|
||||||
* `mediaType` String - `microphone` or `camera`.
|
* `mediaType` String - `microphone` or `camera`.
|
||||||
|
|
Loading…
Reference in a new issue