Closed Bug 674275 Opened 10 years ago Closed 10 years ago

Multiple HTTP basic auth (401) dialogs are not collapsed

Categories

(Firefox for Android Graveyard :: General, defect)

x86
macOS
defect
Not set
normal

Tracking

(firefox8 fixed)

VERIFIED FIXED
Firefox 8
Tracking Status
firefox8 --- fixed

People

(Reporter: jbalogh, Assigned: wesj)

Details

(Whiteboard: [inbound])

Attachments

(1 file)

https://addons.allizom.org/z/services/graphite/amo includes a bunch of links like [1] which are protected by basic HTTP auth.

When I load the page in Firefox it prompts for auth once and then loads all the images.

When I load the page in Fennec it pops up 12 different auth prompts and I have to click through each one. Some of the prompts don't even invoke the password manager.

[1]: https://graphite-sjc.mozilla.org/render/?width=586&height=308&target=sumSeries(amo.celery.tasks.pending.*.*.*)&target=nonNegativeDerivative(sumSeries(amo.celery.tasks.total.*.*.*))&target=nonNegativeDerivative(sumSeries(amo.celery.tasks.failed.*.*.*))&from=-15minutes&title=15%20minutes
Assignee: nobody → wjohnston
Attached patch Patch v1Splinter Review
There is a couple problems here. Desktop does collapse asyncAuthDialogs, We don't. In fact, we don't (currently) even support them, which should fall back to SyncDialogs, which (theoretically) should be fine. Our "sync" dialogs aren't really sync though, and so they're piling up on top of each other.

Also included some code to skip auth dialogs for proxy logins, but that's not what is going on here:

All this is just a slightly updated version of some desktop Firefox code from:

http://mxr.mozilla.org/mozilla-central/source/toolkit/components/passwordmgr/nsLoginManagerPrompter.js#686
Attachment #548951 - Flags: review?(mark.finkle)
Comment on attachment 548951 [details] [diff] [review]
Patch v1

>diff --git a/mobile/components/PromptService.js b/mobile/components/PromptService.js

>+    if (foundLogins.length > 0 && PromptUtils.pwmgr.uiBusy) {
>+      return;
>+    }

no {}

>+    let runnable = {
>+      run : function() {

run:

>+          ok = prompter.promptAuth(prompt.channel,
>+                                   prompt.level,
>+                                   prompt.authInfo);

no wrap

>+        for each (var consumer in prompt.consumers) {

I assume 'let' would work here
Attachment #548951 - Flags: review?(mark.finkle) → review+
http://hg.mozilla.org/mozilla-central/rev/7cb0b8e0951f
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 8
Verified Fixed 
Mozilla/5.0 (Android; Linux armv7l; rv:8.0a1) Gecko/20110803 Firefox/8.0a1 Fennec/8.0a1
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.