Ignore:
Timestamp:
Jan 31, 2007, 5:43:13 AM (18 years ago)
Author:
mjs
Message:

JavaScriptCore:

Reviewed by Mark with help from Lars.


  • added new ListHashSet class, which combines a hashtable and a linked list to provide a set that keeps elements in inserted order


This is to assist in fixing the following:
<rdar://problem/4751164> REGRESSION: Safari places text on incorrect button when returning to a page via back [10541]
http://bugs.webkit.org/show_bug.cgi?id=10541

  • JavaScriptCore.vcproj/WTF/WTF.vcproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • wtf/HashTable.h: (WTF::HashTable::find): (WTF::HashTable::contains): (WTF::::find): (WTF::::contains):
  • wtf/ListHashSet.h: Added. (WTF::ListHashSetNode::ListHashSetNode): (WTF::ListHashSetNodeHashFunctions::hash): (WTF::ListHashSetNodeHashFunctions::equal): (WTF::ListHashSetIterator::ListHashSetIterator): (WTF::ListHashSetIterator::get): (WTF::ListHashSetIterator::operator*): (WTF::ListHashSetIterator::operator->): (WTF::ListHashSetIterator::operator++): (WTF::ListHashSetIterator::operator--): (WTF::ListHashSetIterator::operator==): (WTF::ListHashSetIterator::operator!=): (WTF::ListHashSetIterator::operator const_iterator): (WTF::ListHashSetIterator::node): (WTF::ListHashSetConstIterator::ListHashSetConstIterator): (WTF::ListHashSetConstIterator::get): (WTF::ListHashSetConstIterator::operator*): (WTF::ListHashSetConstIterator::operator->): (WTF::ListHashSetConstIterator::operator++): (WTF::ListHashSetConstIterator::operator--): (WTF::ListHashSetConstIterator::operator==): (WTF::ListHashSetConstIterator::operator!=): (WTF::ListHashSetConstIterator::node): (WTF::ListHashSetTranslator::hash): (WTF::ListHashSetTranslator::equal): (WTF::ListHashSetTranslator::translate): (WTF::::ListHashSet): (WTF::::operator): (WTF::::~ListHashSet): (WTF::::size): (WTF::::capacity): (WTF::::isEmpty): (WTF::::begin): (WTF::::end): (WTF::::find): (WTF::::contains): (WTF::::add): (WTF::::remove): (WTF::::clear): (WTF::::unlinkAndDelete): (WTF::::appendNode): (WTF::::deleteAllNodes): (WTF::::makeIterator): (WTF::::makeConstIterator): (WTF::deleteAllValues):

WebCore:

Reviewed by Mark.

  • dom/Document.cpp: (WebCore::Document::formElementsState):
  • dom/Document.h:


I couldn't figure out the back/forward support in the tests enough
to make an automated test, but this maual test reproduces the
problem 100% without this patch:


  • manual-tests/back.html: Added.
  • manual-tests/form-control-madness.html: Added.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/JavaScriptCore.vcproj/WTF/WTF.vcproj

    r18108 r19302  
    225225                </File>
    226226                <File
     227                        RelativePath="..\..\wtf\ListHashSet.h"
     228                        >
     229                </File>
     230                <File
    227231                        RelativePath="..\..\wtf\ListRefPtr.h"
    228232                        >
Note: See TracChangeset for help on using the changeset viewer.