Hello,

I'm running into some problems working on bug 717878, which fixes
scrollLeft/LeftMax/Top/TopMax/Width/Height for text inputs so that we
can support panning the inputs in Fennec when they overflow.

Currently, scrollLeft/LeftMax/Top/TopMax are all 0 and scrollWidth ==
clientWidth always for text inputs, because we don't return a scroll
frame for text inputs [1]. However, once we do return a scroll frame,
new problems come up.

For our text input implementation, the element's padding is not part
of the scroll frame (i.e. the padding does not scroll with the text
[2] unlike a div). As a result, after the fix, the new scrollWidth
doesn't include the padding, and because clientWidth is derived from
the scroll frame, clientWidth doesn't include the padding either. This
makes dom/tests/mochitest/general/test_offsets.html fail.

Briefly reading the spec makes the impression that both scrollWidth
and clientWidth should include the padding in this case, so at this
point I'm not sure how to fix the scroll* properties while also having
scroll/clientWidth include the padding [3]. Any ideas?

Thanks,
Jim


[1]
http://mxr.mozilla.org/mozilla-central/source/layout/forms/nsTextControlFrame.h?rev=1406ff031c19#42

[2] http://i.imgur.com/rsYaWH7.png

[3] Textareas currrently have the same problem
(http://jsfiddle.net/mj3Pz/1/), but we don't have a scroll/clientWidth
test for it, so it doesn't appear to be broken.
_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform

Reply via email to