Reviewed by Darin.
authormjs <mjs@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 20 Nov 2004 02:24:08 +0000 (02:24 +0000)
committermjs <mjs@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 20 Nov 2004 02:24:08 +0000 (02:24 +0000)
commitb6b8b37967ced85cfa6fa9c6d7c72baebfc107f4
treed53c95c9276a32aa8096a00ef70797649dde2145
parent31ab592931b578f13c708a1b28f15ac6e46294cf
    Reviewed by Darin.

<rdar://problem/3482935> JavaScript so slow it seems like a hang (hrweb.apple.com) (HTMLCollection?)
<rdar://problem/3759149> PeopleSoft page in Safari twice as slow as Mozilla engine (HTMLFormCollection)
<rdar://problem/3888368> selecting an item on the Apache bugzilla query page can be improved 95% (HTMLFormCollection)

Many optimizations to HTMLFormCollection. Iterating it should not
be N^2 any more, though finding items by name could still be.

        * khtml/html/html_formimpl.cpp:
        (DOM::HTMLFormElementImpl::~HTMLFormElementImpl):
        (DOM::HTMLFormElementImpl::length):
        (DOM::HTMLFormElementImpl::submitClick):
        (DOM::HTMLFormElementImpl::formData):
        (DOM::HTMLFormElementImpl::submit):
        (DOM::HTMLFormElementImpl::reset):
        (DOM::HTMLFormElementImpl::radioClicked):
        (DOM::appendToVector):
        (DOM::removeFromVector):
        (DOM::HTMLFormElementImpl::registerFormElement):
        (DOM::HTMLFormElementImpl::removeFormElement):
        (DOM::HTMLFormElementImpl::makeFormElementDormant):
        (DOM::HTMLFormElementImpl::registerImgElement):
        (DOM::HTMLFormElementImpl::removeImgElement):
        * khtml/html/html_formimpl.h:
        * khtml/html/html_miscimpl.cpp:
        (HTMLFormCollectionImpl::FormCollectionInfo::FormCollectionInfo):
        (void::HTMLFormCollectionImpl::FormCollectionInfo::reset):
        (HTMLFormCollectionImpl::resetCollectionInfo):
        (HTMLFormCollectionImpl::calcLength):
        (HTMLFormCollectionImpl::item):
        (HTMLFormCollectionImpl::getNamedItem):
        (HTMLFormCollectionImpl::getNamedFormItem):
        (HTMLFormCollectionImpl::firstItem):
        (HTMLFormCollectionImpl::nextItem):
        * khtml/html/html_miscimpl.h:
        (DOM::HTMLFormCollectionImpl::~HTMLFormCollectionImpl):
        * khtml/xml/dom_elementimpl.cpp:
        (ElementImpl::setAttribute):
        (ElementImpl::setAttributeMap):
        * kwq/KWQPtrVector.h:
        (QPtrVector::findRef):
        * kwq/KWQVectorImpl.h:
        * kwq/KWQVectorImpl.mm:
        (KWQVectorImpl::findRef):
        * kwq/WebCoreBridge.mm:
        (-[WebCoreBridge elementWithName:inForm:]):
        (-[WebCoreBridge controlsInForm:]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8057 268f45cc-cd09-0410-ab3c-d52691b4dbfc
WebCore/ChangeLog-2005-08-23
WebCore/khtml/html/html_formimpl.cpp
WebCore/khtml/html/html_formimpl.h
WebCore/khtml/html/html_miscimpl.cpp
WebCore/khtml/html/html_miscimpl.h
WebCore/khtml/xml/dom_elementimpl.cpp
WebCore/kwq/KWQPtrVector.h
WebCore/kwq/KWQVectorImpl.h
WebCore/kwq/KWQVectorImpl.mm
WebCore/kwq/WebCoreBridge.mm