Re: Tree construction: Coalescing text nodes

On Tue, Nov 17, 2009 at 8:20 AM, Henri Sivonen <hsivonen@iki.fi> wrote:
> I just realized I had written a bug that relates to coalescing foster-parented text.
>
> Consider: document.write("<table>  ");
>
> By the time the document.write() returns, it's impossible to decide if the spaces aren't going to get non-space characters in the same text node (and get foster-parented) or whether there's not going to be non-space characters (in which case the spaces shouldn't get foster-parented).
>
> I suggest not flushing the spaces when the document.write() returns and only flushing them lazily--that is, making document.write() flush trailing text only if the element on the stack isn't foster-parenting.

It seems more consistent to always flush. The only downside is that
some whitespace might get "misplaced" into a table, but this does not
seem like a big deal. And not flushing non-whitespace characters in
the case of  document.write("<table>foo") seems very unexpected.

/ Jonas

Received on Wednesday, 18 November 2009 02:17:08 UTC