#1330 new

extend_IE8: elementIsExtended() always returns false

Reported by Victor | March 16th, 2012 @ 07:31 PM

Result of elementIsExtended(element) in function extend_IE8(element) is always false because extend_IE8 never writes to the cache of extended elements (EXTENDED).

For IE8 call to elementIsExtended() can be throwed away - extend_IE8 will be almost as fast as Prototype.K. I've profiled $() in IE8:

function           count time,ms
$                   2166     110
extend_IE8          2166      82
elementIsExtended   2166      58
getUniqueElementID  2166      53
RegExp.test         2166       5

Half of time $() now uselessly spends in getUniqueElementID(). IMHO this will be good trade-off for always extending applets/objects (currently IE8 always extends applets/objects and calls getUniqueElementID()).

Also EXTENDED is never shrinked (e.g. after removing elements in update() or after purgeElement()), so on long-running applications with active DOM manipulations IE6 and IE7 will consume more and more memory for this object.

Comments and changes to this ticket

Please Sign in or create a free account to add a new ticket.

With your very own profile, you can contribute to projects, track your activity, watch tickets, receive and update tickets through your email and much more.

New-ticket Create new ticket

Create your profile

Help contribute to this project by taking a few moments to create your personal profile. Create your profile ยป

The Prototype JavaScript library.

Shared Ticket Bins

People watching this ticket