enyojs/enyo — pull request #110 by mbessey (2012-06-30 06:34:40+00:00)
Title: Fix for ENYO-548 and ENYO-569

This fixes ENYO-548 (unnecessary layout in hidden controls), and incidentally works around ENYO-569 (List losing it's viewport size when resized while hidden).

It's only *a little* scary, in that it suppresses all waterfalled resize events for hidden UiComponents. In testing with the various Onyx and layout samples, I didn't notice any unusual behavior (despite *thousands* of dropped events), but there is a potential for unexpected side-effects here. I think that the (small) risk of breaking someone's app is probably worth it for the potentially massive performance gain for anybody that uses complex layout (especially with Panels).

There is also a (hopefully minor) performance impact on events that are *not* dropped (since the controls must be checked to see if they're hidden. This could potentially cause resizing to be slower on a *really slow* browser, so it'd be worth checking on whatever our go-to slow browser is.

Would I feel better if we'd fixed this a month ago? Yes. I still think it's a worthwhile change.