gdmUtil: Collect services that determine the username in one place
Doing so, extensions don't need to reimplement entirely the AuthPrompt.reset() function just for adding their own credential service in the foreground service check. Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2399>
This commit is contained in:
parent
9671eb3ad8
commit
8e081a14d5
@ -7,8 +7,6 @@ const Animation = imports.ui.animation;
|
|||||||
const AuthList = imports.gdm.authList;
|
const AuthList = imports.gdm.authList;
|
||||||
const Batch = imports.gdm.batch;
|
const Batch = imports.gdm.batch;
|
||||||
const GdmUtil = imports.gdm.util;
|
const GdmUtil = imports.gdm.util;
|
||||||
const OVirt = imports.gdm.oVirt;
|
|
||||||
const Vmware = imports.gdm.vmware;
|
|
||||||
const Params = imports.misc.params;
|
const Params = imports.misc.params;
|
||||||
const ShellEntry = imports.ui.shellEntry;
|
const ShellEntry = imports.ui.shellEntry;
|
||||||
const UserWidget = imports.ui.userWidget;
|
const UserWidget = imports.ui.userWidget;
|
||||||
@ -630,9 +628,7 @@ var AuthPrompt = GObject.registerClass({
|
|||||||
if (oldStatus === AuthPromptStatus.VERIFICATION_CANCELLED)
|
if (oldStatus === AuthPromptStatus.VERIFICATION_CANCELLED)
|
||||||
return;
|
return;
|
||||||
beginRequestType = BeginRequestType.PROVIDE_USERNAME;
|
beginRequestType = BeginRequestType.PROVIDE_USERNAME;
|
||||||
} else if (this._userVerifier.serviceIsForeground(OVirt.SERVICE_NAME) ||
|
} else if (this._userVerifier.foregroundServiceDeterminesUsername()) {
|
||||||
this._userVerifier.serviceIsForeground(Vmware.SERVICE_NAME) ||
|
|
||||||
this._userVerifier.serviceIsForeground(GdmUtil.SMARTCARD_SERVICE_NAME)) {
|
|
||||||
// We don't need to know the username if the user preempted the login screen
|
// We don't need to know the username if the user preempted the login screen
|
||||||
// with a smartcard or with preauthenticated oVirt credentials
|
// with a smartcard or with preauthenticated oVirt credentials
|
||||||
beginRequestType = BeginRequestType.DONT_PROVIDE_USERNAME;
|
beginRequestType = BeginRequestType.DONT_PROVIDE_USERNAME;
|
||||||
|
@ -522,6 +522,15 @@ var ShellUserVerifier = class extends Signals.EventEmitter {
|
|||||||
return serviceName == this._getForegroundService();
|
return serviceName == this._getForegroundService();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
foregroundServiceDeterminesUsername() {
|
||||||
|
for (let serviceName in this._credentialManagers) {
|
||||||
|
if (this.serviceIsForeground(serviceName))
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return this.serviceIsForeground(SMARTCARD_SERVICE_NAME);
|
||||||
|
}
|
||||||
|
|
||||||
serviceIsDefault(serviceName) {
|
serviceIsDefault(serviceName) {
|
||||||
return serviceName == this._defaultService;
|
return serviceName == this._defaultService;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user