<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>

<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
</head>
<body bgcolor="#ffffff" text="#000000">
I've just been looking at <a
 href="https://bugzilla.mozilla.org/show_bug.cgi?id=338549">Bug 338549</a>
again. This is the bug where on startup our password prompts are no
serial, and the results are  parallel prompts that can interfere with
each other.<br>
<br>
We currently have two possible solutions, however as far as I can tell
at this stage (as suggested by David Bienvenu in the bug) they will
both have one potentially confusing issue. Best explained with an
example:<br>
<ul>
  <li>Connection for server 'a' starts and requests a password - prompt
displayed to user</li>
  <li>Connection for server 'b' starts - prompt would be queued</li>
  <li>User enters incorrect password for server 'a'</li>
  <li>Connection for server 'a' goes away and tries the password</li>
  <li>User prompted for password for server 'b'</li>
  <li>User then gets password prompt for server 'a' again.</li>
</ul>
Given that the current implementation can mean focus loss etc,
requiring extra clicks, I think this may be an acceptable improvement
for 3.1 which we can build on again later.<br>
<br>
To fix the remaining issue explained above I think we'd have to provide
some wider mutexes/locks in the various protocols which would ensure
that whilst the authentication period was in progress for one
connection, another connection couldn't start. This would be a more
complex solution that I don't think we could get in for 3.1.<br>
<br>
So in summary, I think we can make the prompts "serial" and in the
cases of bad password and multiple accounts, we might get some slightly
unexpected results, but I think that is a far better result than the
non-serial prompts that steal focus that we have now.<br>
<br>
Thoughts?<br>
Mark.<br>
</body>
</html>