introspect: Use MetaContext:unsafe-mode instead of setting

The property was added precisely for this purpose, except that its
name isn't tied to the introspect API.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/3943

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1970>
This commit is contained in:
Florian Müllner 2021-09-01 21:18:42 +02:00 committed by Marge Bot
parent 3b9e672a09
commit 317f0f5fe0

View File

@ -1,8 +1,6 @@
/* exported IntrospectService */
const { Gio, GLib, Meta, Shell, St } = imports.gi;
const INTROSPECT_SCHEMA = 'org.gnome.shell';
const INTROSPECT_KEY = 'introspect';
const APP_ALLOWLIST = [
'org.freedesktop.impl.portal.desktop.gtk',
'org.freedesktop.impl.portal.desktop.gnome',
@ -36,10 +34,6 @@ var IntrospectService = class {
this._syncRunningApplications();
});
this._introspectSettings = new Gio.Settings({
schema_id: INTROSPECT_SCHEMA,
});
let tracker = Shell.WindowTracker.get_default();
tracker.connect('notify::focus-app',
() => {
@ -73,10 +67,6 @@ var IntrospectService = class {
return app.get_windows().some(w => w.transient_for == null);
}
_isIntrospectEnabled() {
return this._introspectSettings.get_boolean(INTROSPECT_KEY);
}
_isSenderAllowed(sender) {
return [...this._allowlistMap.values()].includes(sender);
}
@ -138,7 +128,7 @@ var IntrospectService = class {
}
_checkInvocation(invocation) {
if (this._isIntrospectEnabled())
if (global.context.unsafe_mode)
return;
if (this._isSenderAllowed(invocation.get_sender()))