After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 702308 - Login screens have different layouts
Login screens have different layouts
Status: RESOLVED FIXED
Product: gnome-shell
Classification: Core
Component: login-screen
3.8.x
Other Linux
: Normal normal
: ---
Assigned To: Ray Strode [halfline]
gnome-shell-maint
Depends on:
Blocks:
 
 
Reported: 2013-06-15 02:43 UTC by Allan Day
Modified: 2013-07-18 20:08 UTC
See Also:
GNOME target: ---
GNOME version: 3.7/3.8


Attachments
screenshots (535.02 KB, image/png)
2013-06-15 02:43 UTC, Allan Day
  Details
loginDialog: pre-allocate prompt message height (7.70 KB, patch)
2013-07-10 18:17 UTC, Ray Strode [halfline]
committed Details | Review
loginDialog: drop padding between buttons and entry (3.97 KB, patch)
2013-07-10 18:17 UTC, Ray Strode [halfline]
committed Details | Review
loginDialog: make prompt entry wider (1.38 KB, patch)
2013-07-10 18:17 UTC, Ray Strode [halfline]
committed Details | Review
loginDialog: force user list and prompt to be the same width (2.85 KB, patch)
2013-07-10 18:17 UTC, Ray Strode [halfline]
committed Details | Review
loginDialog: handle typing at screenshield (6.61 KB, patch)
2013-07-10 18:17 UTC, Ray Strode [halfline]
none Details | Review
loginDialog: conditionalize out gdm specific bits (29.81 KB, patch)
2013-07-10 18:17 UTC, Ray Strode [halfline]
none Details | Review
loginDialog: add unlock-dialog code paths (21.60 KB, patch)
2013-07-10 18:17 UTC, Ray Strode [halfline]
none Details | Review
sessionMode: drop unlock dialog (18.34 KB, patch)
2013-07-10 18:17 UTC, Ray Strode [halfline]
none Details | Review
loginDialog: handle typing at screenshield (6.68 KB, patch)
2013-07-16 18:20 UTC, Ray Strode [halfline]
needs-work Details | Review
loginDialog: factor auth prompt code out to utils (46.69 KB, patch)
2013-07-16 18:20 UTC, Ray Strode [halfline]
needs-work Details | Review
unlockDialog: Use GdmUtil.AuthPrompt instead of ModalDialog (19.85 KB, patch)
2013-07-16 18:20 UTC, Ray Strode [halfline]
accepted-commit_now Details | Review
unlockDialog: drop unused variable (2.43 KB, patch)
2013-07-18 14:18 UTC, Ray Strode [halfline]
committed Details | Review
loginDialog: s/button-press-event/key-press-event/ (3.12 KB, patch)
2013-07-18 14:18 UTC, Ray Strode [halfline]
committed Details | Review
loginDialog: factor auth prompt code out to utils (42.78 KB, patch)
2013-07-18 14:18 UTC, Ray Strode [halfline]
reviewed Details | Review
unlockDialog: Use GdmUtil.AuthPrompt instead of ModalDialog (22.02 KB, patch)
2013-07-18 14:18 UTC, Ray Strode [halfline]
accepted-commit_now Details | Review
loginDialog: factor auth prompt code out to utils (42.84 KB, patch)
2013-07-18 17:50 UTC, Ray Strode [halfline]
committed Details | Review
unlockDialog: Use GdmUtil.AuthPrompt instead of ModalDialog (21.98 KB, patch)
2013-07-18 17:50 UTC, Ray Strode [halfline]
reviewed Details | Review
util: add shell entry menu to auth prompt (4.60 KB, patch)
2013-07-18 18:46 UTC, Ray Strode [halfline]
committed Details | Review
util: save answers typed early on in the auth prompt (4.10 KB, patch)
2013-07-18 18:46 UTC, Ray Strode [halfline]
none Details | Review
unlockDialog: Use GdmUtil.AuthPrompt instead of ModalDialog (15.35 KB, patch)
2013-07-18 18:46 UTC, Ray Strode [halfline]
none Details | Review
unlockDialog: Use GdmUtil.AuthPrompt instead of ModalDialog (14.97 KB, patch)
2013-07-18 19:41 UTC, Ray Strode [halfline]
committed Details | Review

