On Tue, Nov 03, 2015 at 03:02:05AM -0500, Karl Dahlke wrote: > Always investigate every mystery. > It's always trying to tell us something. > > This infinite loop is caused by: > > for(;e.firstChild;) > e.removeChild(e.firstChild); > > Clearing all the nodes out from under e, simple enough, > but I implemented firstChild as a function, e.firstChild(), > so e.firstChild is always true. > Oops. > firstChild is a property, a magic property > that always means this.childNodes[0]. > Wow, how can we implement that? > Well there's a way, and it doesn't require native code, thank heaven, > but I will need to muck with all the firstChilds in starrtwindow.js, > so I think I'll hold off until Kevin sends me his next cloneNode. Excellent, thanks for spotting this Karl. I'm interested to know how one implements such magic, will be fascinated to see the code. Cheers, Adam. PS: can/should we implement a timeout for these calls pending proper asynchronicity?