Re: [dom] Need to describe the interaction of adoptNode with prototype chains

Le 25/12/2012 02:26, Boris Zbarsky a écrit :
> On 12/24/12 4:36 PM, David Bruant wrote:
>> Hmm... Playing with this example a bit more I've found that Gecko and
>> Chrome deviates in their behavior. Gecko only preserves the lexical
>> environment for the functions in the pre-document.open scripts and
>> deletes the binding to the global object while Chrome preserves the
>> binding to the global object.
>
> Chrome doesn't implement the document.open() parts of the spec very 
> well at all.  It doesn't create a new Window, doesn't clear event 
> listeners, etc.
>
> So testing the behavior of document.open() in Chrome is fairly pointless.
Chrome has a relevant market share, so testing in Chrome is never 
pointless.
If a web browser with relevant proves that their non-spec compliant 
behavior doesn't break the web, then the spec becomes questionable.
Every single place where browsers diverge in behavior (and don't rush to 
fix the divergence) is an opportunity to question the spec if necessary.

>> I fail to observe the step 14 in Chrome including the "change all the
>> prototypes" part, so I guess it's not web-crucial.
>
> It's pretty crucial last I checked.  There are various things broken 
> in Chrome because of its behavior here.
Do you have examples of webpages in the wild?
If they are broken, why don't they bother fixing it?

>> It could be re-spec'ed as the same thing without step 14. I think it
>> would save a lot of trouble. What do you think?
>
> I think we tried that in Gecko at one point and it wasn't 
> web-compatible enough.
Why is it web-compatible enough for Chrome? Do they have a different 
definition? if so, how does it differ?

David

Received on Tuesday, 25 December 2012 01:43:02 UTC