Description Allan Day 2013-06-15 02:43:40 UTC
Created attachment 246868 [details]
screenshots

Depending on whether you are unlocking or logging in, the login screen has a different layout. They should be the same.

(The layout of the screen you get when unlocking is better than the other one.)
Comment 1 Allan Day 2013-06-15 02:46:50 UTC
Also, I'd indent "Password:" by about 6px.
Comment 3 asterix 2013-07-04 10:04:10 UTC
When you redesign it like this it would be good if you could also make it so that by default it could start with the password entry form of the last person loggen in visible and focused, so that when you start up you can just type in the password, rather than having to press enter and wait half a second whilst it does an animation, which, as pointed out here https://bugzilla.gnome.org/show_bug.cgi?id=685304 is slightly glitchy. I think combining the current design for the lock screen (under the visor with the time and notifications) with elements of the lightdm design would be good. As with your mockup, a vertical list of the users, that can be navigated using the up and down buttons, but without the need to press enter - the central one (initially focused on the last user) would be expanded as with the bottom part of your mockup, and above and below it the other users (including not listed), which would expand as part of the transition of moving to the centre of the screen, when you navigate to their user with the arrows. As well as being particularly useful for people who use one main account, currently the design doesn't look great if you have more than one user, and this could allow a more consistent design and a more smooth and lightweight feel to the logging in experience.
Comment 4 Ray Strode [halfline] 2013-07-10 18:17:23 UTC
Created attachment 248861 [details] [review]
loginDialog: pre-allocate prompt message height

Right now things jump around if a message comes in.
This commit makes sure there's room for a message to start.
Comment 5 Ray Strode [halfline] 2013-07-10 18:17:27 UTC
Created attachment 248862 [details] [review]
loginDialog: drop padding between buttons and entry

Now that we preallocate space for the prompt message there is
a lot of loose space between the entry and the buttons.

This commit helps tighten things up by getting rid
of the large top padding set above the login buttons.
Comment 6 Ray Strode [halfline] 2013-07-10 18:17:30 UTC
Created attachment 248863 [details] [review]
loginDialog: make prompt entry wider

This makes it match mock ups better and looks more visually
pleasing.
Comment 7 Ray Strode [halfline] 2013-07-10 18:17:33 UTC
Created attachment 248864 [details] [review]
loginDialog: force user list and prompt to be the same width
Comment 8 Ray Strode [halfline] 2013-07-10 18:17:37 UTC
Created attachment 248865 [details] [review]
loginDialog: handle typing at screenshield

If the screenshield is up and the user starts typing, we need to
keep track of it and replay it later, otherwise what they type
will be ignored.

This is useful when the user has disable-user-list set to TRUE,
and will also be useful to bring feature parity between the
login screen and unlock screen.
Comment 9 Ray Strode [halfline] 2013-07-10 18:17:41 UTC
Created attachment 248866 [details] [review]
loginDialog: conditionalize out gdm specific bits

The unlock dialog and login dialog are very similar and should probably
be derived from a common codebase.

This commit moves toward that goal by passing in the session mode to the
login dialog constructor, and then checking if the mode is 'gdm' before
doing login dialog specific stuff.

A subsequent commit will add in unlock-dialog specific bits.
Comment 10 Ray Strode [halfline] 2013-07-10 18:17:45 UTC
Created attachment 248867 [details] [review]
loginDialog: add unlock-dialog code paths

Now that we've conditionalized out the gdm bits, we can conditionalize
in the unlock-dialog bits.
Comment 11 Ray Strode [halfline] 2013-07-10 18:17:49 UTC
Created attachment 248868 [details] [review]
sessionMode: drop unlock dialog

Now that the login dialog can do the bits that the unlock dialog
could do before we can drop the unlock dialog completely.
Comment 12 Jasper St. Pierre (not reading bugmail) 2013-07-11 18:22:44 UTC
Review of attachment 248861 [details] [review]:

