mirror of
https://github.com/edu4rdshl/gnome-shell.git
synced 2026-07-18 07:34:54 +00:00
introspect: Make invocation check error-based
If we throw an error when the invocation isn't allowed instead of returning false, we can simply return that error instead of duplicating the error handling. Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1970>
This commit is contained in:
parent
7298ee23e9
commit
3b9e672a09
1 changed files with 14 additions and 12 deletions
|
|
@ -137,21 +137,23 @@ var IntrospectService = class {
|
|||
type == Meta.WindowType.UTILITY;
|
||||
}
|
||||
|
||||
_isInvocationAllowed(invocation) {
|
||||
_checkInvocation(invocation) {
|
||||
if (this._isIntrospectEnabled())
|
||||
return true;
|
||||
return;
|
||||
|
||||
if (this._isSenderAllowed(invocation.get_sender()))
|
||||
return true;
|
||||
return;
|
||||
|
||||
return false;
|
||||
throw new GLib.Error(Gio.DBusError,
|
||||
Gio.DBusError.ACCESS_DENIED,
|
||||
'App introspection not allowed');
|
||||
}
|
||||
|
||||
GetRunningApplicationsAsync(params, invocation) {
|
||||
if (!this._isInvocationAllowed(invocation)) {
|
||||
invocation.return_error_literal(Gio.DBusError,
|
||||
Gio.DBusError.ACCESS_DENIED,
|
||||
'App introspection not allowed');
|
||||
try {
|
||||
this._checkInvocation(invocation);
|
||||
} catch (e) {
|
||||
invocation.return_gerror(e);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -163,10 +165,10 @@ var IntrospectService = class {
|
|||
let apps = this._appSystem.get_running();
|
||||
let windowsList = {};
|
||||
|
||||
if (!this._isInvocationAllowed(invocation)) {
|
||||
invocation.return_error_literal(Gio.DBusError,
|
||||
Gio.DBusError.ACCESS_DENIED,
|
||||
'App introspection not allowed');
|
||||
try {
|
||||
this._checkInvocation(invocation);
|
||||
} catch (e) {
|
||||
invocation.return_gerror(e);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue