The Message text field in the Facebook Compose Message box does not accept text entry. Steps to reproduce: 1. Log in to Facebook 2. Choose Inbox > Compose New Message 3. Click in the Message text field 4. Type some text Result: No text appears in the Message text field Regression: This is a regression from <http://trac.webkit.org/changeset/48698>
<rdar://problem/7258171>
I have confirmed I couldn't type anything into a textarea. However, this <textarea> element actually had maxlength="0" according to the inspector. So, this is an expected behavior and a Facebook's bug. What should we do in such case?
> However, this <textarea> element actually had maxlength="0" according to the > inspector. So, this is an expected behavior and a Facebook's bug. It doesn't have maxlength="0" in an HTML text. The code seems to call "textarea.maxLength = 0" and it makes a maxlength="0" attribute.
I took a look at a Facebook JS code. I guess TextInputControl class in it does something like the following: textarea.maxLength = textarea.maxLength; If maxlength= HTML attribute is missing, .maxLength is 0 according to older HTML5 draft, so the new .maxLength becomes 0, of course. Maybe this bug will be fixed if Bug#29796 is fixed. I'll check it soon.
(In reply to comment #4) > I took a look at a Facebook JS code. > I guess TextInputControl class in it does something like the following: > textarea.maxLength = textarea.maxLength; My guess was wrong. Returning -1 for .maxLength didn't help.
I understand the Facebook code. In the definition of TextInpuTcontrol.prototype: setMaxLength:function(maxlength){ this.maxLength=maxlength; this.getRoot().maxLength=this.maxLength||null; return this; }, This code is called by UIComposer.prototype.initializeTextarea() like: initializeTextarea:function(maxLength,initialHeight){ new TextAreaControl(this.input) .setMaxLength(maxLength) .setOriginalHeight(initialHeight) .setAutogrow(true) .onfocus(); this.input.onfocus=''; }, where the maxLength parameter is 0. > this.getRoot().maxLength=this.maxLength||null; this.getRoot() is a <textarea> element. In the case of maxLength==0, null is set. null is converted to 0. So textarea.maxLength becomes 0.
I reported this issue to Facebook.
I just CCd all of the facebook.com folks with Bugzilla accounts on this bug to hopefully get this some attention. If this requires a fix on the Facebook side it would be nice to get an ETA for the fix.
*** Bug 29922 has been marked as a duplicate of this bug. ***
Created attachment 40410 [details] Reduction I've attached a reduction that demonstrates that Facebook is relying on behavior that works in Firefox but is incorrect per the HTML 5 specification.
I want to confirm this bug. Unable to insert text in response box on facebook's "inbox"
I've fixed this in our trunk; the fix will go out on Tuesday afternoon.
Thanks for the info, Ben!
*** Bug 30046 has been marked as a duplicate of this bug. ***
*** Bug 30056 has been marked as a duplicate of this bug. ***
*** Bug 30058 has been marked as a duplicate of this bug. ***
I confirmed Facebook's code has no problem now.