Hm, how will this work with multiline messages? Should we preallocate two lines worth of text?
Comment 13 Ray Strode [halfline] 2013-07-11 18:48:29 UTC
(In reply to comment #12)
> Review of attachment 248861 [details] [review]:
> 
> Hm, how will this work with multiline messages? Should we preallocate two lines
> worth of text?

Multiline messages a pretty rare, and the additional whitespace wouldn't look very nice.  I think it's better to just grow for that corner case.
Comment 14 Jasper St. Pierre (not reading bugmail) 2013-07-11 18:51:54 UTC
Review of attachment 248861 [details] [review]:

OK, then.
Comment 15 Jasper St. Pierre (not reading bugmail) 2013-07-11 18:52:14 UTC
Review of attachment 248862 [details] [review]:

OK.
Comment 16 Jasper St. Pierre (not reading bugmail) 2013-07-11 18:52:28 UTC
Review of attachment 248863 [details] [review]:

OK.
Comment 17 Jasper St. Pierre (not reading bugmail) 2013-07-11 18:52:55 UTC
Review of attachment 248864 [details] [review]:

I'd personally use a container that allocates the maximum width to both, but OK.
Comment 18 Ray Strode [halfline] 2013-07-12 15:54:13 UTC
Attachment 248861 [details] pushed as 6e00b6e - loginDialog: pre-allocate prompt message height
Attachment 248862 [details] pushed as bd5c04b - loginDialog: drop padding between buttons and entry
Attachment 248863 [details] pushed as 2431b8e - loginDialog: make prompt entry wider
Comment 19 Ray Strode [halfline] 2013-07-16 18:16:30 UTC
So we're going to consolidate the login dialog and unlock dialog in a different way.
marking some patches obsolete.
Comment 20 Ray Strode [halfline] 2013-07-16 18:20:14 UTC
Created attachment 249311 [details] [review]
loginDialog: handle typing at screenshield

If the screenshield is up and the user starts typing, we need to
keep track of it and replay it later, otherwise what they type
will be ignored.

This is useful when the user has disable-user-list set to TRUE,
and will also be useful to bring feature parity between the
login screen and unlock screen.
Comment 21 Ray Strode [halfline] 2013-07-16 18:20:22 UTC
Created attachment 249312 [details] [review]
loginDialog: factor auth prompt code out to utils

Right now there is a lot of duplicated code between the unlock
dialog and the login dialog.

This commit moves the login dialog's auth prompt to a separate
class, so that it can (in a subsequent commit) be used by the
unlock dialog.
Comment 22 Ray Strode [halfline] 2013-07-16 18:20:27 UTC
Created attachment 249313 [details] [review]
unlockDialog: Use GdmUtil.AuthPrompt instead of ModalDialog

commit ea02380c1524c28e6538ffedb789a12c298742ab made the login
screen stop using ModalDialog. It makes sense for the unlock
code to also stop using ModalDialog, too (for similar reasons).

Now that the login screen's auth prompt code has been separated
out, the unlock dialog can use it to get the buttons and spinners
etc, that it was previously getting from ModalDialog.

This commit drops the ModalDialog usage in the unlock dialog, and
makes the unlock dialog use GdmUtil.AuthPrompt instead.
Comment 23 Jasper St. Pierre (not reading bugmail) 2013-07-16 19:10:37 UTC
Review of attachment 249311 [details] [review]:

I guess I don't understand this. If the screen shield is up, and the user types, we'll raise the shield but key presses should be properly sent to the entry.

What is this solving?
Comment 24 Ray Strode [halfline] 2013-07-16 19:15:08 UTC
(In reply to comment #23)
> Review of attachment 249311 [details] [review]:
> 
> I guess I don't understand this. If the screen shield is up, and the user
> types, we'll raise the shield but key presses should be properly sent to the
> entry.
> 
> What is this solving?

It's just bringing feature parity between the unlock dialog and the login dialog in preparation for them to share code.

Use case is user has user list disabled and types their username and hits enter really fast before the shield comes up.
Comment 25 Jasper St. Pierre (not reading bugmail) 2013-07-16 19:20:15 UTC
I don't see how that's broken. As soon as the first character is typed, we create the dialog, raise the shield, call addCharacter, and give the entry key focus.

All subsequent characters should be handled by the entry, not the shield.
Comment 26 Jasper St. Pierre (not reading bugmail) 2013-07-16 19:24:34 UTC
Review of attachment 249312 [details] [review]:

::: js/gdm/util.js
@@ +474,3 @@
+        params = Params.parse(params,
+                              { style_class: 'login-dialog-prompt-layout',
+                                vertical: true }, true);

ugh, not a big fan of using Params like this.

Just have the login dialog code set visible to false afterwards.

@@ +478,3 @@
+        this.actor.connect('button-press-event',
+                           Lang.bind(this, function(actor, event) {
+                               if (event.get_key_symbol() == Clutter.KEY_Escape) {

Well, this is old code, sure, but there's no way get_key_symbol() and button-press-event will match up...

@@ +542,3 @@
+    },
+
+    setActorInDefaultButtonWell: function(actor, immediately) {

I don't see you using "immediately" here with anything but true.

@@ +554,3 @@
+        let isWorkSpinner;
+        if (actor == this._spinner.actor)
+            isWorkSpinner = true;

yuck.

@@ +652,3 @@
+    },
+
+    resetButtons: function(cancelLabel, nextLabel) {

Do we really need support for a separate cancel label?

@@ +659,3 @@
+
+        this._buttonBox.visible = true;
+        this._buttonBox.remove_all_children();

Why are we rebuilding the buttons instead of just pre-making two and changing the labels around? That would also mean that resetButtons could go away, and be replaced with this._authPrompt.cancelButton.hide();, and this._authPrompt.nextButton.label = _("Sign In");

@@ +694,3 @@
+                                     this.emit('next');
+                                 }));
+        this._nextButton.add_style_pseudo_class('default');

pseudo class? this ain't a psuedo class.

@@ +717,3 @@
+
+    _updateNextButtonSensitivity: function(sensitive) {
+        if (this._nextButton) {

I'd like to ensure that we always have a next button, we just show / hide it.
Comment 27 Jasper St. Pierre (not reading bugmail) 2013-07-16 19:49:04 UTC
Review of attachment 249313 [details] [review]:

Looks OK.

::: js/ui/unlockDialog.js
@@ +32,2 @@
     _init: function(parentActor) {
+        this.actor = new St.Widget({ accessible_role: Atk.Role.WINDOW,

um? This is meant to be Role.DIALOG, right?

@@ +42,3 @@
         this._user = this._userManager.get_user(this._userName);
 
         this._failCounter = 0;

This is unused.
Comment 28 Ray Strode [halfline] 2013-07-16 20:41:38 UTC
(In reply to comment #23)
> I guess I don't understand this. If the screen shield is up, and the user
> types, we'll raise the shield but key presses should be properly sent to the
> entry.
The dialog doesn't listen for activate on the entry until the user manager loads, which is an asynchronous operation. Granted,

1) the race is small. the user manager loads quickly, and we only show the shield in weird corner cases anyway that probably happen after the user manager is loaded
2) We could restructure the code so we didn't wait for the user manager in the disable-user-list case.

But, the main point of the commit is to just have the code there and waiting, so it can get moved into AuthPrompt in the falling commit, so that it's ready for the unlock code to make use of in the commit after that. The unlock code does need it after all since the PAM query could be slow to come in, and it's easier to read the diffs if you can see how the code is moving around.

If it's bothers you, though, I can just drop that commit, and add that stuff in the unlock commit at the end.
Comment 29 Jasper St. Pierre (not reading bugmail) 2013-07-16 20:45:16 UTC
Yeah, I think it would be better to add it at the end. The unlock dialog already has code for an initial answer, and I'd be happier if you took it from there and put it into the auth dialog.
Comment 30 Ray Strode [halfline] 2013-07-16 21:04:43 UTC
(In reply to comment #26)
> Review of attachment 249312 [details] [review]:
> 
> ::: js/gdm/util.js
> @@ +474,3 @@
> +        params = Params.parse(params,
> +                              { style_class: 'login-dialog-prompt-layout',
> +                                vertical: true }, true);
> 
> ugh, not a big fan of using Params like this.
> 
> Just have the login dialog code set visible to false afterwards.

sure

> 
> @@ +478,3 @@
> +        this.actor.connect('button-press-event',
> +                           Lang.bind(this, function(actor, event) {
> +                               if (event.get_key_symbol() ==
> Clutter.KEY_Escape) {
> 
> Well, this is old code, sure, but there's no way get_key_symbol() and
> button-press-event will match up...
okay i'll fix that in a preliminary commit.

> 
> @@ +542,3 @@
> +    },
> +
> +    setActorInDefaultButtonWell: function(actor, immediately) {
> 
> I don't see you using "immediately" here with anything but true.
It's supposed to be false in startSpinning, i'll fix it.
 
> @@ +554,3 @@
> +        let isWorkSpinner;
> +        if (actor == this._spinner.actor)
> +            isWorkSpinner = true;
> 
> yuck.
well the function was originally called setDefaultButtonWellMode before it was moved over and one of those modes is SESSION_MENU_BUTTON.  I thought about keeping it that way and moving the sessionMenu button handling over at the same time.  I decided against that approach since the unlock dialog will never use a session menu button.

> 
> @@ +652,3 @@
> +    },
> +
> +    resetButtons: function(cancelLabel, nextLabel) {
> 
> Do we really need support for a separate cancel label?

I originally the argument as a canCancel boolean, but unmarked booleans make for hard to read code. I could go to Params, or just leave it.
> 
> @@ +659,3 @@
> +
> +        this._buttonBox.visible = true;
> +        this._buttonBox.remove_all_children();
> 
> Why are we rebuilding the buttons instead of just pre-making two and changing
> the labels around? 

It's just the _prepareDialog function moved over to util.js with a new name.  We rebuilt the buttons before, so this code just maintains that behavior.  I can change it, I don't feel strongly.

> 
> @@ +694,3 @@
> +                                     this.emit('next');
> +                                 }));
> +        this._nextButton.add_style_pseudo_class('default');
> 
> pseudo class? this ain't a psuedo class.

sure it is:

[rstrode@dhcp-191-61] (/srv/sources/gnome/gnome-shell/data/theme) <05:00 PM>
$ git grep default |grep login
gnome-shell.css:.login-dialog .modal-dialog-button:default {
gnome-shell.css:.login-dialog .modal-dialog-button:default:focus {
gnome-shell.css:.login-dialog .modal-dialog-button:default:hover {
gnome-shell.css:.login-dialog .modal-dialog-button:default:active,
gnome-shell.css:.login-dialog .modal-dialog-button:default:pressed {
gnome-shell.css:.login-dialog .modal-dialog-button:default:insensitive {

or are you asserting it doesn't satisfy your notion of what a pseudoclass should be? If so, that's debatable, but really orthogonal to this bug.
 
> @@ +717,3 @@
> +
> +    _updateNextButtonSensitivity: function(sensitive) {
> +        if (this._nextButton) {
> 
> I'd like to ensure that we always have a next button, we just show / hide it.
ok
Comment 31 Ray Strode [halfline] 2013-07-16 21:10:36 UTC
Hi,
> ::: js/ui/unlockDialog.js
> @@ +32,2 @@
>      _init: function(parentActor) {
> +        this.actor = new St.Widget({ accessible_role: Atk.Role.WINDOW,
> 
> um? This is meant to be Role.DIALOG, right?

Well, Atk.Role.DIALOG has this description:

| A top level window with title bar and a border

which ModalDialog almost fits, sort of, but the unlock dialog doesn't really at all.  Atk.Role.WINDOW has this description:

| A top level window with no title or border.

which seems like a better fit, so I changed it when moving it over from ModalDialog.  I also did the same for LoginDialog a while back.  I don't really care which one we use to be honest. I doubt the a11y tools make use of the destinction (but don't really know).  I think we should be consistent though.

> 
> @@ +42,3 @@
>          this._user = this._userManager.get_user(this._userName);
> 
>          this._failCounter = 0;
> 
> This is unused.
Comment 32 Ray Strode [halfline] 2013-07-18 14:18:29 UTC
Created attachment 249517 [details] [review]
unlockDialog: drop unused variable
Comment 33 Ray Strode [halfline] 2013-07-18 14:18:36 UTC
Created attachment 249518 [details] [review]
loginDialog: s/button-press-event/key-press-event/

A bug got introduced when moving the login dialog away from modal
dialog, such that it listens for escape key presses in a mouse
event handler instead of a keyboard event handler.

This commit fixes that code to correctly listen for key-press-event
instead of button-press-event.
Comment 34 Ray Strode [halfline] 2013-07-18 14:18:41 UTC
Created attachment 249519 [details] [review]
loginDialog: factor auth prompt code out to utils

Right now there is a lot of duplicated code between the unlock
dialog and the login dialog.

This commit moves the login dialog's auth prompt to a separate
class, so that it can (in a subsequent commit) be used by the
unlock dialog.
Comment 35 Ray Strode [halfline] 2013-07-18 14:18:47 UTC
Created attachment 249520 [details] [review]
unlockDialog: Use GdmUtil.AuthPrompt instead of ModalDialog

commit ea02380c1524c28e6538ffedb789a12c298742ab made the login
screen stop using ModalDialog. It makes sense for the unlock
code to also stop using ModalDialog, too (for similar reasons).

Now that the login screen's auth prompt code has been separated
out, the unlock dialog can use it to get the buttons and spinners
etc, that it was previously getting from ModalDialog.

This commit drops the ModalDialog usage in the unlock dialog, and
makes the unlock dialog use GdmUtil.AuthPrompt instead.
Comment 36 Jasper St. Pierre (not reading bugmail) 2013-07-18 16:57:15 UTC
Review of attachment 249518 [details] [review]:

Yes.
Comment 37 Jasper St. Pierre (not reading bugmail) 2013-07-18 16:57:33 UTC
Review of attachment 249517 [details] [review]:

OK.
Comment 38 Jasper St. Pierre (not reading bugmail) 2013-07-18 17:01:17 UTC
Review of attachment 249519 [details] [review]:

::: js/gdm/util.js
@@ +471,3 @@
+
+    _init: function(params) {
+        this.actor = new St.BoxLayout(params);

I was imagining this.actor = new St.BoxLayout({ style_class: ..., vertical: true });

and then set extra properties from whatever uses AuthPrompt.

@@ +635,3 @@
+    },
+
+    stopSpinning: function() {

Seems to never be used?

Though now that I see this, I think I like isSpinner better. Sorry :(
Comment 39 Jasper St. Pierre (not reading bugmail) 2013-07-18 17:01:43 UTC
Review of attachment 249520 [details] [review]:

OK, assuming everything else is.
Comment 40 Ray Strode [halfline] 2013-07-18 17:12:46 UTC
Attachment 249517 [details] pushed as 09d34a2 - unlockDialog: drop unused variable
Attachment 249518 [details] pushed as 3c31908 - loginDialog: s/button-press-event/key-press-event/
Comment 41 Ray Strode [halfline] 2013-07-18 17:50:28 UTC
Created attachment 249553 [details] [review]
loginDialog: factor auth prompt code out to utils

Right now there is a lot of duplicated code between the unlock
dialog and the login dialog.

This commit moves the login dialog's auth prompt to a separate
class, so that it can (in a subsequent commit) be used by the
unlock dialog.
Comment 42 Ray Strode [halfline] 2013-07-18 17:50:33 UTC
Created attachment 249554 [details] [review]
unlockDialog: Use GdmUtil.AuthPrompt instead of ModalDialog

commit ea02380c1524c28e6538ffedb789a12c298742ab made the login
screen stop using ModalDialog. It makes sense for the unlock
code to also stop using ModalDialog, too (for similar reasons).

Now that the login screen's auth prompt code has been separated
out, the unlock dialog can use it to get the buttons and spinners
etc, that it was previously getting from ModalDialog.

This commit drops the ModalDialog usage in the unlock dialog, and
makes the unlock dialog use GdmUtil.AuthPrompt instead.
Comment 43 Jasper St. Pierre (not reading bugmail) 2013-07-18 17:58:59 UTC
Review of attachment 249553 [details] [review]:

OK.
Comment 44 Jasper St. Pierre (not reading bugmail) 2013-07-18 18:00:21 UTC
Review of attachment 249554 [details] [review]:

::: js/gdm/util.js
@@ +497,3 @@
         this._entry = new St.Entry({ style_class: 'login-dialog-prompt-entry',
                                      can_focus: true });
+        ShellEntry.addContextMenu(this._entry, { isPassword: true });

Separate commit please.

@@ +664,2 @@
     setQuestion: function(question) {
+        if (!this._initialAnswer) {

Put all this initialAnswer stuff in another patch so I can review it separately, please.
Comment 45 Ray Strode [halfline] 2013-07-18 18:36:19 UTC
Comment on attachment 249553 [details] [review]
loginDialog: factor auth prompt code out to utils

Attachment 249553 [details] pushed as d715110 - loginDialog: factor auth prompt code out to utils
Comment 46 Ray Strode [halfline] 2013-07-18 18:46:42 UTC
Created attachment 249556 [details] [review]
util: add shell entry menu to auth prompt

This brings us parity with the unlock dialog, and is a prerequisite
for eventually moving the unlock dialog over to using the auth
prompt.
Comment 47 Ray Strode [halfline] 2013-07-18 18:46:50 UTC
Created attachment 249557 [details] [review]
util: save answers typed early on in the auth prompt

The unlock dialog has a feature where a user can start
typing their password right away, before the dialog is fully
shown.

This commit copies the bones of that functionality over to
GdmUtil.AuthPrompt, so we can subsequently move the unlock
dialog code over to using it.
Comment 48 Ray Strode [halfline] 2013-07-18 18:46:59 UTC
Created attachment 249558 [details] [review]
unlockDialog: Use GdmUtil.AuthPrompt instead of ModalDialog

commit ea02380c1524c28e6538ffedb789a12c298742ab made the login
screen stop using ModalDialog. It makes sense for the unlock
code to also stop using ModalDialog, too (for similar reasons).

Now that the login screen's auth prompt code has been separated
out, the unlock dialog can use it to get the buttons and spinners
etc, that it was previously getting from ModalDialog.

This commit drops the ModalDialog usage in the unlock dialog, and
makes the unlock dialog use GdmUtil.AuthPrompt instead.
Comment 49 Jasper St. Pierre (not reading bugmail) 2013-07-18 18:52:50 UTC
Review of attachment 249556 [details] [review]:

OK.
Comment 50 Ray Strode [halfline] 2013-07-18 19:41:19 UTC
Comment on attachment 249556 [details] [review]
util: add shell entry menu to auth prompt

Attachment 249556 [details] pushed as be4f259 - util: add shell entry menu to auth prompt
Comment 51 Ray Strode [halfline] 2013-07-18 19:41:54 UTC
Created attachment 249567 [details] [review]
unlockDialog: Use GdmUtil.AuthPrompt instead of ModalDialog

commit ea02380c1524c28e6538ffedb789a12c298742ab made the login
screen stop using ModalDialog. It makes sense for the unlock
code to also stop using ModalDialog, too (for similar reasons).

Now that the login screen's auth prompt code has been separated
out, the unlock dialog can use it to get the buttons and spinners
etc, that it was previously getting from ModalDialog.

This commit drops the ModalDialog usage in the unlock dialog, and
makes the unlock dialog use GdmUtil.AuthPrompt instead.
Comment 52 Jasper St. Pierre (not reading bugmail) 2013-07-18 20:03:18 UTC
Review of attachment 249567 [details] [review]:

OK.
Comment 53 Ray Strode [halfline] 2013-07-18 20:07:59 UTC
Attachment 249567 [details] pushed as b4567ac - unlockDialog: Use GdmUtil.AuthPrompt instead of ModalDialog