Re: Foster-parenting and taint

On Feb 25, 2009, at 15:28, Henri Sivonen wrote:

> Opera and IE prior to IE8 mode don't foster parent in the DOM. The  
> visual effect is similar to foster parenting, but content that was  
> before the <table> tag in source and content that was after are  
> rendered on different lines unlike in Gecko and WebKit.


To elaborate:

If one accepts the level of rendering differences that exist between  
Gecko/spec and IE7/Opera or WebKit and IE7/Opera as a sufficient level  
compat to be able to ship a browser, the difference in handling  
leading space characters (i.e. <table>  x</table>) between Gecko/spec  
and WebKit shouldn't matter either way. I'd even argue that the WebKit  
behavior is closer to IE7/Opera, because it doesn't join words  
accidentally.

It seems to me that tainting works better than the late flushing  
approach only in a case where comments surround a space that should  
actually separate words:
<table>foo<!-- --> <!-- -->bar</table>

This doesn't look like a compelling justification for keeping the  
tainting machinery around.

Furthermore, adopting the WebKit text foster parenting behavior would  
require violating the incremental text node rendering principle only  
if the insertion mode is "in table", "in table body" or "in row". (I'm  
currently trying to see if I can get away with violating the principle  
in all of the tree builder anyway...)

-- 
Henri Sivonen
hsivonen@iki.fi
http://hsivonen.iki.fi/

Received on Wednesday, 25 February 2009 14:26:11 UTC