Re: Allow to return same NodeList object for queries like getElementsByTagName, getElementsByClassName and getElementsByName

On Feb 12, 2010, at 3:47 AM, Maciej Stachowiak wrote:

>
> On Feb 12, 2010, at 3:19 AM, Anne van Kesteren wrote:
>
>> On Fri, 22 Jan 2010 14:11:40 +0100, Anton Muhin  
>> <antonm@chromium.org> wrote:
>>> Is it possible to allow caching for those cases?  Firefox caches  
>>> those
>>> node lists for a long time (Maciej found the related bug
>>> https://bugzilla.mozilla.org/show_bug.cgi?id=140758).  IE8 caches as
>>> well.   Opera, Safari and Chrome do not.
>>
>> Sorry for the somewhat late reply. We'd prefer not to change the  
>> specification here and keep the requirement. We're afraid of  
>> potential hard to detect incompatibility bugs if you sometimes  
>> cache and sometimes don't. We're also not convinced that you cannot  
>> get the performance win by other means.
>
> Since Firefox and IE both cache, how would it create compatibility  
> bugs for other browsers to do so as well? I think we should remove  
> the requirement unless Firefox and IE are willing to change their  
> implementations.

In addition, I should mention that likely the only observable  
difference is in setting custom ("expando") properties. If you make  
two equivalent requests for a NodeList, setting a property on one will  
show up on the other only in the case where there was caching.  
However, I think use of expando properties on NodeLists is unlikely.  
Sacrificing a lot of performance for a marginal hypothetical  
improvement in predictability of behavior does not seem like a good  
tradeoff.

Regards,
Maciej

Received on Friday, 12 February 2010 11:51:37 UTC