I'm not a listed reviewer, but I have a couple of questions:

Nits:

1)  In CSS, you don't need to specify units for `0`:  `0px` is superfluous (In 
LzSprite.js).  So is `"0px"`, and `0+"px"`!  (In LzIputTextSprite.js)

2)  I think a better idiom for (m == true) is (!!m).  My 2p.

3)  I guess you are saying that it is more efficient to store the tagname as a 
sprite property than to ask for it back from the DOM?  Perhaps a comment to 
that effect so future generations do not wonder?

Issues:

1)  Why do we need this {setWidth,setHeight}/skipupdate flag?  Is there ever a 
time that the generic LFC calls setHeight that it would need a callback from 
the kernel to actually install the height?  It would seem better to me to fix 
up the sprite implementation to not use the LFC->kernel API internally when it 
is trying to send an update the other way (which is what the old `force` flag 
was for).

2)  I don't understand the change in LzTextSprite/__fontloaded from setting the 
height to the height of the contents to setting it to just 1-line high.  Why?

3)  I realize this is not part of your change, but I am concerned about the 
TODO on line 529 ff of LzTextSprite.  It seems we _have_ implemented using the 
correct tag for the measurement node, but we _have_not_ made that tag part of 
the cache key (the cache key is hardwired to 'div').  Isn't that going to screw 
up measurement if we happen to have a <text> and <inputtext> with the same 
content?  Shouldn't the `'div'` on line 533 be `this.scrolldivtagname` instead?

4) The comment at LaszloView#2440 is garbled.  Same at LaszloView#2473

On 2010-04-13, at 23:08, Max Carlson wrote:

> Change 20100410-hqm-e by [email protected] on 2010-04-10 19:31:18 EDT
>    in /Users/hqm/openlaszlo/trunk
>    for http://svn.openlaszlo.org/openlaszlo/trunk
> 
> Summary: UPDATED BY MAX: make autosizing inputtext recompute it's height 
> properly when user types
> 
> New Features:
> 
> Bugs Fixed: LPP-8591 Something mysterious about scrollHeight property in DHTML
> 
> Technical Reviewer: max
> QA Reviewer: (pending)
> Doc Reviewer: (pending)
> 
> Documentation:
> 
> Release Notes:
> 
> Overview: I tweaked this change a bit in order to make it more efficient.  I 
> also renamed some args.  Now test/lztest/lztest-textheight.lzx lists all 
> expected warnings, and things look more visually consistent across dhtml, 
> swf8 and swf10.  And of course, variable-height inputtexts resize when you 
> type in them.  And, I found and fixed a text measurement bug in IE where the 
> first time a string was measured, it could be inaccurate.
> 
> + make autosizing inputtext recompute it's height properly when user types
> 
> 
> 
> Details:
> 
> WEB-INF/lps/lfc/kernel/dhtml/LzTextSprite.js:
> Needed to add a 'skipupdate' arg to setHeight, to prevent it from
> calling back up to the LFC with the updateSize() method.
> 
> WEB-INF/lps/lfc/kernel/swf/LzTextSprite.as:
> Add new 'skipupdate' arg to setHeight (unused in this implementation, but for 
> compatibiltiy
> with DHTML)
> 
> WEB-INF/lps/lfc/kernel/swf9/LzTextSprite.as:
>  Add new 'skipupdate' arg to setHeight (unused in this implementation, but 
> for compatibiltiy
>  with DHTML)
> 
> WEB-INF/lps/lfc/kernel/dhtml/LzSprite.js:
> Added quirk for setting height to zero in order to get proper scroll height 
> in IE and Safari
> (see __textEvent() in dhtml/LzInputTextSprite.js)
> 
> WEB-INF/lps/lfc/kernel/dhtml/LzInputTextSprite.js
>  When a multiline field is supposed to be autosize it's height, update the 
> position for IE and Safari quirk, when user types into the field.
> 
> WEB-INF/lps/lfc/views/LzInputText.lzs:
> 
>  When 'onchange' event is received from kernel, multiline field
>  should update it's height to the measured text height, using
>  'updateHeight' instead of setHeight (so it doesn't turn it into a
>  fixed height field)
> 
> 
> WEB-INF/lps/lfc/views/LzText.lzs:
>  Autosizing text fields should call updateHeight, not setHeight, when updating
>  their height, so they don't turn into fixed height fields.
> 
> 
> WEB-INF/lps/lfc/views/LaszloView.lzs:
> updateHeight and updateWidth methods update the memo cache vars
> 
> WEB-INF/lps/server/src/org/openlaszlo/sc/CommonGenerator.java:
> + fix for an unrelated bug that was picked up by findBugs analysis
> 
> WEB-INF/lps/server/src/org/openlaszlo/compiler/NodeModel.java:
> + need to tell the JDOM XML parser to preserve newlines in text.
> 
> 
> test/lztest/lztest-textheight.lzx:
> 
> Retained all warnings, 
> 
> Tests: See LPP-8591
> 
> Look at text and image sizing in:
> demos/lzpix/app.lzx swf,swf10,dhtml
> calendar demo
> amazon demo
> test/lztest/lztest-textheight.lzx
> 
> test/smoke/smokecheck
> 
> Files:
> M       test/lztest/lztest-textheight.lzx
> M       WEB-INF/lps/lfc/kernel/swf/LzTextSprite.as
> M       WEB-INF/lps/lfc/kernel/dhtml/LzSprite.js
> M       WEB-INF/lps/lfc/kernel/dhtml/LzTextSprite.js
> M       WEB-INF/lps/lfc/kernel/dhtml/LzInputTextSprite.js
> M       WEB-INF/lps/lfc/kernel/swf9/LzTextSprite.as
> M       WEB-INF/lps/lfc/kernel/swf9/LzSprite.as
> M       WEB-INF/lps/lfc/views/LzInputText.lzs
> M       WEB-INF/lps/lfc/views/LzText.lzs
> M       WEB-INF/lps/lfc/views/LaszloView.lzs
> M       WEB-INF/lps/server/src/org/openlaszlo/sc/CommonGenerator.java
> M       WEB-INF/lps/server/src/org/openlaszlo/compiler/NodeModel.java
> 
> Changeset: http://svn.openlaszlo.org/openlaszlo/patches/20100410-hqm-e.tar
> 


Reply via email to