Bug 475053 added support for asyncPromptAuth; now if session restore opens two tabs requiring authentication for the same host+realm, only 1 prompt is shown and you only need to enter credentials once. I noticed that if you *cancel* the prompt, you'll then get the prompt again (for the second tab). This isn't desirable. In fact, what seems to be happening is that the multiple requests for authentication are not actually making it to the code added in 475053 (which explicitly has code for handling this situation, the |consumers| array created in asyncPromptAuth() holds each request for the same host+realm). So, when Cancel is clicked, we only have one nsIAuthPromptCallback to notify of the cancellation. Even when entering valid credentials, there's only one nsIAuthPromptCallback that gets notified of success. STR: 1) New profile, set to restore tabs on startup, set signon.debug pref to true 2) Open 2 tabs to a site requesting authentication (eg http://dolske.net/mozilla/tests/httpauth/realmX) 3) Restart browser 4) Click cancel on first authprompt 5) Click cancel on second authpromt Note debug logging between steps 3 and 5. The auth prompter knows nothing about the second request until after step 4.
Bulk change to priority: https://bugzilla.mozilla.org/show_bug.cgi?id=1399258