[gnome-shell] introspect: Make invocation check error-based
- From: Marge Bot <marge-bot src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell] introspect: Make invocation check error-based
- Date: Fri, 3 Sep 2021 21:44:30 +0000 (UTC)
commit 3b9e672a09dc6cdd997a579be9b310b60dcbb7bc
Author: Florian Müllner <fmuellner gnome org>
Date: Thu Sep 2 16:23:38 2021 +0200
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>
js/misc/introspect.js | 26 ++++++++++++++------------
1 file changed, 14 insertions(+), 12 deletions(-)
---
diff --git a/js/misc/introspect.js b/js/misc/introspect.js
index 85f491a693..3cb021cb1f 100644
--- a/js/misc/introspect.js
+++ b/js/misc/introspect.js
@@ -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;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]