зеркало из https://github.com/mozilla/gecko-dev.git
72a41b4a70
Fix of bug 1320229 allowed to paste longer text than `maxlength` attribute of `<input>` and `<textarea>` because it was thought that the longer text causes "too long" invalidate state, makes users notified and prevent to submit form data. However, according to Bug 1636855 comment 7 (*1), it breaks a major enterprise web app, SAP, at least because it sends form data without checking validity of each form data and discards invalid data on server side silently. According to bug 1636855 comment 24 (*2), one of new behavior's fault is on Gecko side too. The style of `<input>` element or `<textarea>` element which has too long text after pasting is changed when it loses focus. Therefore, users can post the data before they know pasted data is too long if sending the form data with `Enter` key or something immediately after pasting (i.e., without moving focus) web apps handle it by themselves. On the other hand, the original bug report, bug 1320229, should be solved in the future especially in password field because users may register password which is cut by `maxlength` silently and they don't use builtin password manager, only the pasted password is saved, and then, they won't be able to login as the account. This is really long standing issue of the web forms. An article (*3) warned this to web developers in 2011. Therefore, we should keep going advance for solving this issue at least in Nightly channel to get more feedback from testers and web developers. 1 https://bugzilla.mozilla.org/show_bug.cgi?id=1636855#c7 2 https://bugzilla.mozilla.org/show_bug.cgi?id=1636855#c24 3 https://www.christophermanning.org/writing/dont-use-maxlength-on-password-inputs Differential Revision: https://phabricator.services.mozilla.com/D78613 |
||
---|---|---|
.. | ||
composer | ||
libeditor | ||
reftests | ||
spellchecker | ||
txmgr | ||
AsyncSpellCheckTestHelper.jsm | ||
moz.build | ||
nsIDocumentStateListener.idl | ||
nsIEditActionListener.idl | ||
nsIEditor.idl | ||
nsIEditorMailSupport.idl | ||
nsIEditorObserver.idl | ||
nsIEditorSpellCheck.idl | ||
nsIHTMLAbsPosEditor.idl | ||
nsIHTMLEditor.idl | ||
nsIHTMLInlineTableEditor.idl | ||
nsIHTMLObjectResizer.idl | ||
nsITableEditor.idl |