Closed Bug 70715 Opened 25 years ago Closed 24 years ago

Password dialogue not prefilled subsequent entry

Categories

(Core Graveyard :: Embedding: APIs, defect)

x86
Windows 98
defect
Not set
major

Tracking

(Not tracked)

VERIFIED FIXED
mozilla0.9.4

People

(Reporter: tracy, Assigned: ccarlen)

References

()

Details

Attachments

(2 files)

seen on mfcEmbed 2001-03-02 this is related to smoketest EM.15 (embedding) testing for httpAuth follow the instructions on the test: -goto the site with a ID and password dialogue....enter the site -switch to another profile -switch back to orginal profile -goto the same site with the ID and password dialogue...the dialogue should be prefilled per the smoketest requirement. result: the dialogue is not prefilled
-> ccarlen
Assignee: adamlock → ccarlen
Was the "Use password manager to remember..." check box checked?
there isn't a message in the dialogue window that allows you to select remember the password
Got it. Some component is missing from the packaged embedding dir. When run from there, I don't get the dialog with a checkbox. When run from mozilla's /bin dir, I do. Working on it.
I noticed another problem when testing this one: 1. Start mfcembed 2. Go to a URL which requires username/password. Enter the info and login 3. Now switch to a different profile 4. Go to the URL in step 2 above One of two things can happen here: - If you've *not* been to this URL (from this profile) then you'll get a username/password dialog box. Enter it and it should work. - If you've been to this URL before (and hence the login info is saved) then you'll see a crash in wallet.dll when it's trying to delete a NULL pointer. Here's the stack trace: SI_RemoveAllSignonData() line 1208 + 48 bytes SI_LoadSignonData() line 1657 si_RegisterSignonPrefCallbacks() line 304 si_GetSignonRememberingPref() line 340 SINGSIGN_PromptUsernameAndPassword(const unsigned short * 0x00000000, const unsigned short * 0x014c58f0, unsigned short * * 0x0012f844, unsigned short * * 0x0012fa0c, const char * 0x0012f3bc, nsIPrompt * 0x027cd824, int * 0x0012f76c, unsigned int 2) line 2350 + 5 bytes nsSingleSignOnPrompt::PromptUsernameAndPassword(nsSingleSignOnPrompt * const 0x02804a30, const unsigned short * 0x00000000, const unsigned short * 0x014c58f0, const unsigned short * 0x0012f6d0, unsigned int 2, unsigned short * * 0x0012f844, unsigned short * * 0x0012fa0c, int * 0x0012f76c) line 542 + 51 bytes XPTC_InvokeByIndex(nsISupports * 0x02804a30, unsigned int 8, unsigned int 7, nsXPTCVariant * 0x014c5c50) line 139 EventHandler(PLEvent * 0x014c0da0) line 509 + 41 bytes nsProxyObject::Post(unsigned int 8, nsXPTMethodInfo * 0x00baec94, nsXPTCMiniVariant * 0x0012f510, nsIInterfaceInfo * 0x0096fc10) line 449 + 9 bytes nsProxyEventObject::CallMethod(nsProxyEventObject * const 0x02804540, unsigned short 8, const nsXPTMethodInfo * 0x00baec94, nsXPTCMiniVariant * 0x0012f510) line 429 + 52 bytes PrepareAndDispatch(nsXPTCStubBase * 0x02804540, unsigned int 8, unsigned int * 0x0012f5c0, unsigned int * 0x0012f5b0) line 100 + 31 bytes SharedStub() line 124 nsHTTPChannel::Authenticate(const char * 0x014c08f0, int 0) line 2117 + 137 bytes nsHTTPChannel::ProcessAuthentication(int 401) line 2552 + 31 bytes nsHTTPChannel::ProcessStatusCode() line 2372 + 15 bytes nsHTTPChannel::FinishedResponseHeaders() line 2222 + 8 bytes nsHTTPServerListener::FinishedResponseHeaders() line 1013 + 11 bytes nsHTTPServerListener::OnDataAvailable(nsHTTPServerListener * const 0x014b9460, nsIRequest * 0x014be970, nsISupports * 0x014c2610, nsIInputStream * 0x014b8dc0, unsigned int 0, unsigned int 0) line 412 + 8 bytes nsOnDataAvailableEvent::HandleEvent(nsOnDataAvailableEvent * const 0x014b86c0) line 161 + 70 bytes nsStreamObserverEvent::HandlePLEvent(PLEvent * 0x014b86c4) line 79 PL_HandleEvent(PLEvent * 0x014b86c4) line 576 + 10 bytes PL_ProcessPendingEvents(PLEventQueue * 0x0099ae70) line 509 + 9 bytes
The crash Chak found is bug 70965. A patch is there. So, that leaves us with the original problem - The checkbox for "Save password..." shows up when mfcEmbed is running from mozilla's /bin dir but not when from the /Embed dir. Putting the wallet dll in the components dir does not do it. The single signon gets created fine but the prompt dialog code behaves as if it didn't. Chak, can you take a look. Apply the patch on bug 70965 to get around the crash.
Chak, can you look at this? I think the wallet lib needs to be added to the embedding config. The fix to the crash will be checked in tonight.
Status: NEW → ASSIGNED
Target Milestone: --- → mozilla1.0
Hi Conrad : Can you please r= the above patch.... Thanks
Assuming that wallet is the only additional component needed and it doesn't need to drag anything else along, the patch is right. Running from the "Embed" dir, even with the wallet dll present, something odd is going on. The dialog which comes up does not have a "Remember password" check box. If I visit a password protected site for which the password has been saved before, it is prefilled - though no checkbox. If I create a new profile, since there is no checkbox, I can never chose to have it remembered.
Looks like there's something else needed besides the wallet lib. I did'nt catch this since i was running mfcembed from dist\win32d_obj\bin instead of from dist\win32d_obj\Embed. Looking for that missing piece...
The wallet service reads the string for the checkbox from a file named "wallet.properties" which is at chrome\en-US\locale\en-US\communicator\wallet Since the embed.jar file (under Embed\chrome) does not contain this file it can't load that string and hence not displayed in the dlg box. We need to include the "wallet.properties" file as well in the jar file. There are other files (rdf etc) in that dir which i'm not sure if/how they're realted to this properties file. Cc:ing Jud and Adam for advice...
When my new nsIPrompt stuff is in and wallet uses the new password prompting methods on the forthcoming nsIPrompt instead of UniversalDialog, it will be able to do this without the localized string for the checkbox title. In the meanwhile, things will have to be added to embed.jar :-(
Correction: Changing QA contact for the Embed API bugs to David Epstein.
QA Contact: mdunn → depstein
Depends on: 77176
The userid and or password for the test site on the smoketest page has been changed. I can no longer log in there. Does anyone know the change or should the smoketest be changed to another single signon page??
-> 0.9.3 Sorry, this fell off my radar. Will look at it today.
Target Milestone: mozilla1.0 → mozilla0.9.3
The updated patch is the same - just adding wallet will do it. The files changed a bit in the meanwhile. Chak, Chris - can you r=/sr= ?
r=chak
Chris, can I get sr= on this?
Whiteboard: need sr=
sr=blizzard
Target Milestone: mozilla0.9.3 → mozilla0.9.4
Whiteboard: need sr=
Fix checked in. Works on Windows. With TestGtkEmbed, something else is missing from the config - the XUL commonDialogs fail to load properly so testing password dialogs with it still can't be done. I'll look at that.
Status: ASSIGNED → RESOLVED
Closed: 24 years ago
Resolution: --- → FIXED
verified fixed on mfcembed build 2001-08-13-05-trunk
Status: RESOLVED → VERIFIED
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: