Hi,
I'm currently working on bug 1548389.
https://bugzilla.mozilla.org/show_bug.cgi?id=1548389
And here are the patches and binaries:
https://treeherder.mozilla.org/#/jobs?repo=try&revision=1542e008bb9fa0f97002c73298a5346002f21ffe
With this change, chrome JS will be able to unmask a part of or all of
password. However, we need to support IME composition in Android. If you
use this API when user types something via IME, we have some long
standing issues. That is, current editor sets masked text into the
anonymous text node in `<input type="password">` and makes
`TextEditRules` stores actual value for submitting the form. Therefore,
when user types password with IME, our editor inserts raw value to both
the anonymous text node and the stored value (on Android). Then, after
600ms, `TextEditor` replaces the inserted character with mask character.
I.e., every masking/unmasking causes internal DOM mutations. Therefore,
we notify IME of the text changes. So, using the new API causes IME
receiving unexpected text change and some IMEs may be caused by this.
Therefore, I'm currently reimplementing it with:
- Inserting raw value to the anonymous text node
- Mask each character as a `text-transform`
This allows we can mask/unmask password without DOM mutations nor
notifications to IME. However, this means that when you access the
anonymous text node, you may exposes the value to somewhere. For example:
- Dragging selected password inserts the raw value to the dropped point
- Double clicking shows word boundary in the password
I already have patches for solving these issues, but there might be
another issues.
If you have some concerns, let me know.
Regards,
--
Masayuki Nakano <masay...@d-toybox.com>
Working on DOM, Events, editor and IME handling for Gecko
_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform