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