From fd11ad95f61b904d6f7014f8d56c1c27d88af65c Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Fri, 16 Aug 2013 10:29:26 -0400 Subject: [PATCH] gdmUtil: factor out some duplicated code in beginVerification The duplication makes the function look a lot more complicated than it actually is. This commit moves the common code to a new _startService function. https://bugzilla.gnome.org/show_bug.cgi?id=683437 --- js/gdm/util.js | 73 +++++++++++++++----------------------------------- 1 file changed, 21 insertions(+), 52 deletions(-) diff --git a/js/gdm/util.js b/js/gdm/util.js index f41b2b2f8..acab4711c 100644 --- a/js/gdm/util.js +++ b/js/gdm/util.js @@ -317,61 +317,30 @@ const ShellUserVerifier = new Lang.Class({ this._defaultService = PASSWORD_SERVICE_NAME; }, - _beginVerification: function() { + _startService: function(serviceName) { this._hold.acquire(); - - if (this._userName) { - this._userVerifier.call_begin_verification_for_user(this._getForegroundService(), - this._userName, - this._cancellable, - Lang.bind(this, function(obj, result) { - try { - obj.call_begin_verification_for_user_finish(result); - } catch(e if e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.CANCELLED)) { - return; - } catch(e) { - this._reportInitError('Failed to start verification for user', e); - return; - } - - this._hold.release(); - })); - - if (this._haveFingerprintReader) { - this._hold.acquire(); - - this._userVerifier.call_begin_verification_for_user(FINGERPRINT_SERVICE_NAME, - this._userName, - this._cancellable, - Lang.bind(this, function(obj, result) { - try { - obj.call_begin_verification_for_user_finish(result); - } catch(e if e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.CANCELLED)) { - return; - } catch(e) { - this._reportInitError('Failed to start fingerprint verification for user', e); - return; - } - - this._hold.release(); - })); + this._userVerifier.call_begin_verification_for_user(serviceName, + this._userName, + this._cancellable, + Lang.bind(this, function(obj, result) { + try { + obj.call_begin_verification_for_user_finish(result); + } catch(e if e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.CANCELLED)) { + return; + } catch(e) { + this._reportInitError('Failed to start verification for user', e); + return; } - } else { - this._userVerifier.call_begin_verification(this._getForegroundService(), - this._cancellable, - Lang.bind(this, function(obj, result) { - try { - obj.call_begin_verification_finish(result); - } catch(e if e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.CANCELLED)) { - return; - } catch(e) { - this._reportInitError('Failed to start verification', e); - return; - } - this._hold.release(); - })); - } + this._hold.release(); + })); + }, + + _beginVerification: function() { + this._startService(this._getForegroundService()); + + if (this._userName && this._haveFingerprintReader) + this._startService(FINGERPRINT_SERVICE_NAME); }, _onInfo: function(client, serviceName, info) {