Closed Bug 1643129 Opened 4 years ago Closed 4 years ago

HTTP auth prompting busted

Categories

(GeckoView :: General, defect, P1)

Unspecified
All

Tracking

(firefox79 fixed)

RESOLVED FIXED
mozilla79
Tracking Status
firefox79 --- fixed

People

(Reporter: snorp, Assigned: snorp)

References

Details

(Whiteboard: [geckoview:m79])

Attachments

(2 files)

From Fenix issue https://github.com/mozilla-mobile/fenix/issues/8969

It looks like we aren't handling http auth prompts correctly in GV.

06-03 14:27:19.010 3984 4000 E GeckoConsole: [JavaScript Error: "TypeError: can't access property "ensureDataReady", this._store is undefined" {file: "resource://gre/modules/storage-json.js" line: 645}]
06-03 14:27:19.010 3984 4000 E GeckoConsole: countLogins@resource://gre/modules/storage-json.js:645:5
06-03 14:27:19.010 3984 4000 E GeckoConsole: countLogins@resource://gre/modules/LoginManager.jsm:512:26
06-03 14:27:19.010 3984 4000 E GeckoConsole: _doAsyncPrompt@resource://gre/modules/LoginManagerAuthPrompter.jsm:158:37
06-03 14:27:19.010 3984 4000 E GeckoConsole: asyncPromptAuth@resource://gre/modules/LoginManagerAuthPrompter.jsm:877:21
06-03 14:27:19.010 3984 4000 E GeckoConsole: [JavaScript Error: "NS_ERROR_XPC_JAVASCRIPT_ERROR_WITH_DETAILS: [JavaScript Error: "can't access property "ensureDataReady", this._store is undefined" {file: "resource://gre/modules/storage-json.js" line: 645}]'[JavaScript Error: "can't access property "ensureDataReady", this._store is undefined" {file: "resource://gre/modules/storage-json.js" line: 645}]' when calling method: [nsILoginManagerStorage::countLogins]" {file: "resource://gre/modules/LoginManager.jsm" line: 512}]

Assignee: nobody → MattN+bmo
Status: NEW → ASSIGNED

I attached an untested patch that should fix the issue. Someone else can take over to write tests and verify it works.

Assignee: MattN+bmo → nobody
Blocks: 1596660
Status: ASSIGNED → NEW

This is needed in order to catch certain problems with LoginStorage.jsm.

Assignee: nobody → snorp
Status: NEW → ASSIGNED
Severity: -- → S3
Priority: -- → P1
Whiteboard: [geckoview:m79]
Attachment #9153956 - Attachment description: Bug 1643129 - Stub LoginManagerStorage_geckoview._store so countLogins works. r=snorp → Bug 1643129 - Stub LoginManagerStorage_geckoview._store so countLogins works. r=#geckoview-reviewers
Attachment #9153956 - Attachment description: Bug 1643129 - Stub LoginManagerStorage_geckoview._store so countLogins works. r=#geckoview-reviewers → Bug 1643129 - Skip countLogins calls in _doAsyncPrompt if the MP isn't currently showing. r=#geckoview-reviewers

The two findLogins calls in LoginManagerAuthPrompter.jsm probably also need to be replaced with searchLoginsAsync if you want saved logins to be filled into HTTP auth prompts. Perhaps that can be done in a separate bug if this one is sufficient to unbreak the dialogs.

Pushed by jwillcox@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/9ba8b78124a9
Skip countLogins calls in _doAsyncPrompt if the MP isn't currently showing. r=geckoview-reviewers,snorp
https://hg.mozilla.org/integration/autoland/rev/b746ee53bfe9
Add a reload to GV auth prompt test r=geckoview-reviewers,aklotz
Status: ASSIGNED → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla79
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: