Closed Bug 672034 Opened 13 years ago Closed 9 years ago

Provide Mobile UI for Password Manager

Categories

(Firefox for Android Graveyard :: General, enhancement)

ARM
Android
enhancement
Not set
normal

Tracking

(Not tracked)

RESOLVED DUPLICATE of bug 1170786

People

(Reporter: tech4pwd, Unassigned)

References

Details

(Whiteboard: parity-desktop)

User Agent: Mozilla/5.0 (Windows NT 6.1; rv:8.0a1) Gecko/20110715 Firefox/8.0a1
Build ID: 20110715030758

Steps to reproduce:

Currently if a user wants to access passwords they have stored for a site, they're forced to use a desktop computer. Users should be able to access the password manager from the mobile UI either to copy password and use in a third-party application (i.e. twitter/facebook) or for matters whereby the password manager doesn't offer the password because the mobile site is on a sub-domain.
OS: Other → Android
Hardware: All → ARM
enhancement request
Severity: normal → enhancement
Status: UNCONFIRMED → NEW
Ever confirmed: true
Product: Fennec → Fennec Native
Since nobody seems to care. What does it take a developer who has never worked with Firefox sources to implement this?
Why does 
https://support.mozilla.org/de/questions/819833
link to the unrelated master-password issue instead of this ticket?
(In reply to Marcus Wolschon from comment #3)
> Since nobody seems to care. What does it take a developer who has never
> worked with Firefox sources to implement this?

This would probably be a good place to start: https://developer.mozilla.org/de/docs/Introduction
Whiteboard: parity-desktop
Aaron, you'd probably know who to CC in order to mentor this bug should Marcus wish to take it on.

You'd probably need a mockup too Marcus, so I've CC'd Ian.
https://wiki.mozilla.org/Mobile/Fennec/Android has instructions that are more specific to setting up, building, and hacking Fennec.
I may (or may not) have a look at writing an add-on on Monday night.
The process looks much simpler then working on the extensive C++ codebase.
Don't know if and how an add-on has access to this kind of information and if it can access the system-clipboard.
I have set up a dev environment and am starting to find my way around the code.
I already have the new menu item in settings and should have no problem doing the new dialog similar to how it looks on the desktop.
http://marcuswolschon.blogspot.de/2013/03/improving-firefox-for-android.html

But I could really need a mentor to teach me how to do:
* localisation, 
* access to stored passwords/master password
* patch submission/review are done.

(Also your code seems to be mostly devoid of comments and the Java as well as the Android-resources part do not follow the canonical storage path conventions.)
(In reply to Marcus Wolschon from comment #9)
> I have set up a dev environment and am starting to find my way around the
> code.
> I already have the new menu item in settings and should have no problem
> doing the new dialog similar to how it looks on the desktop.
> http://marcuswolschon.blogspot.de/2013/03/improving-firefox-for-android.html

Awesome!

> But I could really need a mentor to teach me how to do:
> * localisation, 

Localisation stuff is generally done by volunteers once the patch has landed. For strings in the Java code just add the English versions to strings.xml.in and android_strings.dtd (which you mention in your blog post).

> * access to stored passwords/master password

I'm not entirely sure, to be honest. I found some MasterPassword-related code in mobile/android/chrome/content/browser.js that was added by Wes, so I'm cc'ing him here and hopefully he can answer your questions better.

> * patch submission/review are done.

See https://developer.mozilla.org/en-US/docs/Mercurial_FAQ#How_can_I_generate_a_patch_for_somebody_else_to_check-in_for_me.3F

Follow those instructions to generate the patch, and then upload it as an attachment to this bug and set the review flag to '?' to get somebody to review it. Generally it's better to put somebody specific as a reviewer.

> 
> (Also your code seems to be mostly devoid of comments and the Java as well
> as the Android-resources part do not follow the canonical storage path
> conventions.)

Yeah... fixing that is lower priority for us than other bugs so it keeps getting deferred.
Got a simple UI running quite a while ago but am Stuck on how to access the password-storage (listing, reading, editing and deleting) for month now.
Can't progress without a Mentor.
Marcus: it might be helpful if you post in-progress patches for what you've got so far. We can take a look and see if you're on the right track. Also needinfo'in Wes, maybe he can provide some info on how to access the password storage data.
Flags: needinfo?(wjohnston)
You'll want to use the login manager component to do that. its fairly well documented here:

https://developer.mozilla.org/en-US/docs/XPCOM_Interface_Reference/nsILoginManager/Using_nsILoginManager

and the idl:

http://mxr.mozilla.org/mozilla-central/source/toolkit/components/passwordmgr/nsILoginManager.idl#17

You can get at an instance of it just using Services.logins. i.e.

let logins = Services.logins.getAllLogins();
for (let login of logins) {
  console.log(login.hostname);
}

should print out all of the hostnames that have stored passwords. The API's are pretty self explanatory I think, but feel free to ping me or Justin Dolske with questions.
Flags: needinfo?(wjohnston)
Note that nsILoginManager will be going async soon (bug 853549), and so any changes should probably take that into account (ie, ideally be easy to convert to the async API when it's available).

The desktop code for the management UI is in http://mxr.mozilla.org/mozilla-central/source/toolkit/components/passwordmgr/content/

It is... not great code. It hasn't really changed much since it was written eons ago. I don't know if it's at all useful or relevant for mobile (probably not). I'd actually be happy to jettison it all in favor of a modern version! (But I also wouldn't object to going with a simple mobile-only fix here. ;)
We did this in bug 1170786.
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → DUPLICATE
Product: Firefox for Android → Firefox for Android Graveyard
You need to log in before you can comment on or make changes to this bug.