gecko-dev/editor
Masayuki Nakano 72a41b4a70 Bug 1636855 - Disallow to paste longer text than `maxlength` value except in Nightly channel and early Beta r=emilio
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
2020-06-07 21:29:48 +00:00
..
composer Bug 1623562 - Refactor allowPlugins to use BrowsingContext. r=nika 2020-03-20 04:53:43 +00:00
libeditor Bug 1636855 - Disallow to paste longer text than `maxlength` value except in Nightly channel and early Beta r=emilio 2020-06-07 21:29:48 +00:00
reftests Bug 312971 - Unprefix -moz-read-write / -moz-read-only. r=edgar 2020-05-14 16:46:08 +00:00
spellchecker Backed out 3 changesets (bug 1638153) for perma failures on cross-origin-objects.html. CLOSED TREE 2020-06-01 23:51:35 +03:00
txmgr Bug 1633014 - Fix non-unified build errors in editor/. r=m_kato 2020-04-27 03:36:57 +00:00
AsyncSpellCheckTestHelper.jsm
moz.build Bug 1449522 - Remove nsIEditorStyleSheets. r=masayuki,m_kato 2020-04-17 22:54:48 +00:00
nsIDocumentStateListener.idl
nsIEditActionListener.idl Bug 1639161 - part 3: Get rid of `nsIEditActionListener::DidDeleteText()` r=m_kato 2020-05-21 08:23:04 +00:00
nsIEditor.idl Bug 1619914 - part 2: Mark transaction class methods and their caller methods as `MOZ_CAN_RUN_SCRIPT r=m_kato 2020-04-03 08:32:01 +00:00
nsIEditorMailSupport.idl
nsIEditorObserver.idl
nsIEditorSpellCheck.idl
nsIHTMLAbsPosEditor.idl
nsIHTMLEditor.idl Bug 1624007 - Don't check `IsSelectionRangeContainerNotContent()` for/in `GetElementOrParentElement*()` r=m_kato 2020-04-09 10:10:36 +00:00
nsIHTMLInlineTableEditor.idl
nsIHTMLObjectResizer.idl
nsITableEditor.idl Bug 1635709: part 17) Annotate `CellIndexes`'s methods with `MOZ_CAN_RUN_SCRIPT`. r=masayuki 2020-05-14 10:08:44 +00:00