1. 11 Nov, 2007 1 commit
    • aroben@apple.com's avatar
      Fix <rdar://5578982> ASSERT in... · 390aaf4f
      aroben@apple.com authored
              Fix <rdar://5578982> ASSERT in HashTable::checkTableConsistencyExceptSize beneath WebNotificationCenter
      
              The bug was due to a mismatch between HashMap::remove and
              HashTable::checkTableConsistency. HashMap::remove can delete the value
              stored in the HashTable (by derefing it), which is not normally
              allowed by HashTable. It's OK in this case because the value is about
              to be removed from the table, but HashTable wasn't aware of this.
      
              HashMap::remove now performs the consistency check itself before
              derefing the value.
      
              Darin noticed that the same bug would occur in HashSet, so I've fixed
              it there as well.
      
              Reviewed by Darin.
      
              * wtf/HashMap.h:
              (WTF::HashMap::remove): Perform the HashTable consistency check
              manually before calling deref.
              * wtf/HashSet.h:
              (WTF::HashSet::remove): Ditto.
              * wtf/HashTable.h: Made checkTableConsistency public so that HashMap
              and HashSet can call it.
              (WTF::HashTable::removeAndInvalidateWithoutEntryConsistencyCheck):
              Added.
              (WTF::HashTable::removeAndInvalidate): Added.
              (WTF::HashTable::remove):
              (WTF::HashTable::removeWithoutEntryConsistencyCheck): Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@27710 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      390aaf4f
  2. 02 Nov, 2007 1 commit
    • darin@apple.com's avatar
      JavaScriptCore: · 387d7a0e
      darin@apple.com authored
              Reviewed by Maciej.
      
              - http://bugs.webkit.org/show_bug.cgi?id=15807
                HashMap needs a take() function that combines get and remove
      
              * wtf/HashMap.h: Added take function. Simplistic implementation for now,
              but still does only one hash table lookup.
      
              * kjs/array_instance.cpp: (KJS::ArrayInstance::put): Use take rather than
              a find followed by a remove.
      
      WebCore:
      
              Reviewed by Maciej.
      
              - use the new HashMap::take function where appropriate
      
              * bindings/js/kjs_binding.cpp:
              (KJS::addWrapper): Made an inline rather than a macro; inlines good, macros bad.
              (KJS::removeWrapper): Ditto.
              (KJS::removeWrappers): Ditto.
              (KJS::ScriptInterpreter::putDOMObject): Use the inline instead of the macro.
              (KJS::ScriptInterpreter::forgetDOMObject): Ditto. This involves using take instead
              of remove -- in theory ever so slightly less efficient, but I think it's fine.
              (KJS::ScriptInterpreter::forgetDOMNodeForDocument): Ditto.
              (KJS::ScriptInterpreter::putDOMNodeForDocument): Use the inline instead of the macro.
              (KJS::ScriptInterpreter::forgetAllDOMNodesForDocument): Use take instead of find/remove.
              (KJS::ScriptInterpreter::updateDOMNodeDocument): Use the inlines instead of the macros.
      
              * bindings/js/kjs_window.cpp: (KJS::Window::clearTimeout): Use take instead of find/remove.
              * bridge/mac/AXObjectCacheMac.mm: (WebCore::AXObjectCache::remove): Ditto.
              * page/AnimationController.cpp: (WebCore::AnimationControllerPrivate::clear): Ditto.
              * rendering/RenderBlock.cpp:
              (WebCore::RenderBlock::~RenderBlock): Ditto.
              (WebCore::RenderBlock::setDesiredColumnCountAndWidth): Ditto.
              * rendering/RootInlineBox.cpp: Ditto.(WebCore::RootInlineBox::detachEllipsisBox): Ditto.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@27385 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      387d7a0e
  3. 28 Oct, 2007 1 commit
    • mjs's avatar
      Reviewed by Oliver. · 205a6c15
      mjs authored
              
              - numerous HashTable performance improvements
              
              This does not quite add up to a measurable win on SunSpider, but it allows a
              follow-on > 3% improvement and probably helps WebCore too.
              
              I made the following improvements, among others:
              
              - Made HashFunctions note whether it is ok to compare a real value with the equal() function
              to the empty or deleted value, and used this to optimize the comparisons done in hash lookup.
              
              - Specialized lookup so it doesn't have to do so many extra branches and build so many extra
              std::pairs for cases that don't need them. There are now four versions, one for read-only access,
              two for writing, and one folded directly into add() (these all were improvments).
              
              - Made HashMap::get() use lookup() directly instead of find() to avoid having to build iterators.
              
              - Made a special constructor for iterators that knows it points to
              a valid filled cell and so skips updating itself.
      
              - Reordered memory accesses in the various lookup functions for better codegetion
              
              - Made simple translators avoid passing a hash code around
              
              - Other minor tweaks
              
              * wtf/HashTable.h:
              (WTF::):
              (WTF::HashTableConstIterator::HashTableConstIterator):
              (WTF::HashTableIterator::HashTableIterator):
              (WTF::IdentityHashTranslator::translate):
              (WTF::HashTable::end):
              (WTF::HashTable::lookup):
              (WTF::HashTable::lookupForWriting):
              (WTF::HashTable::makeKnownGoodIterator):
              (WTF::HashTable::makeKnownGoodConstIterator):
              (WTF::::lookup):
              (WTF::::lookupForWriting):
              (WTF::::fullLookupForWriting):
              (WTF::::add):
              (WTF::::addPassingHashCode):
              (WTF::::reinsert):
              (WTF::::find):
              (WTF::::contains):
              * kjs/identifier.cpp:
              (WTF::):
              * wtf/HashFunctions.h:
              (WTF::):
              * wtf/HashMap.h:
              (WTF::):
              (WTF::::get):
              * wtf/HashSet.h:
              (WTF::):
              (WTF::::add):
              * wtf/ListHashSet.h:
              (WTF::ListHashSetTranslator::translate):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@27176 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      205a6c15
  4. 04 Sep, 2007 1 commit
    • mjs's avatar
      Reviewed by Darin. · 1ecd4611
      mjs authored
              
              - Added Vector::appendRange(), which appends to a vector based on a given start and end iterator
              - Added keys() and values() functions to HashMap iterators, which give keys-only and values-only iterators
              
              Together, these allow easy copying of a set, or the keys or values of a map, into a Vector. Examples:
              
              HashMap<int, int> map;
              HashSet<int> set;
              Vector<int> vec;
              // ...
              vec.appendRange(set.begin(), set.end());
              vec.appendRange(map.begin().keys(), map.end().keys());
              vec.appendRange(map.begin().values(), map.end().values());
      
              This also allows for a slightly nicer syntax when iterating a map. Instead of saying 
              (*it)->first, you can say *it.values(). Similarly for keys. Example:
              
              HashMap<int, int>::const_iterator end = map.end();
              for (HashMap<int, int>::const_iterator it = map.begin(); it != end; ++it)
              printf(" [%d => %d]", *it.keys(), *it.values());
      
              * JavaScriptCore.xcodeproj/project.pbxproj:
              * wtf/HashIterators.h: Added.
              (WTF::):
              (WTF::HashTableConstKeysIterator::HashTableConstKeysIterator):
              (WTF::HashTableConstKeysIterator::get):
              (WTF::HashTableConstKeysIterator::operator*):
              (WTF::HashTableConstKeysIterator::operator->):
              (WTF::HashTableConstKeysIterator::operator++):
              (WTF::HashTableConstValuesIterator::HashTableConstValuesIterator):
              (WTF::HashTableConstValuesIterator::get):
              (WTF::HashTableConstValuesIterator::operator*):
              (WTF::HashTableConstValuesIterator::operator->):
              (WTF::HashTableConstValuesIterator::operator++):
              (WTF::HashTableKeysIterator::HashTableKeysIterator):
              (WTF::HashTableKeysIterator::get):
              (WTF::HashTableKeysIterator::operator*):
              (WTF::HashTableKeysIterator::operator->):
              (WTF::HashTableKeysIterator::operator++):
              (WTF::HashTableKeysIterator::operator HashTableConstKeysIterator<HashTableType, KeyType, MappedType>):
              (WTF::HashTableValuesIterator::HashTableValuesIterator):
              (WTF::HashTableValuesIterator::get):
              (WTF::HashTableValuesIterator::operator*):
              (WTF::HashTableValuesIterator::operator->):
              (WTF::HashTableValuesIterator::operator++):
              (WTF::HashTableValuesIterator::operator HashTableConstValuesIterator<HashTableType, KeyType, MappedType>):
              (WTF::operator==):
              (WTF::operator!=):
              * wtf/HashTable.h:
              * wtf/Vector.h:
              (WTF::::appendRange):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@25365 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1ecd4611
  5. 06 Jul, 2007 1 commit
    • mjs's avatar
      JavaScriptCore: · 0e41367d
      mjs authored
              Reviewed by Antti.
      
              - <rdar://problem/5311093> JavaScriptCore fails to build with strict-aliasing warnings
              
              * Configurations/Base.xcconfig: Re-enable -Wstrict-aliasing
              * bindings/jni/jni_utility.cpp:
              (KJS::Bindings::getJNIEnv): Type-pun via a union instead of a pointer cast.
              * wtf/HashMap.h:
              (WTF::): Instead of doing type-punned assignments via pointer cast, do one of three things:
              (1) assign directly w/o cast if storage type matches real type; (2) assign using cast
              via union if type does not need reffing; (3) copy with memcpy and ref/deref manually if type
              needs reffing. This is ok peref-wise because memcpy of a constant length gets optomized.
              HashTraits are now expected to make ref()/deref() take the storage type, not the true type.
              * wtf/HashSet.h:
              (WTF::): Same basic idea.
              * wtf/HashTable.h:
              (WTF::): Added Assigner template for use by HashMap/HashSet. Change RefCounter to call ref()
              and deref() via storage type, avoiding the need to
              type-pun.
              (WTF::RefCounter::ref): ditto
              (WTF::RefCounter::deref): ditto
              * wtf/HashTraits.h:
              (WTF::): Change ref() and deref() for RefPtr HashTraits to take the storage type; cast
              via union to pointer type.
              * wtf/FastMalloc.cpp:
              (WTF::TCMalloc_PageHeap::init): Changed from constructor to init function so this can go in a union.
              (WTF::): redefine pageheap macro in terms of getPageHeap().
              (WTF::getPageHeap): new inline function, helper for pageheap macro. This hides the cast in a union.
              (WTF::TCMalloc_ThreadCache::InitModule): Call init() instead of using placement new to initialize page
              heap.
              * wtf/TCPageMap.h:
              (TCMalloc_PageMap1::init): Changed from constructor to init function.
              (TCMalloc_PageMap2::init): ditto
              (TCMalloc_PageMap3::init): ditto
      
      WebCore:
      
              Reviewed by Antti.
      
              - <rdar://problem/5311093> JavaScriptCore fails to build with strict-aliasing warnings
      
              * platform/StringHash.h:
              (WTF::): Adapt to newer way to do storage types.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@24059 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0e41367d
  6. 14 May, 2007 1 commit
    • ggaren's avatar
      JavaScriptCore: · 8401112a
      ggaren authored
              Reviewed by Oliver Hunt.
              
              Added HashMap::swap and HashSet::swap. WebCore now uses HashSet::swap.
              I figured while I was in the neighborhood I might as well add HashMap::swap,
              too.
      
              * wtf/HashMap.h:
              (WTF::::operator):
              (WTF::::swap):
              * wtf/HashSet.h:
              (WTF::::operator):
              (WTF::::swap):
      
      WebCore:
      
              Reviewed by Oliver Hunt.
              
              Some improvements on my last patch, suggested by Darin.
      
              * history/PageCache.cpp:
              (WebCore::PageCache::autoreleaseNow): Swap with an empty set instead of 
              building up an array and then calling clear(). This is slightly more 
              efficient and the code is cleaner.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@21468 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8401112a
  7. 13 Dec, 2006 1 commit
    • mjs's avatar
      JavaScriptCore: · ceda2dce
      mjs authored
              Reviewed by Anders.
              
              - added equality and inequality operations for HashMap and Vector, useful for comparing more complex types
      
              * wtf/HashMap.h:
              (WTF::operator==):
              (WTF::operator!=):
              * wtf/Vector.h:
              (WTF::operator==):
              (WTF::operator!=):
      
      WebCore:
      
              Reviewed by Anders.
      
              - converted many places to use ResourceRequest instead of NSURLRequest
      
              * WebCore.exp:
              * loader/DocumentLoader.h:
              * loader/FrameLoader.cpp:
              (WebCore::FrameLoader::stopPolicyCheck):
              * loader/FrameLoader.h:
              (WebCore::PolicyCheck::request):
              * loader/FrameLoaderClient.h:
              * loader/MainResourceLoader.h:
              * loader/mac/DocumentLoaderMac.mm:
              (WebCore::DocumentLoader::DocumentLoader):
              (WebCore::DocumentLoader::originalRequest):
              (WebCore::DocumentLoader::originalRequestCopy):
              (WebCore::DocumentLoader::request):
              (WebCore::DocumentLoader::initialRequest):
              (WebCore::DocumentLoader::actualRequest):
              (WebCore::DocumentLoader::URL):
              (WebCore::DocumentLoader::unreachableURL):
              (WebCore::DocumentLoader::replaceRequestURLForAnchorScroll):
              (WebCore::DocumentLoader::setRequest):
              (WebCore::DocumentLoader::stopLoading):
              (WebCore::DocumentLoader::setLastCheckedRequest):
              (WebCore::DocumentLoader::lastCheckedRequest):
              (WebCore::DocumentLoader::URLForHistory):
              * loader/mac/FrameLoaderMac.mm:
              (WebCore::FrameLoader::load):
              (WebCore::FrameLoader::startLoadingMainResource):
              (WebCore::FrameLoader::applyUserAgent):
              (WebCore::FrameLoader::originalRequest):
              (WebCore::FrameLoader::receivedMainResourceError):
              (WebCore::FrameLoader::callContinueFragmentScrollAfterNavigationPolicy):
              (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
              (WebCore::FrameLoader::commitProvisionalLoad):
              (WebCore::FrameLoader::initialRequest):
              (WebCore::FrameLoader::setRequest):
              (WebCore::FrameLoader::checkNavigationPolicy):
              (WebCore::FrameLoader::shouldReloadToHandleUnreachableURL):
              (WebCore::FrameLoader::reloadAllowingStaleData):
              (WebCore::FrameLoader::reload):
              (WebCore::FrameLoader::checkNewWindowPolicy):
              (WebCore::FrameLoader::continueAfterNewWindowPolicy):
              (WebCore::FrameLoader::continueAfterNavigationPolicy):
              (WebCore::FrameLoader::callContinueLoadAfterNavigationPolicy):
              (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
              (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
              (WebCore::FrameLoader::callContinueLoadAfterNewWindowPolicy):
              (WebCore::FrameLoader::continueLoadAfterNewWindowPolicy):
              (WebCore::FrameLoader::post):
              (WebCore::FrameLoader::addExtraFieldsToRequest):
              (WebCore::FrameLoader::isReloading):
              (WebCore::FrameLoader::referrer):
              (WebCore::FrameLoader::loadEmptyDocumentSynchronously):
              (WebCore::FrameLoader::loadResourceSynchronously):
              (WebCore::FrameLoader::originalRequestURL):
              (WebCore::PolicyCheck::set):
              (WebCore::PolicyCheck::call):
              (WebCore::PolicyCheck::clearRequest):
              * loader/mac/MainResourceLoaderMac.mm:
              (WebCore::MainResourceLoader::callContinueAfterNavigationPolicy):
              (WebCore::MainResourceLoader::continueAfterNavigationPolicy):
              (WebCore::MainResourceLoader::isPostOrRedirectAfterPost):
              * loader/mac/SubresourceLoaderMac.mm:
              (WebCore::SubresourceLoader::create):
              * loader/mac/WebDataProtocol.h:
              * loader/mac/WebDataProtocol.mm:
              * platform/KURL.cpp:
              (WebCore::operator!=):
              * platform/KURL.h:
              * platform/mac/KURLMac.mm:
              (WebCore::KURL::getNSURL):
              * platform/network/FormData.h:
              (WebCore::operator==):
              (WebCore::operator!=):
              * platform/network/ResourceRequest.cpp:
              (WebCore::operator==):
              * platform/network/ResourceRequest.h:
              * platform/network/mac/ResourceRequestMac.mm:
              (WebCore::ResourceRequest::doUpdatePlatformRequest):
      
      WebKit:
      
              Reviewed by Anders.
              
              - adjusted for changes from NSURLRequest to ResourceRequest
      
              * Plugins/WebPluginController.mm:
              * WebCoreSupport/WebFrameLoaderClient.h:
              * WebCoreSupport/WebFrameLoaderClient.mm:
              (WebFrameLoaderClient::updateHistoryForReload):
              (WebFrameLoaderClient::dispatchIdentifierForInitialRequest):
              (WebFrameLoaderClient::dispatchDecidePolicyForMIMEType):
              (WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
              (WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
              (WebFrameLoaderClient::startDownload):
              (WebFrameLoaderClient::cannotShowURLError):
              (WebFrameLoaderClient::createDocumentLoader):
              * WebView/WebDataSource.mm:
              (-[WebDataSource _initWithDocumentLoader:]):
              (-[WebDataSource initialRequest]):
              (-[WebDataSource request]):
              * WebView/WebDocumentLoaderMac.h:
              * WebView/WebDocumentLoaderMac.mm:
              (WebDocumentLoaderMac::WebDocumentLoaderMac):
              * WebView/WebFrame.mm:
              (-[WebFrame _createItem:]):
              (-[WebFrame _loadItem:withLoadType:]):
              (-[WebFrame loadArchive:]):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@18203 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ceda2dce
  8. 08 Nov, 2006 1 commit
  9. 18 Oct, 2006 1 commit
    • mjs's avatar
      JavaScriptCore: · 98cf6e09
      mjs authored
              Reviewed by Geoff.
              
              - remove vestiges of KXMLCore name (former name of WTF).
      
              * wtf/Assertions.h:
              * wtf/FastMalloc.h:
              (operator new):
              (operator delete):
              (operator new[]):
              (operator delete[]):
              * wtf/FastMallocInternal.h:
              * wtf/Forward.h:
              * wtf/GetPtr.h:
              * wtf/HashCountedSet.h:
              * wtf/HashFunctions.h:
              * wtf/HashMap.h:
              * wtf/HashSet.h:
              * wtf/HashTable.h:
              * wtf/HashTraits.h:
              * wtf/ListRefPtr.h:
              * wtf/MathExtras.h:
              * wtf/Noncopyable.h:
              * wtf/OwnArrayPtr.h:
              * wtf/OwnPtr.h:
              * wtf/PassRefPtr.h:
              * wtf/Platform.h:
              * wtf/RefPtr.h:
              * wtf/StringExtras.h:
              (snprintf):
              * wtf/UnusedParam.h:
              * wtf/Vector.h:
              * wtf/VectorTraits.h:
      
      WebCore:
      
              Reviewed by Geoff.
      
              - remove vestiges of KXMLCore name (former name of WTF).
      
              * config.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@17127 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      98cf6e09
  10. 04 Jun, 2006 1 commit
    • darin's avatar
      Reviewed by Anders. · 57617054
      darin authored
              - changed deleteAllValues so it can work on "const" collections
                Deleting the values affects the values, not the pointers in the
                collection, so it's legitimate to do it to a const collection,
                and a case of that actually came up in the XPath code.
      
              * wtf/HashMap.h:
              (WTF::deleteAllPairSeconds): Use const iterators.
              (WTF::deleteAllValues): Take const HashMap reference as a parameter.
              * wtf/HashSet.h:
              (WTF::deleteAllValues): Take const HashSet reference as a parameter,
              and use const iterators.
              * wtf/Vector.h:
              (WTF::deleteAllValues): Take const Vector reference as a parameter.
      
              - added more functions that are present in <math.h> on some platforms,
                but not on others; moved here from various files in WebCore
      
              * wtf/MathExtras.h:
              (isinf): Added.
              (isnan): Added.
              (lround): Added.
              (lroundf): Tweaked.
              (round): Added.
              (roundf): Tweaked.
              (signbit): Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@14728 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      57617054
  11. 09 May, 2006 1 commit
    • mjs's avatar
      JavaScriptCore: · bb863518
      mjs authored
              Rubber stamped by Anders.
              
              - renamed kxmlcore to wtf
              
              kxmlcore --> wtf
              KXMLCore --> WTF
              WKC --> WTF
      
              * JavaScriptCore.xcodeproj/project.pbxproj:
              * bindings/c/c_instance.cpp:
              * bindings/objc/WebScriptObject.mm:
              * kjs/JSImmediate.h:
              * kjs/Parser.cpp:
              * kjs/Parser.h:
              * kjs/array_object.cpp:
              * kjs/collector.cpp:
              (KJS::Collector::registerThread):
              * kjs/collector.h:
              * kjs/config.h:
              * kjs/function.cpp:
              (KJS::isStrWhiteSpace):
              * kjs/function.h:
              * kjs/identifier.cpp:
              * kjs/internal.cpp:
              * kjs/internal.h:
              * kjs/lexer.cpp:
              (Lexer::shift):
              (Lexer::isWhiteSpace):
              (Lexer::isIdentStart):
              (Lexer::isIdentPart):
              * kjs/lookup.cpp:
              * kjs/nodes.cpp:
              * kjs/nodes.h:
              * kjs/number_object.cpp:
              * kjs/object.h:
              * kjs/property_map.cpp:
              * kjs/property_map.h:
              * kjs/string_object.cpp:
              (StringProtoFunc::callAsFunction):
              * kjs/testkjs.cpp:
              (testIsInteger):
              * kjs/ustring.cpp:
              * kjs/ustring.h:
              * kxmlcore: Removed.
              * kxmlcore/AlwaysInline.h: Removed.
              * kxmlcore/Assertions.cpp: Removed.
              * kxmlcore/Assertions.h: Removed.
              * kxmlcore/FastMalloc.cpp: Removed.
              * kxmlcore/FastMalloc.h: Removed.
              * kxmlcore/FastMallocInternal.h: Removed.
              * kxmlcore/Forward.h: Removed.
              * kxmlcore/HashCountedSet.h: Removed.
              * kxmlcore/HashFunctions.h: Removed.
              * kxmlcore/HashMap.h: Removed.
              * kxmlcore/HashSet.h: Removed.
              * kxmlcore/HashTable.cpp: Removed.
              * kxmlcore/HashTable.h: Removed.
              * kxmlcore/HashTraits.h: Removed.
              * kxmlcore/ListRefPtr.h: Removed.
              * kxmlcore/Noncopyable.h: Removed.
              * kxmlcore/OwnArrayPtr.h: Removed.
              * kxmlcore/OwnPtr.h: Removed.
              * kxmlcore/PassRefPtr.h: Removed.
              * kxmlcore/Platform.h: Removed.
              * kxmlcore/RefPtr.h: Removed.
              * kxmlcore/TCPageMap.h: Removed.
              * kxmlcore/TCSpinLock.h: Removed.
              * kxmlcore/TCSystemAlloc.cpp: Removed.
              * kxmlcore/TCSystemAlloc.h: Removed.
              * kxmlcore/UnusedParam.h: Removed.
              * kxmlcore/Vector.h: Removed.
              * kxmlcore/VectorTraits.h: Removed.
              * kxmlcore/unicode: Removed.
              * kxmlcore/unicode/Unicode.h: Removed.
              * kxmlcore/unicode/UnicodeCategory.h: Removed.
              * kxmlcore/unicode/icu: Removed.
              * kxmlcore/unicode/icu/UnicodeIcu.h: Removed.
              * kxmlcore/unicode/posix: Removed.
              * kxmlcore/unicode/qt3: Removed.
              * kxmlcore/unicode/qt4: Removed.
              * kxmlcore/unicode/qt4/UnicodeQt4.h: Removed.
              * pcre/pcre_get.c:
              * wtf: Added.
              * wtf/Assertions.cpp:
              * wtf/Assertions.h:
              * wtf/FastMalloc.cpp:
              (WTF::TCMalloc_ThreadCache::Scavenge):
              (WTF::do_malloc):
              (WTF::do_free):
              (WTF::TCMallocGuard::TCMallocGuard):
              (WTF::malloc):
              (WTF::free):
              (WTF::calloc):
              (WTF::cfree):
              (WTF::realloc):
              * wtf/FastMalloc.h:
              * wtf/FastMallocInternal.h:
              * wtf/Forward.h:
              * wtf/HashCountedSet.h:
              * wtf/HashFunctions.h:
              * wtf/HashMap.h:
              * wtf/HashSet.h:
              * wtf/HashTable.cpp:
              * wtf/HashTable.h:
              * wtf/HashTraits.h:
              * wtf/ListRefPtr.h:
              * wtf/Noncopyable.h:
              * wtf/OwnArrayPtr.h:
              * wtf/OwnPtr.h:
              * wtf/PassRefPtr.h:
              * wtf/RefPtr.h:
              * wtf/TCSystemAlloc.cpp:
              (TCMalloc_SystemAlloc):
              * wtf/Vector.h:
              * wtf/VectorTraits.h:
              * wtf/unicode/UnicodeCategory.h:
              * wtf/unicode/icu/UnicodeIcu.h:
      
      JavaScriptGlue:
      
              Rubber stamped by Anders.
              
              - renamed kxmlcore to wtf
              
              kxmlcore --> wtf
              KXMLCore --> WTF
              WKC --> WTF
      
              * config.h:
              * kxmlcore: Removed.
              * kxmlcore/AlwaysInline.h: Removed.
              * kxmlcore/Assertions.h: Removed.
              * kxmlcore/FastMalloc.h: Removed.
              * kxmlcore/Forward.h: Removed.
              * kxmlcore/HashCountedSet.h: Removed.
              * kxmlcore/HashSet.h: Removed.
              * kxmlcore/Noncopyable.h: Removed.
              * kxmlcore/OwnArrayPtr.h: Removed.
              * kxmlcore/OwnPtr.h: Removed.
              * kxmlcore/PassRefPtr.h: Removed.
              * kxmlcore/Platform.h: Removed.
              * kxmlcore/RefPtr.h: Removed.
              * kxmlcore/Vector.h: Removed.
              * wtf: Added.
      
      WebCore:
      
              Rubber stamped by Anders.
              
              - renamed kxmlcore to wtf
              
              kxmlcore --> wtf
              KXMLCore --> WTF
              WKC --> WTF
      
              * ForwardingHeaders/kxmlcore: Removed.
              * ForwardingHeaders/kxmlcore/AlwaysInline.h: Removed.
              * ForwardingHeaders/kxmlcore/Assertions.h: Removed.
              * ForwardingHeaders/kxmlcore/FastMalloc.h: Removed.
              * ForwardingHeaders/kxmlcore/Forward.h: Removed.
              * ForwardingHeaders/kxmlcore/HashCountedSet.h: Removed.
              * ForwardingHeaders/kxmlcore/HashMap.h: Removed.
              * ForwardingHeaders/kxmlcore/HashSet.h: Removed.
              * ForwardingHeaders/kxmlcore/HashTraits.h: Removed.
              * ForwardingHeaders/kxmlcore/Noncopyable.h: Removed.
              * ForwardingHeaders/kxmlcore/OwnArrayPtr.h: Removed.
              * ForwardingHeaders/kxmlcore/OwnPtr.h: Removed.
              * ForwardingHeaders/kxmlcore/PassRefPtr.h: Removed.
              * ForwardingHeaders/kxmlcore/Platform.h: Removed.
              * ForwardingHeaders/kxmlcore/RefPtr.h: Removed.
              * ForwardingHeaders/kxmlcore/Vector.h: Removed.
              * ForwardingHeaders/wtf: Added.
              * bindings/js/JSHTMLElementWrapperFactory.h:
              * bindings/js/kjs_binding.cpp:
              * bindings/js/kjs_window.h:
              * bindings/objc/DOMImplementationFront.h:
              * bridge/JavaAppletWidget.h:
              * bridge/mac/WebCoreFrameNamespaces.mm:
              * bridge/mac/WebCorePageBridge.mm:
              (initializeLogChannel):
              * bridge/mac/WebCoreStringTruncator.mm:
              * bridge/mac/WebCoreViewFactory.m:
              * config.h:
              * css/css_base.h:
              * css/css_valueimpl.h:
              * css/csshelper.cpp:
              * css/cssparser.h:
              * dom/DOMImplementation.h:
              * dom/Document.h:
              * dom/NamedNodeMap.h:
              * dom/Node.h:
              * dom/NodeList.h:
              * dom/QualifiedName.cpp:
              * dom/Range.h:
              * dom/StyledElement.cpp:
              * dom/dom2_traversalimpl.h:
              * dom/xml_tokenizer.h:
              * editing/RebalanceWhitespaceCommand.cpp:
              * editing/RemoveCSSPropertyCommand.cpp:
              * editing/RemoveNodeAttributeCommand.cpp:
              * editing/RemoveNodeCommand.cpp:
              * editing/RemoveNodePreservingChildrenCommand.cpp:
              * editing/ReplaceSelectionCommand.h:
              * editing/Selection.cpp:
              * editing/SetNodeAttributeCommand.cpp:
              * editing/SplitElementCommand.cpp:
              * editing/SplitTextNodeCommand.cpp:
              * editing/SplitTextNodeContainingElementCommand.cpp:
              * editing/TextIterator.h:
              * editing/htmlediting.h:
              * editing/markup.h:
              * html/CanvasGradient.h:
              * html/CanvasRenderingContext2D.h:
              * html/CanvasStyle.cpp:
              * html/HTMLCollection.h:
              * html/HTMLElementFactory.h:
              * kcanvas/KCanvasFilters.cpp:
              * kcanvas/KCanvasPath.h:
              * kcanvas/RenderPath.cpp:
              * kcanvas/RenderSVGImage.cpp:
              * kcanvas/RenderSVGText.cpp:
              * kcanvas/device/quartz/KCanvasItemQuartz.mm:
              * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm:
              * kcanvas/device/quartz/QuartzSupport.mm:
              * ksvg2/misc/KSVGTimeScheduler.h:
              * ksvg2/misc/SVGDocumentExtensions.h:
              * ksvg2/scripts/make_names.pl:
              * ksvg2/svg/SVGDOMImplementation.cpp:
              * ksvg2/svg/SVGExternalResourcesRequired.h:
              * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.cpp:
              * ksvg2/svg/SVGForeignObjectElement.cpp:
              * ksvg2/svg/SVGImageElement.cpp:
              * ksvg2/svg/SVGMaskElement.cpp:
              * ksvg2/svg/SVGStyledElement.cpp:
              * ksvg2/svg/SVGTests.h:
              * ksvg2/svg/SVGTransform.h:
              * ksvg2/svg/SVGTransformable.cpp:
              * kwq/AccessibilityObjectCache.h:
              * kwq/KWQCString.cpp:
              * kwq/KWQFormData.mm:
              * kwq/KWQListBox.mm:
              * kwq/KWQResourceLoader.mm:
              * kwq/KWQTextEdit.mm:
              * loader/Cache.h:
              * loader/CachedObject.h:
              * loader/CachedObjectClientWalker.h:
              * loader/Decoder.h:
              * loader/DocLoader.h:
              * loader/loader.cpp:
              * loader/loader.h:
              * page/DOMWindow.h:
              * page/Frame.h:
              * page/FramePrivate.h:
              * page/FrameTree.cpp:
              * page/Page.cpp:
              * page/Page.h:
              * page/Plugin.h:
              * platform/Arena.cpp:
              * platform/ArrayImpl.h:
              * platform/AtomicString.cpp:
              * platform/CharsetNames.cpp:
              * platform/Color.cpp:
              * platform/DeprecatedPtrListImpl.cpp:
              * platform/DeprecatedValueListImpl.h:
              * platform/FontFallbackList.h:
              * platform/GraphicsContext.h:
              * platform/GraphicsTypes.cpp:
              * platform/Image.h:
              * platform/KURL.cpp:
              * platform/Logging.cpp:
              * platform/Logging.h:
              * platform/PlatformString.h:
              * platform/PlugInInfoStore.h:
              * platform/StreamingTextDecoder.cpp:
              * platform/StreamingTextDecoder.h:
              * platform/String.cpp:
              * platform/StringHash.h:
              * platform/StringImpl.cpp:
              * platform/StringImpl.h:
              * platform/TextEncoding.cpp:
              * platform/Timer.cpp:
              * platform/Timer.h:
              * platform/TransferJob.h:
              * platform/TransferJobInternal.h:
              * platform/mac/BlockExceptions.mm:
              * platform/mac/ColorMac.mm:
              * platform/mac/FontData.mm:
              * platform/mac/KURLMac.mm:
              * platform/mac/QStringMac.mm:
              * platform/mac/SharedTimerMac.cpp:
              * platform/mac/TextEncodingMac.cpp:
              * platform/mac/WebCoreImageRendererFactory.m:
              * platform/mac/WebCoreKeyGenerator.m:
              * platform/mac/WebCoreTextArea.mm:
              * platform/mac/WebCoreTextField.mm:
              * platform/mac/WebTextRendererFactory.h:
              * platform/mac/WebTextRendererFactory.mm:
              * platform/win/TemporaryLinkStubs.cpp:
              (JavaAppletWidget::JavaAppletWidget):
              * rendering/InlineTextBox.cpp:
              * rendering/RenderText.cpp:
              * rendering/RenderTreeAsText.cpp:
              * rendering/bidi.cpp:
              * xml/XSLTProcessor.h:
              * xpath/impl/XPathExpressionNode.h:
              * xpath/impl/XPathParser.h:
              * xpath/impl/XPathPath.h:
              * xpath/impl/XPathUtil.h:
      
      WebKit:
      
              Rubber stamped by Anders.
              
              - renamed kxmlcore to wtf
              
              kxmlcore --> wtf
              KXMLCore --> WTF
              WKC --> WTF
      
              * Misc/WebKitLogging.h:
              * Misc/WebKitLogging.m:
              (initializeLogChannel):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@14256 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bb863518
  12. 07 May, 2006 1 commit
    • mjs's avatar
      JavaScriptCore: · 21337e93
      mjs authored
              Reviewed and landed by Maciej.
      
              - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8765
              Random crashes on TOT since the form state change
              
              I haven't figured out how to construct a test for this, but this does seem to fix the
              problem; Mitz mentioned that a double-destroy was occurring in these functions.
              
              * kxmlcore/HashMap.h: (KXMLCore::HashMap::remove): Use RefCounter::deref instead of calling
              ~ValueType, because ~ValueType often results in a double-destroy, since the HashTable also
              destroys the element based on the storage type. The RefCounter template correctly does work
              only in cases where ValueType and ValueStorageType differe and this class is what's used
              elsewhere for the same purpose; I somehow missed this case when optimizing HashMap.
              * kxmlcore/HashSet.h: (KXMLCore::HashSet::remove): Ditto.
      
      WebCore:
      
              Suggested by Mitz. Reviewed and landed by Maciej.
              
              * dom/Document.cpp: (WebCore::Document::formElementsState): Fixed mistake where the
              vector has an initial size and instead should have an initial capacity. Harmless in
              a way, but hurts performance.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@14221 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      21337e93
  13. 02 May, 2006 1 commit
  14. 11 Apr, 2006 2 commits
    • darin's avatar
      JavaScriptCore: · aaf8b709
      darin authored
              - try to fix Windows build -- HashForward.h was not working
      
              * kxmlcore/HashForward.h: Removed.
      
              * JavaScriptCore.xcodeproj/project.pbxproj: Remove HashForward.h.
              * kjs/collector.h: Remove use of HashForward.h.
              * kxmlcore/HashCountedSet.h: Remove include of HashForward.h, restore
              default arguments.
              * kxmlcore/HashMap.h: Ditto.
              * kxmlcore/HashSet.h: Ditto.
      
      JavaScriptGlue:
      
              - try to fix Windows build
      
              * kxmlcore/HashForward.h: Removed.
      
      WebCore:
      
              - try to fix Windows build
      
              * ForwardingHeaders/kxmlcore/HashForward.h: Removed.
              * dom/xml_tokenizer.h: Include another header instead of HashForward.h.
              * loader/Cache.h: Ditto.
              * page/Page.h: Ditto.
              * platform/TransferJob.h: Ditto.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@13830 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      aaf8b709
    • darin's avatar
      JavaScriptCore: · 36d1136a
      darin authored
              Rubber-stamped by John Sullivan.
      
              - switched from a shell script to a makefile for generated files
              - removed lots of unneeded includes
              - added new Forward.h and HashForward.h headers that allow compiling with
                fewer unneeded templates
      
              * DerivedSources.make: Added.
              * generate-derived-sources: Removed.
              * JavaScriptCore.xcodeproj/project.pbxproj: Added new files, changed to use
              DerivedSources.make.
      
              * kxmlcore/Forward.h: Added.
              * kxmlcore/HashForward.h: Added.
      
              * kxmlcore/HashCountedSet.h: Include HashForward for default args.
              * kxmlcore/HashMap.h: Ditto.
              * kxmlcore/HashSet.h: Ditto.
      
              * kjs/object.h:
              * kjs/object.cpp:
              Moved KJS_MAX_STACK into the .cpp file.
      
              * bindings/NP_jsobject.cpp:
              * bindings/c/c_instance.h:
              * bindings/jni/jni_class.h:
              * bindings/jni/jni_runtime.h:
              * bindings/jni/jni_utility.h:
              * bindings/objc/WebScriptObject.mm:
              * bindings/objc/WebScriptObjectPrivate.h:
              * bindings/objc/objc_class.h:
              * bindings/objc/objc_class.mm:
              * bindings/objc/objc_instance.h:
              * bindings/objc/objc_instance.mm:
              * bindings/objc/objc_runtime.mm:
              * bindings/objc/objc_utility.mm:
              * bindings/runtime.h:
              * bindings/runtime_array.cpp:
              * bindings/runtime_array.h:
              * bindings/runtime_method.cpp:
              * bindings/runtime_method.h:
              * bindings/runtime_object.cpp:
              * bindings/runtime_root.h:
              * kjs/JSImmediate.cpp:
              * kjs/Parser.h:
              * kjs/array_object.cpp:
              * kjs/array_object.h:
              * kjs/bool_object.cpp:
              * kjs/bool_object.h:
              * kjs/collector.h:
              * kjs/context.h:
              * kjs/debugger.cpp:
              * kjs/error_object.h:
              * kjs/function_object.h:
              * kjs/internal.h:
              * kjs/lexer.cpp:
              * kjs/math_object.cpp:
              * kjs/math_object.h:
              * kjs/nodes.cpp:
              * kjs/nodes.h:
              * kjs/number_object.cpp:
              * kjs/number_object.h:
              * kjs/object_object.cpp:
              * kjs/operations.cpp:
              * kjs/protected_reference.h:
              * kjs/reference.h:
              * kjs/reference_list.h:
              * kjs/regexp_object.h:
              * kjs/string_object.cpp:
              * kjs/string_object.h:
              * kjs/testkjs.cpp:
              * kjs/value.cpp:
              * kjs/value.h:
              * kxmlcore/HashTable.h:
              * kxmlcore/ListRefPtr.h:
              * kxmlcore/TCPageMap.h:
              * kxmlcore/Vector.h:
              Removed unneeded header includes.
      
      JavaScriptGlue:
      
              Rubber-stamped by John Sullivan.
      
              - added forwarding headers for the new Forward.h and HashForward.h files
      
              * kxmlcore/Forward.h: Added.
              * kxmlcore/HashForward.h: Added.
      
      WebCore:
      
              Rubber-stamped by John Sullivan (except for pbxproj change).
      
              - updated to use the new Forward.h and HashForward.h headers
              - moved the showTree debugging functions out of the WebCore
                namespace so they are easier to call from gdb, and renamed
                the showTree member functions so they don't get in the way;
                now you can do "call showTree(x)" in gdb and it just works
              - removed a lot of unneeded includes
      
              * WebCore.xcodeproj/project.pbxproj: Fixed a lot of paths that
              were not relative to the enclosing group.
      
              * ForwardingHeaders/kxmlcore/Forward.h: Added.
              * ForwardingHeaders/kxmlcore/HashForward.h: Added.
              * bindings/js/JSCanvasRenderingContext2DBase.cpp:
              * bindings/js/JSXMLHttpRequest.cpp:
              * bindings/js/JSXMLHttpRequest.h:
              * bindings/js/JSXSLTProcessor.h:
              * bindings/js/kjs_binding.h:
              * bindings/js/kjs_dom.cpp:
              * bindings/js/kjs_dom.h:
              * bindings/js/kjs_events.cpp:
              * bindings/js/kjs_events.h:
              * bindings/js/kjs_html.cpp:
              * bindings/js/kjs_navigator.cpp:
              * bindings/js/kjs_navigator.h:
              * bindings/js/kjs_proxy.cpp:
              * bindings/js/kjs_traversal.h:
              * bindings/js/kjs_window.cpp:
              * bindings/js/kjs_window.h:
              * bindings/objc/DOM.mm:
              * bindings/objc/DOMCSS.mm:
              * bindings/objc/DOMCore.h:
              * bindings/objc/DOMEvents.mm:
              * bindings/objc/DOMHTML.mm:
              * bindings/objc/DOMImplementationFront.h:
              * bindings/objc/DOMInternal.mm:
              * bindings/objc/DOMUtility.mm:
              * bindings/objc/DOMViews.mm:
              * bridge/BrowserExtension.h:
              * bridge/mac/BrowserExtensionMac.mm:
              * bridge/mac/FrameMac.h:
              * bridge/mac/FrameMac.mm:
              * bridge/mac/WebCoreFrameBridge.mm:
              * bridge/mac/WebCoreFrameNamespaces.mm:
              * bridge/mac/WebCoreJavaScript.mm:
              * bridge/win/PageWin.cpp:
              * css/CSSComputedStyleDeclaration.cpp:
              * css/css_base.h:
              * css/css_ruleimpl.h:
              * css/css_valueimpl.cpp:
              * css/cssparser.cpp:
              * css/cssparser.h:
              * css/cssstyleselector.cpp:
              * css/cssstyleselector.h:
              * dom/AbstractView.h:
              * dom/AtomicStringList.h:
              * dom/Attribute.cpp:
              * dom/Attribute.h:
              * dom/Comment.cpp:
              * dom/ContainerNode.cpp:
              * dom/DOMImplementation.cpp:
              * dom/DOMImplementation.h:
              * dom/Document.cpp:
              * dom/Document.h:
              * dom/Element.h:
              * dom/EventTargetNode.cpp:
              (WebCore::EventTargetNode::dump):
              (WebCore::forbidEventDispatch):
              (WebCore::allowEventDispatch):
              (WebCore::eventDispatchForbidden):
              * dom/EventTargetNode.h:
              (WebCore::EventTargetNode::postDispatchEventHandler):
              * dom/NamedAttrMap.h:
              * dom/Node.cpp:
              (WebCore::Node::showNode):
              (WebCore::Node::showTree):
              (WebCore::Node::showTreeAndMark):
              (showTree):
              * dom/Node.h:
              * dom/NodeList.cpp:
              * dom/NodeList.h:
              * dom/Position.cpp:
              (showTree):
              * dom/Position.h:
              * dom/Range.cpp:
              * dom/Range.h:
              * dom/StyledElement.cpp:
              * dom/StyledElement.h:
              * dom/dom2_eventsimpl.cpp:
              * dom/dom2_eventsimpl.h:
              * dom/dom2_traversalimpl.h:
              * dom/dom_xmlimpl.cpp:
              * dom/xml_tokenizer.cpp:
              * dom/xml_tokenizer.h:
              * editing/AppendNodeCommand.cpp:
              * editing/ApplyStyleCommand.cpp:
              * editing/ApplyStyleCommand.h:
              * editing/BreakBlockquoteCommand.cpp:
              * editing/CompositeEditCommand.cpp:
              * editing/CreateLinkCommand.cpp:
              * editing/DeleteFromTextNodeCommand.cpp:
              * editing/DeleteFromTextNodeCommand.h:
              * editing/DeleteSelectionCommand.cpp:
              * editing/EditCommand.cpp:
              * editing/EditCommand.h:
              * editing/HTMLInterchange.cpp:
              * editing/InsertIntoTextNodeCommand.cpp:
              * editing/InsertIntoTextNodeCommand.h:
              * editing/InsertLineBreakCommand.cpp:
              * editing/InsertNodeBeforeCommand.cpp:
              * editing/InsertParagraphSeparatorCommand.cpp:
              * editing/InsertTextCommand.cpp:
              * editing/JSEditor.cpp:
              * editing/JoinTextNodesCommand.cpp:
              * editing/MergeIdenticalElementsCommand.cpp:
              * editing/ModifySelectionListLevelCommand.cpp:
              * editing/MoveSelectionCommand.cpp:
              * editing/RebalanceWhitespaceCommand.h:
              * editing/RemoveCSSPropertyCommand.h:
              * editing/ReplaceSelectionCommand.cpp:
              * editing/ReplaceSelectionCommand.h:
              * editing/Selection.cpp:
              (WebCore::Selection::formatForDebugger):
              (WebCore::Selection::showTree):
              (showTree):
              * editing/Selection.h:
              * editing/SelectionController.cpp:
              (WebCore::SelectionController::formatForDebugger):
              (WebCore::SelectionController::showTree):
              (showTree):
              * editing/SelectionController.h:
              * editing/TextIterator.cpp:
              * editing/TextIterator.h:
              * editing/TypingCommand.cpp:
              * editing/TypingCommand.h:
              * editing/UnlinkCommand.cpp:
              * editing/VisiblePosition.cpp:
              (WebCore::isEqualIgnoringAffinity):
              (WebCore::VisiblePosition::formatForDebugger):
              (WebCore::VisiblePosition::showTree):
              (showTree):
              * editing/VisiblePosition.h:
              (WebCore::VisiblePosition::VisiblePosition):
              (WebCore::operator==):
              * editing/WrapContentsInDummySpanCommand.cpp:
              * editing/htmlediting.h:
              * editing/markup.cpp:
              * editing/markup.h:
              (WebCore::):
              * editing/visible_units.cpp:
              * html/CanvasGradient.cpp:
              * html/CanvasRenderingContext2D.h:
              * html/CanvasStyle.cpp:
              * html/CanvasStyle.h:
              * html/FormDataList.cpp:
              * html/FormDataList.h:
              * html/HTMLCollection.cpp:
              * html/HTMLCollection.h:
              * html/HTMLDocument.cpp:
              * html/HTMLDocument.h:
              * html/HTMLElement.cpp:
              * html/HTMLElementFactory.cpp:
              * html/HTMLElementFactory.h:
              * html/HTMLFormCollection.cpp:
              * html/HTMLFormElement.cpp:
              * html/HTMLFormElement.h:
              * html/HTMLInputElement.cpp:
              * html/HTMLParser.cpp:
              * html/HTMLSelectElement.cpp:
              * html/HTMLSelectElement.h:
              * html/HTMLTokenizer.cpp:
              * html/HTMLTokenizer.h:
              * html/html_baseimpl.cpp:
              * html/html_headimpl.h:
              * kcanvas/KCanvasCreator.cpp:
              * kcanvas/KCanvasFilters.h:
              * kcanvas/KCanvasPath.h:
              * kcanvas/KCanvasResources.h:
              * kcanvas/KCanvasTreeDebug.cpp:
              * kcanvas/RenderPath.cpp:
              * kcanvas/RenderPath.h:
              * kcanvas/device/KRenderingDevice.h:
              * kcanvas/device/KRenderingPaintServerGradient.h:
              * kcanvas/device/KRenderingPaintServerPattern.h:
              * kcanvas/device/KRenderingPaintServerSolid.h:
              * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
              * kcanvas/device/quartz/KCanvasMaskerQuartz.h:
              * kcanvas/device/quartz/KCanvasResourcesQuartz.h:
              * kcanvas/device/quartz/KCanvasResourcesQuartz.mm:
              * kcanvas/device/quartz/KRenderingPaintServerQuartz.h:
              * khtml/misc/decoder.cpp:
              * khtml/misc/decoder.h:
              * khtml/xsl/XSLStyleSheet.cpp:
              * khtml/xsl/XSLTProcessor.cpp:
              * khtml/xsl/XSLTProcessor.h:
              * ksvg2/css/SVGRenderStyle.h:
              * ksvg2/ecma/GlobalObject.cpp:
              * ksvg2/misc/KCanvasRenderingStyle.h:
              * ksvg2/misc/SVGDocumentExtensions.h:
              * ksvg2/svg/SVGAngle.h:
              * ksvg2/svg/SVGAnimateColorElement.h:
              * ksvg2/svg/SVGAnimatedColor.h:
              * ksvg2/svg/SVGAnimatedLengthList.h:
              * ksvg2/svg/SVGAnimatedNumberList.h:
              * ksvg2/svg/SVGAnimatedString.h:
              * ksvg2/svg/SVGAnimatedTransformList.h:
              * ksvg2/svg/SVGAnimationElement.h:
              * ksvg2/svg/SVGColor.h:
              * ksvg2/svg/SVGCursorElement.h:
              * ksvg2/svg/SVGHelper.h:
              * ksvg2/svg/SVGLength.h:
              * ksvg2/svg/SVGList.h:
              * ksvg2/svg/SVGPaint.h:
              * ksvg2/svg/SVGPathSeg.h:
              * ksvg2/svg/SVGPatternElement.h:
              * ksvg2/svg/SVGSVGElement.cpp:
              * ksvg2/svg/SVGSVGElement.h:
              * ksvg2/svg/SVGStringList.h:
              * ksvg2/svg/SVGTransform.h:
              * kwq/AccessibilityObjectCache.mm:
              * kwq/ClipboardMac.mm:
              * kwq/JavaAppletWidget.mm:
              * kwq/KWQComboBox.mm:
              * kwq/KWQEditCommand.mm:
              * kwq/KWQFileButton.mm:
              * kwq/KWQKHTMLSettings.h:
              * kwq/KWQKSSLKeyGen.mm:
              * kwq/KWQLoader.mm:
              * kwq/KWQPageState.mm:
              * kwq/KWQTextEdit.mm:
              * kwq/RegularExpression.h:
              * kwq/RenderTreeAsText.cpp:
              * kwq/RenderTreeAsText.h:
              * kwq/WebCoreAXObject.mm:
              * loader/Cache.cpp:
              * loader/Cache.h:
              * loader/CachedCSSStyleSheet.cpp:
              * loader/CachedObject.h:
              * loader/CachedScript.cpp:
              * loader/CachedXBLDocument.cpp:
              * loader/CachedXBLDocument.h:
              * loader/CachedXSLStyleSheet.cpp:
              * loader/CachedXSLStyleSheet.h:
              * loader/DocLoader.cpp:
              * page/Frame.cpp:
              * page/Frame.h:
              * page/FramePrivate.h:
              * page/FrameTree.cpp:
              * page/FrameTree.h:
              * page/FrameView.cpp:
              * page/FrameView.h:
              * page/Page.cpp:
              * page/Page.h:
              * page/Plugin.h:
              (WebCore::Plugin::Plugin):
              (WebCore::Plugin::view):
              * platform/Color.cpp:
              * platform/FloatRect.h:
              * platform/Font.cpp:
              * platform/Font.h:
              * platform/FontFamily.cpp:
              * platform/GraphicsContext.cpp:
              * platform/Image.cpp:
              * platform/Image.h:
              * platform/IntRect.h:
              * platform/KURL.cpp:
              * platform/KURL.h:
              * platform/SegmentedString.h:
              * platform/Shared.h:
              * platform/StreamingTextDecoder.cpp:
              * platform/StringImpl.cpp:
              * platform/StringImpl.h:
              * platform/TextEncoding.h:
              * platform/Timer.cpp:
              * platform/Timer.h:
              * platform/TransferJob.cpp:
              * platform/TransferJob.h:
              * platform/TransferJobInternal.h:
              * platform/cairo/GraphicsContextCairo.cpp:
              * platform/cairo/ImageCairo.cpp:
              * platform/cairo/ImageSourceCairo.cpp:
              * platform/image-decoders/gif/GIFImageReader.cpp:
              * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
              * platform/mac/FontFamilyMac.mm:
              * platform/mac/FontMac.mm:
              * platform/mac/ImageMac.mm:
              * platform/mac/TextEncodingMac.cpp:
              * platform/mac/TransferJobMac.mm:
              * platform/win/FontPlatformDataWin.cpp:
              * platform/win/TransferJobWin.cpp:
              * rendering/RenderBlock.cpp:
              * rendering/RenderBlock.h:
              * rendering/RenderBox.cpp:
              * rendering/RenderBox.h:
              * rendering/RenderCanvas.cpp:
              * rendering/RenderCanvas.h:
              * rendering/RenderContainer.cpp:
              * rendering/RenderFlexibleBox.h:
              * rendering/RenderFlow.cpp:
              * rendering/RenderFlow.h:
              * rendering/RenderImage.cpp:
              * rendering/RenderImage.h:
              * rendering/RenderLayer.cpp:
              * rendering/RenderLayer.h:
              * rendering/RenderObject.cpp:
              (showTree):
              * rendering/RenderObject.h:
              * rendering/RenderTableCell.h:
              * rendering/RenderTableSection.h:
              * rendering/RenderText.cpp:
              * rendering/RenderText.h:
              * rendering/RenderTextField.cpp:
              * rendering/RenderTextFragment.h:
              * rendering/RenderTheme.h:
              * rendering/RenderThemeMac.mm:
              * rendering/RenderThemeWin.cpp:
              * rendering/bidi.cpp:
              * rendering/render_form.h:
              * rendering/render_line.cpp:
              (showTree):
              * rendering/render_line.h:
              * rendering/render_list.cpp:
              * rendering/render_replaced.cpp:
              * rendering/render_replaced.h:
              * rendering/render_style.cpp:
              * rendering/render_style.h:
              * xml/xmlhttprequest.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@13821 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      36d1136a
  15. 06 Apr, 2006 1 commit
  16. 05 Apr, 2006 1 commit
    • darin's avatar
      JavaScriptCore: · 6f2a3ef3
      darin authored
              Reviewed by Maciej.
      
              - JavaScriptCore part of fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=8049
                StringImpl hash traits deleted value creates an init routine for WebCore
                <rdar://problem/4442248> REGRESSION: WebCore has init routines (8049)
      
              Change HashMap and HashSet implementation so they fold various types together.
              This allows us to implement maps and sets that use RefPtr<WebCore::StringImpl>
              and WebCore::String in terms of the underlying raw pointer type, and hence use
              -1 for the deleted value.
      
              * kxmlcore/HashTraits.h: Added a new type to HashTraits, StorageTraits, which is a
              type to be used when storing a value that has the same layout as the type itself.
              This is used only for non-key cases. In the case of keys, the hash function must also
              be considered. Moved emptyValue out of GenericHashTraitsBase into GenericHashTraits.
              Added a new bool to HashTraits, needsRef, which indicates whether the type needs
              explicit reference counting. If the type itself has needsRef true, but the storage
              type has needsRef false, then the HashSet or HashMap has to handle the reference
              counting explicitly. Added hash trait specializations for all signed integer values
              that give -1 as the deleted value. Gave all integers StorageTraits of the canonical
              integer type of the same size so int and long will share code. Gave all pointers and
              RefPtrs StorageTraits of the appropriately sized integer type. Removed redundant
              TraitType and emptyValue definitions in the pointer specialization for HashTraits.
              Added PairBaseHashTraits, which doesn't try to set up needsDestruction and deletedValue.
              Useful for types where we don't want to force the existence of deletedValue, such as
              the type of a pair in a HashMap which is not the actual storage type. Removed an
              unneeded parameter from the DeletedValueAssigner template. Added HashKeyStorageTraits
              template, which determines what type can be used to store a given hash key type with
              a given hash function, and specialized it for pointers and RefPtr so that pointer
              hash tables share an underlying HashTable that uses IntHash.
      
              * kxmlcore/HashTable.h: Added HashTableConstIteratorAdapter, HashTableIteratorAdapter,
              NeedsRef, RefCountManagerBase, RefCountManager, HashTableRefCountManagerBase, and
              HashTableRefCountManager. All are used by both HashSet and HashMap to handle hash
              tables where the type stored is not the same as the real value type.
              
              * kxmlcore/HashFunctions.h: Added a new struct named IntTypes that finds an
              integer type given a sizeof value. Renamed pointerHash to intHash and made it
              use overloading and take integer parameters. Added an IntHash struct which is
              a hash function that works for integers. Changed PtrHash to call IntHash with
              an appropriately sized integer. Made IntHash the default hash function for
              many integer types. Made PtrHash the default hash function for RefPtr as well
              as for raw pointers.
      
              * kxmlcore/HashSet.h: Changed implementation to use a separate "storage type"
              derived from the new traits. The HashTable will use the storage type and all
              necessary translation and ref/deref is done at the HashSet level. Also reorganized
              the file so that the HashSet is at the top and has no inline implementation inside
              it so it's easy to read the interface to HashSet.
      
              * kxmlcore/HashMap.h: Changed implementation to use a separate "storage type"
              derived from the new traits. The HashTable will use the storage type and all
              necessary translation and ref/deref is done at the HashMap level. Also reorganized
              the file so that the HashMap is at the top and has no inline implementation inside
              it so it's easy to read the interface to HashMap.
      
              * kxmlcore/HashMapPtrSpec.h: Removed. Superceded by optimizations in HashMap itself.
      
              * JavaScriptCore.xcodeproj/project.pbxproj: Remove HashMapPtrSpec.h, resort files,
              and also remove some unnecessary build settings from the aggregate target that
              generates derived sources.
              * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj: Ditto.
      
      WebCore:
      
              Reviewed by Maciej.
      
              - fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=8049
                StringImpl hash traits deleted value creates an init routine for WebCore
                <rdar://problem/4442248> REGRESSION: WebCore has init routines (8049)
      
              * platform/StringHash.h: Added. Moved hash functions and such for
              WebCore::String and friends into this file so we don't have to include
              the hash traits header everywhere. Changed hashing for WebCore::StringImpl
              and WebCore::String so that they use a raw pointer for the underlying
              storage type, taking advantage of the new feature added in JavaScriptCore.
      
              * platform/AtomicString.h: Moved StrHash specialization to StringHash.h.
              * platform/PlatformString.h: Moved StrHash specialization to StringHash.h.
              * platform/StringImpl.h: Moved StrHash, CaseInsensitiveHash, and HashTraits
              to StringHash.h. Left DefaultHash behind so that you can't get the wrong
              hash function by accident if you forget to include "StringHash.h".
      
              * platform/StringImpl.cpp: Added include of StringHash.h and removed
              RefPtr<StringImpl> HashTraits<RefPtr<StringImpl> >::_deleted, which is
              the object with a global initializer causing all the trouble!
      
              * kwq/AccessibilityObjectCache.h: Changed hash function to be IntHash
              instead of PtrHash.
      
              * dom/StyledElement.cpp: Changed MappedAttributeKeyTraits to inherit from
              the generic traits in KXMLCore so we get a StorageType. Also cleaned up a
              tiny bit by adding default values to the MappedAttributeKey constructor.
      
              * platform/CharsetNames.cpp: Changed hash traits here to be a new
              TextEncodingIDHashTraits struct rather than defining new default traits
              for the integer type since more integer types have default traits in
              HashTraits.h now. Also added a specialization so this class will share
              the underlying implementation (since InvalidEncoding happens to be -1).
      
              * bridge/mac/FrameMac.h:
              * dom/Document.h:
              * dom/xml_tokenizer.h:
              * khtml/xsl/XSLTProcessor.h:
              * kwq/JavaAppletWidget.h:
              * page/FramePrivate.h:
              * page/Page.cpp:
              * platform/AtomicString.cpp:
              * platform/TransferJob.h:
              * rendering/render_applet.h:
              Added include of StringHash.h.
      
              * WebCore.xcodeproj/project.pbxproj: Added StringHash.h. Remove unneeded
              CREATE_HASH_TABLE variable in build settings. Re-sorted some file lists.
              Added quotes to the CREATE_HASH_TABLE initialization in the rule that
              builds generated files. Removed various unneeded build settings for that
              target as well.
      
              * ForwardingHeaders/kxmlcore/HashTraits.h: Added.
      
              - other minor cleanup
      
              * bridge/mac/FrameMac.mm: Sorted includes.
              * dom/Node.cpp: Removed bogus symbol after #endif.
      
              * khtml/xsl/XSLTProcessor.cpp: Sorted includes. Removed redundant using
              namespace WebCore.
              * loader/Cache.cpp: Ditto.
      
      WebKitTools:
      
              Reviewed by Maciej.
      
              * Scripts/check-for-global-initializers: Remove StringImpl from the list of files that
              are allowed to have global initializers.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@13703 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6f2a3ef3
  17. 31 Jan, 2006 1 commit
    • darin's avatar
      Reviewed by Maciej. · aa4c5ae0
      darin authored
              - added deleteAllValues for HashSet as well as HashMap
              - fixed conversion from const_iterator to iterator, which I broke a while back
      
              * kxmlcore/HashMap.h: Updated copyright date.
              * kxmlcore/HashSet.h: (KXMLCore::deleteAllValues): Added.
              * kxmlcore/HashTable.h: (KXMLCore::HashTableIterator::operator const_iterator): Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@12511 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      aa4c5ae0
  18. 28 Jan, 2006 1 commit
    • mjs's avatar
      Reviewed by Dave Hyatt. · a09640fb
      mjs authored
              
              - added a Vector class
              http://bugzilla.opendarwin.org/show_bug.cgi?id=6894
      
              * JavaScriptCore.xcodeproj/project.pbxproj:
              * kjs/internal.cpp:
              (KJS::Parser::saveNewNode): Apply Vector.
              (KJS::clearNewNodes): ditto
              * kjs/number_object.cpp:
              (integer_part_noexp): ditto
              (char_sequence): ditto
              * kjs/ustring.cpp:
              (KJS::UString::UTF8String): ditto
              * kxmlcore/HashMap.h:
              (KXMLCore::deleteAllValues): Tweaked this to only apply to HashMap,
              other versions are useful for other containers.
              * kxmlcore/Vector.h: Added. Implemented a Vector class, which should
              be usable for all Array/QVector style purposes, and also as a stack buffer
              with oversize handling. Also some helper classes to make vector operations
              as efficient as possible for POD types and for simple non-PODs like RefPtr.
              (KXMLCore::):
              (KXMLCore::VectorTypeOperations::destruct):
              (KXMLCore::VectorTypeOperations::initialize):
              (KXMLCore::VectorTypeOperations::move):
              (KXMLCore::VectorTypeOperations::uninitializedCopy):
              (KXMLCore::VectorTypeOperations::uninitializedFill):
              (KXMLCore::VectorBuffer::VectorBuffer):
              (KXMLCore::VectorBuffer::~VectorBuffer):
              (KXMLCore::VectorBuffer::deallocateBuffer):
              (KXMLCore::VectorBuffer::inlineBuffer):
              (KXMLCore::Vector::Vector):
              (KXMLCore::Vector::~Vector):
              (KXMLCore::Vector::size):
              (KXMLCore::Vector::capacity):
              (KXMLCore::Vector::isEmpty):
              (KXMLCore::Vector::at):
              (KXMLCore::Vector::operator[]):
              (KXMLCore::Vector::data):
              (KXMLCore::Vector::operator T*):
              (KXMLCore::Vector::operator const T*):
              (KXMLCore::Vector::begin):
              (KXMLCore::Vector::end):
              (KXMLCore::Vector::clear):
              (KXMLCore::Vector::fill):
              (KXMLCore::Vector::operator=):
              (KXMLCore::::Vector):
              (KXMLCore::::operator):
              (KXMLCore::::fill):
              (KXMLCore::::expandCapacity):
              (KXMLCore::::resize):
              (KXMLCore::::reserveCapacity):
              (KXMLCore::::append):
              (KXMLCore::deleteAllValues):
              * kxmlcore/VectorTraits.h: Added.
              (KXMLCore::VectorTraits): Traits to enable making Vector efficient for
              simple types.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@12435 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a09640fb
  19. 24 Jan, 2006 1 commit
    • mjs's avatar
      JavaScriptCore: · 7ad7ee64
      mjs authored
              Reviewed by Eric.
      
              - renamed PointerHash to PtrHash
              - made PtrHash the default hash function for int and pointer types that aren't further specialized
              - added an AtomicStringImpl class to make it easier and more typesafe to identity hash atomic strings
              - did appropriate consequent cleanup (very few places now need to declare a hash function)
              http://bugzilla.opendarwin.org/show_bug.cgi?id=6752
              
              * kjs/array_object.cpp:
              (ArrayProtoFunc::callAsFunction): no need to mention PointerHash
              * kjs/collector.cpp: ditto
              * kjs/identifier.cpp:
              (KXMLCore::): declare DefaultHash the new way
              * kjs/internal.cpp: no need to mention PointerHash
              * kjs/ustring.h:
              * kxmlcore/HashCountedSet.h: change how we get the default hash to make it
              easier to specialize on PtrHash
              * kxmlcore/HashFunctions.h:
              (KXMLCore::): renamed PointerHash to PtrHash; changed DefaultHash so that it has
              a Hash typedef rather than being a hash function class itself; declared DefaultHash
              for int and partializy specialized for pointer types
              * kxmlcore/HashMapPtrSpec.h:
              (KXMLCore::PtrHashIteratorAdapter::PtrHashIteratorAdapter): Slight tweaks for new
              way of handling pointer hash
              (KXMLCore::PtrHashConstIteratorAdapter::PtrHashConstIteratorAdapter): ditto
              (KXMLCore::): ditto
              * kxmlcore/HashMap.h: ditto
              * kxmlcore/HashSet.h: ditto
      
      WebCore:
      
              Reviewed by Eric.
      
              - renamed PointerHash to PtrHash
              - made PtrHash the default hash function for int and pointer types that aren't further specialized
              - added an AtomicStringImpl class to make it easier and more typesafe to identity hash atomic strings
              - did appropriate consequent cleanup (very few places now need to declare a hash function)
              http://bugzilla.opendarwin.org/show_bug.cgi?id=6752
              
              * bindings/objc/DOM.mm:
              * bridge/mac/WebCoreFrameBridge.mm:
              (-[WebCoreFrameBridge elementWithName:inForm:]):
              * css/cssstyleselector.cpp:
              (WebCore::CSSRuleSet::getIDRules):
              (WebCore::CSSRuleSet::getClassRules):
              (WebCore::CSSRuleSet::getTagRules):
              (WebCore::CSSRuleSet::addToRuleSet):
              * khtml/dom/dom_string.h:
              (KXMLCore::):
              * khtml/ecma/kjs_binding.cpp:
              (KJS::UString::UString):
              * khtml/ecma/kjs_dom.cpp:
              (KJS::DOMNode::mark):
              * khtml/ecma/kjs_html.cpp:
              (KJS::KJS::HTMLElement::classInfo):
              (KJS::HTMLElement::accessors):
              (KJS::HTMLElement::selectSetter):
              (KJS::HTMLElement::inputSetter):
              (KJS::HTMLElement::textAreaSetter):
              (KJS::HTMLElement::buttonSetter):
              * khtml/ecma/kjs_window.h:
              * khtml/editing/apply_style_command.cpp:
              (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
              * khtml/html/HTMLCollectionImpl.h:
              * khtml/html/HTMLElementImpl.cpp:
              (WebCore::HTMLElementImpl::isRecognizedTagName):
              (WebCore::inlineTagList):
              (WebCore::blockTagList):
              * khtml/html/HTMLFormCollectionImpl.cpp:
              (WebCore::HTMLFormCollectionImpl::updateNameCache):
              * khtml/html/HTMLGenericFormElementImpl.cpp:
              (WebCore::HTMLGenericFormElementImpl::name):
              (WebCore::HTMLGenericFormElementImpl::setName):
              * khtml/html/HTMLGenericFormElementImpl.h:
              * khtml/html/HTMLInputElementImpl.cpp:
              (WebCore::HTMLInputElementImpl::name):
              * khtml/html/HTMLInputElementImpl.h:
              * khtml/html/htmlfactory.cpp:
              (DOM::HTMLElementFactory::createHTMLElement):
              * khtml/html/htmlparser.cpp:
              (HTMLParser::isHeaderTag):
              (HTMLParser::isResidualStyleTag):
              (HTMLParser::isAffectedByResidualStyle):
              * khtml/xml/DocumentImpl.cpp:
              (WebCore::DocumentImpl::checkedRadioButtonForGroup):
              (WebCore::DocumentImpl::removeRadioButtonGroup):
              * khtml/xml/DocumentImpl.h:
              * khtml/xml/NodeImpl.h:
              * khtml/xml/dom_atomicstring.h:
              (DOM::AtomicString::AtomicString):
              (DOM::AtomicString::impl):
              (KXMLCore::):
              * khtml/xml/dom_stringimpl.cpp:
              (DOM::equal):
              * khtml/xml/dom_stringimpl.h:
              (KXMLCore::):
              * khtml/xml/xml_tokenizer.h:
              * ksvg2/misc/KSVGTimeScheduler.cpp:
              (KSVG::SVGTimer::notifyAll):
              * kwq/KWQKJobClasses.h:
              * kwq/KWQObject.cpp:
              * loader/CachedObject.h:
              * loader/CachedObjectClientWalker.h:
              * loader/loader.h:
              * page/Frame.cpp:
              (Frame::endAllLifeSupport):
              * rendering/render_canvas.cpp:
              (RenderCanvas::selectionRect):
              (RenderCanvas::setSelection):
              * rendering/render_canvas.h:
              * rendering/render_object.h:
              * xml/xmlhttprequest.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@12329 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7ad7ee64
  20. 23 Jan, 2006 2 commits
    • mjs's avatar
      Reviewed by Tim Omernick. · 644a80da
      mjs authored
              
              - use classes instead of free functions for extractors, this better matches how other
              things work and should avoid the need for hacky workarounds on other compilers
              http://bugzilla.opendarwin.org/show_bug.cgi?id=6748
      
              * kjs/array_object.cpp:
              * kjs/identifier.cpp:
              * kjs/internal.cpp:
              * kxmlcore/HashMap.h:
              (KXMLCore::PairFirstExtractor::extract):
              * kxmlcore/HashMapPtrSpec.h:
              (KXMLCore::):
              * kxmlcore/HashSet.h:
              (KXMLCore::IdentityExtractor::extract):
              * kxmlcore/HashTable.h:
              (KXMLCore::addIterator):
              (KXMLCore::removeIterator):
              (KXMLCore::HashTable::add):
              (KXMLCore::HashTable::isEmptyBucket):
              (KXMLCore::HashTable::isDeletedBucket):
              (KXMLCore::HashTable::HashTable):
              (KXMLCore::HashTable::lookup):
              (KXMLCore::HashTable::add):
              (KXMLCore::HashTable::reinsert):
              (KXMLCore::HashTable::find):
              (KXMLCore::HashTable::contains):
              (KXMLCore::HashTable::remove):
              (KXMLCore::HashTable::allocateTable):
              (KXMLCore::HashTable::deallocateTable):
              (KXMLCore::HashTable::expand):
              (KXMLCore::HashTable::rehash):
              (KXMLCore::HashTable::clear):
              (KXMLCore::HashTable::swap):
              (KXMLCore::HashTable::operator):
              (KXMLCore::HashTable::checkTableConsistency):
              (KXMLCore::HashTable::checkTableConsistencyExceptSize):
              (KXMLCore::HashTable::invalidateIterators):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@12328 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      644a80da
    • mjs's avatar
      JavaScriptCore: · ba7cd536
      mjs authored
              Rubber stamped by Tim Hatcher.
              
              - renamed inert() operation on HashSet, HashCountedSet and HashTable to add()
              for consistency with HashMap
      
              * kjs/array_object.cpp:
              (ArrayProtoFunc::callAsFunction):
              * kjs/collector.cpp:
              (KJS::Collector::protect):
              * kjs/identifier.cpp:
              (KJS::Identifier::add):
              * kxmlcore/HashCountedSet.h:
              (KXMLCore::::add):
              * kxmlcore/HashMap.h:
              (KXMLCore::::inlineAdd):
              * kxmlcore/HashSet.h:
              (KXMLCore::::add):
              * kxmlcore/HashTable.h:
              (KXMLCore::HashTable::add):
              (KXMLCore::::add):
              (KXMLCore::::HashTable):
      
      WebCore:
      
              Rubber stamped by Tim Hatcher.
              
              - renamed inert() operation on HashSet, HashCountedSet and HashTable to add()
              for consistency with HashMap
      
              * bridge/mac/MacFrame.mm:
              (MacFrame::didTellBridgeAboutLoad):
              * khtml/ecma/kjs_dom.cpp:
              (KJS::DOMNode::mark):
              * khtml/html/HTMLElementImpl.cpp:
              (WebCore::HTMLElementImpl::isRecognizedTagName):
              (WebCore::inlineTagList):
              (WebCore::blockTagList):
              * khtml/html/HTMLFormCollectionImpl.cpp:
              (WebCore::HTMLFormCollectionImpl::updateNameCache):
              * khtml/html/htmlparser.cpp:
              (HTMLParser::isHeaderTag):
              (HTMLParser::isResidualStyleTag):
              (HTMLParser::isAffectedByResidualStyle):
              * khtml/xml/DocumentImpl.cpp:
              (WebCore::DocumentImpl::addElementById):
              (WebCore::DocumentImpl::registerDisconnectedNodeWithEventListeners):
              * khtml/xml/NodeImpl.cpp:
              (WebCore::NodeImpl::registerNodeList):
              * khtml/xml/dom_atomicstring.cpp:
              (DOM::AtomicString::add):
              * khtml/xml/dom_qname.cpp:
              (DOM::QualifiedName::QualifiedName):
              * loader/CachedObject.cpp:
              (WebCore::CachedObject::ref):
              * page/Frame.cpp:
              (Frame::keepAlive):
              * rendering/render_canvas.cpp:
              (RenderCanvas::addWidget):
              * rendering/render_frames.cpp:
              (WebCore::RenderPartObject::updateWidget):
              * rendering/render_line.cpp:
              (WebCore::InlineFlowBox::paint):
              * xml/xmlhttprequest.cpp:
              (WebCore::XMLHttpRequest::addToRequestsByDocument):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@12321 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ba7cd536
  21. 22 Jan, 2006 1 commit
  22. 22 Dec, 2005 1 commit
    • mjs's avatar
      JavaScriptCore: · ed5d76d4
      mjs authored
              Reviewed by Darin.
      
              - Make HashMap/HashSet support non-POD types
              http://bugzilla.opendarwin.org/show_bug.cgi?id=5332
      
              The changes for support are relatively simple, but I also made extensive changes to
              avoid copying, so that there isn't refcount thrash when you put RefPtrs into a HashMap.
      
              * kxmlcore/HashTable.h:
              (KXMLCore::swap): specialize swap for pairs, to swap elements individually,
      	so that excess copies can be avoided.
              (KXMLCore::Mover::move): Template function to either copy or swap, used
      	when transferring elements from old table to new.
              (KXMLCore::IdentityHashTranslator::hash): The old "converting lookup" templates
      	that took two or three function parameters now take a class parameter, this is
      	the class used to do a normal lookup.
              (KXMLCore::IdentityHashTranslator::equal): Ditto.
              (KXMLCore::IdentityHashTranslator::translate): Ditto. Translate now takes a reference
      	to write into instead of returning a value to avoid redundant copies.
              (KXMLCore::HashTable::~HashTable): Use deallocateTable instead of freeing directly.
              (KXMLCore::HashTable::insert): Based on HashTranslator now instead of separate
      	functions. Added a FIXME about a remaining rare excess copy.
              (KXMLCore::HashTable::isEmptyBucket): Use KeyTraits directly instead of unwrapping
      	the key from Traits, to avoid creating and destroying pair, which copies.
              (KXMLCore::HashTable::isDeletedBucket): ditto
              (KXMLCore::HashTable::lookup): Use HashTranslator now instead of separate functions.
              (KXMLCore::HashTable::initializeBucket): Renamed from emptyBucket. Use placement new to
      	work right for non-POD types.
              (KXMLCore::HashTable::deleteBucket): Use assignDeleted to avoid excess copies.
              (KXMLCore::HashTable::reinsert): use Mover template to copy or swap as appropriate
              (KXMLCore::HashTable::allocateTable): Initialize every bucket if calloc won't do.
              (KXMLCore::HashTable::deallocateTable): Destruct every bucket if needed.
              (KXMLCore::HashTable::rehash): Avoid copy before reinserting, so that swap can do its magic.
              (KXMLCore::HashTable::clear): use deallocateTable instead of freeing directly.
              (KXMLCore::HashTable::HashTable): be more dumb when copying to ensure that non-POD types
      	work right
              * kxmlcore/HashFunctions.h:
              (KXMLCore::PointerHash): Specialize PointerHash for RefPtr
              * kxmlcore/HashMap.h:
              (KXMLCore::extractFirst): Return a reference not a full object to avoid
      	copies.
              (KXMLCore::HashMapTranslator::hash): Use a special translator for insertion
      	to defer making the pair as long as possible, thus avoiding needless copies.
              (KXMLCore::HashMapTranslator::equal): ditto
              (KXMLCore::HashMapTranslator::translate): ditto
              (KXMLCore::::inlineAdd): Shared by set and add to insert using HashMapTranslator
              (KXMLCore::::set): Use inlineAdd
              (KXMLCore::::add): Use inlineAdd
              * kxmlcore/HashMapPtrSpec.h:
              (KXMLCore::): Pass KeyTraits along
              * kxmlcore/HashSet.h:
              (KXMLCore::identityExtract): Return a reference not a full object to avoid copies.
              (KXMLCore::HashSetTranslatorAdapter::hash): Redo adapter stuff to work with
      	the new HashTranslator approach.
              (KXMLCore::HashSetTranslatorAdapter::equal): ditto
              (KXMLCore::HashSetTranslatorAdapter::translate): ditto
              (KXMLCore::::insert): ditto
              * kxmlcore/HashTraits.h:
              (KXMLCore::GenericHashTraits): This is intended be used as a base class for
      	customized traits: sensible defaults.
              (KXMLCore::): Use it a bunch
              (KXMLCore::assignDeleted): template function to allow pairs to be assigned the
      	deleted value w/o excess copies.
              (KXMLCore::PairHashTraits::emptyValue): Updated
              (KXMLCore::PairHashTraits::deletedValue): Updated
              (KXMLCore::PairHashTraits::assignDeletedValue): part of assignDeleted hack
              (KXMLCore::DeletedValueAssigner::assignDeletedValue): Use template magic
      	to either use use deletedValue or assignDeletedValue for the cases where we care.
              * kxmlcore/RefPtr.h:
              (KXMLCore::RefPtr::swap): Added swap method.
              (KXMLCore::swap): Added swap free function.
              * kjs/identifier.cpp:
              (KJS::CStringTranslator::hash): Use new HashTranslator class approach to
      	alternate type based insertion.
              (KJS::CStringTranslator::equal): ditto
              (KJS::CStringTranslator::translate): ditto
              (KJS::Identifier::add): ditto
              (KJS::UCharBufferTranslator::hash): ditto
              (KJS::UCharBufferTranslator::equal): ditto
              (KJS::UCharBufferTranslator::translate): ditto
      
      	- irrelevant change:
      
              * kjs/array_object.cpp:
              (ArrayProtoFunc::callAsFunction): Removed a stray space.
      
      WebCore:
      
              Reviewed by Darin.
      
              - update for new HashTranslator stuff
      
              * khtml/xml/dom_atomicstring.cpp:
              (DOM::CStringTranslator::hash):
              (DOM::CStringTranslator::equal):
              (DOM::CStringTranslator::translate):
              (DOM::AtomicString::equal):
              (DOM::AtomicString::add):
              (DOM::QCharBufferTranslator::hash):
              (DOM::QCharBufferTranslator::equal):
              (DOM::QCharBufferTranslator::translate):
              * khtml/xml/dom_qname.cpp:
              (DOM::QNameComponentsTranslator::hash):
              (DOM::QNameComponentsTranslator::equal):
              (DOM::QNameComponentsTranslator::translate):
              (DOM::QualifiedName::QualifiedName):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@11739 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ed5d76d4
  23. 13 Dec, 2005 1 commit
    • mjs's avatar
      JavaScriptCore: · c4bb2950
      mjs authored
              Reviewed by Eric.
      
      	- added a new HashCountedSet class for the common pattern of mapping items to counts that can change
      
              * kxmlcore/HashCountedSet.h: Added.
              (KXMLCore::HashCountedSet::*): Implemented, on top of HashMap.
              * kxmlcore/HashMap.h:
              (KXMLCore::HashMap::add): New method - does not replace existing value if key already present
      	but otherwise like set().
              (KXMLCore::HashMap::set): Improved comments.
              * kxmlcore/HashMapPtrSpec.h:
              (KXMLCore::HashMap::add): Added to specializations too.
              * JavaScriptCore.xcodeproj/project.pbxproj: Add new  file.
              * kxmlcore/HashFunctions.h: Added include of stdint.h
      
      	- replaced the custom hashtable for values protected from GC with HashCountedSet
      
              * kjs/collector.cpp:
              (KJS::Collector::protect): Moved code here from ProtectedValues::increaseProtectCount
      	since the code is so simple now.
              (KJS::Collector::unprotect): Ditto for ProtectedValues::decreaseProtectCount.
              (KJS::Collector::markProtectedObjects): Updated for new way of doing things, now
      	simpler and safer.
              (KJS::Collector::numReferencedObjects): ditto
              (KJS::Collector::rootObjectClasses): ditto
              * kjs/collector.h: Added protect and unprotect static methods
              * kjs/protect.h:
              (KJS::gcProtect): Updated for removal of ProtectedValues class
              (KJS::gcUnprotect): likewise
              * kjs/protected_values.cpp: Removed.
              * kjs/protected_values.h: Removed.
      
      WebCore:
      
              Reviewed by Eric.
      
              - updated for new HashCountedSet class
      
              * ForwardingHeaders/kxmlcore/HashCountedSet.h: Added forwarding header.
              * khtml/ecma/kjs_binding.cpp: Moved #define to disable pointer specialization higher
      	in the file.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@11561 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c4bb2950
  24. 28 Sep, 2005 1 commit
    • mjs's avatar
      JavaScriptCore: · f025068f
      mjs authored
              Reviewed by Eric.
      
      	- move HashMap/HashSet code down to JavaScriptCore
      	http://bugzilla.opendarwin.org/show_bug.cgi?id=5161
      
              * JavaScriptCore.xcodeproj/project.pbxproj:
              * kjs/internal.cpp:
              (KJS::interpreterMap): Function that fetches the interpreter map on demand.
              (KJS::InterpreterImp::InterpreterImp): Replace use of InterpreterMap
      	class with an appropriate HashMap.
              (KJS::InterpreterImp::clear): ditto
              (KJS::InterpreterImp::interpreterWithGlobalObject): ditto
              * kjs/interpreter_map.cpp: Removed.
              * kjs/interpreter_map.h: Removed.
      
      	The HashMap/HashSet code (copied and slightly tweaked from WebCore)
      
      	* kxmlcore/HashFunctions.h: Added.
              (KXMLCore::4):
              (KXMLCore::8):
              (KXMLCore::):
              (KXMLCore::PointerHash::hash):
              (KXMLCore::PointerHash::equal):
              * kxmlcore/HashMap.h: Added.
              (KXMLCore::extractFirst):
              (KXMLCore::HashMap::HashMap):
              (KXMLCore::::size):
              (KXMLCore::::capacity):
              (KXMLCore::::isEmpty):
              (KXMLCore::::begin):
              (KXMLCore::::end):
              (KXMLCore::::find):
              (KXMLCore::::contains):
              (KXMLCore::::set):
              (KXMLCore::::get):
              (KXMLCore::::remove):
              (KXMLCore::::clear):
              (KXMLCore::deleteAllValues):
              * kxmlcore/HashMapPtrSpec.h: Added.
              (KXMLCore::PointerHashIteratorAdapter::PointerHashIteratorAdapter):
              (KXMLCore::PointerHashIteratorAdapter::operator*):
              (KXMLCore::PointerHashIteratorAdapter::operator->):
              (KXMLCore::PointerHashIteratorAdapter::operator++):
              (KXMLCore::PointerHashIteratorAdapter::operator==):
              (KXMLCore::PointerHashIteratorAdapter::operator!=):
              (KXMLCore::PointerHashConstIteratorAdapter::PointerHashConstIteratorAdapter):
              (KXMLCore::PointerHashConstIteratorAdapter::operator*):
              (KXMLCore::PointerHashConstIteratorAdapter::operator->):
              (KXMLCore::PointerHashConstIteratorAdapter::operator++):
              (KXMLCore::PointerHashConstIteratorAdapter::operator==):
              (KXMLCore::PointerHashConstIteratorAdapter::operator!=):
              (KXMLCore::):
              * kxmlcore/HashSet.h: Added.
              (KXMLCore::identityExtract):
              (KXMLCore::convertAdapter):
              (KXMLCore::HashSet::HashSet):
              (KXMLCore::::size):
              (KXMLCore::::capacity):
              (KXMLCore::::isEmpty):
              (KXMLCore::::begin):
              (KXMLCore::::end):
              (KXMLCore::::find):
              (KXMLCore::::contains):
              (KXMLCore::::insert):
              (KXMLCore::::remove):
              (KXMLCore::::clear):
              * kxmlcore/HashTable.cpp: Added.
              (KXMLCore::HashTableStats::~HashTableStats):
              (KXMLCore::HashTableStats::recordCollisionAtCount):
              * kxmlcore/HashTable.h: Added.
              (KXMLCore::HashTableIterator::skipEmptyBuckets):
              (KXMLCore::HashTableIterator::HashTableIterator):
              (KXMLCore::HashTableIterator::operator*):
              (KXMLCore::HashTableIterator::operator->):
              (KXMLCore::HashTableIterator::operator++):
              (KXMLCore::HashTableIterator::operator==):
              (KXMLCore::HashTableIterator::operator!=):
              (KXMLCore::HashTableConstIterator::HashTableConstIterator):
              (KXMLCore::HashTableConstIterator::operator*):
              (KXMLCore::HashTableConstIterator::operator->):
              (KXMLCore::HashTableConstIterator::skipEmptyBuckets):
              (KXMLCore::HashTableConstIterator::operator++):
              (KXMLCore::HashTableConstIterator::operator==):
              (KXMLCore::HashTableConstIterator::operator!=):
              (KXMLCore::HashTable::HashTable):
              (KXMLCore::HashTable::~HashTable):
              (KXMLCore::HashTable::begin):
              (KXMLCore::HashTable::end):
              (KXMLCore::HashTable::size):
              (KXMLCore::HashTable::capacity):
              (KXMLCore::HashTable::insert):
              (KXMLCore::HashTable::isEmptyBucket):
              (KXMLCore::HashTable::isDeletedBucket):
              (KXMLCore::HashTable::isEmptyOrDeletedBucket):
              (KXMLCore::HashTable::hash):
              (KXMLCore::HashTable::equal):
              (KXMLCore::HashTable::identityConvert):
              (KXMLCore::HashTable::extractKey):
              (KXMLCore::HashTable::lookup):
              (KXMLCore::HashTable::shouldExpand):
              (KXMLCore::HashTable::mustRehashInPlace):
              (KXMLCore::HashTable::shouldShrink):
              (KXMLCore::HashTable::shrink):
              (KXMLCore::HashTable::clearBucket):
              (KXMLCore::HashTable::deleteBucket):
              (KXMLCore::HashTable::makeLookupResult):
              (KXMLCore::HashTable::makeIterator):
              (KXMLCore::HashTable::makeConstIterator):
              (KXMLCore::::lookup):
              (KXMLCore::::insert):
              (KXMLCore::::reinsert):
              (KXMLCore::::find):
              (KXMLCore::::contains):
              (KXMLCore::::remove):
              (KXMLCore::::allocateTable):
              (KXMLCore::::expand):
              (KXMLCore::::rehash):
              (KXMLCore::::clear):
              (KXMLCore::::HashTable):
              (KXMLCore::::swap):
              (KXMLCore::::operator):
              (KXMLCore::::checkTableConsistency):
              (KXMLCore::::checkTableConsistencyExceptSize):
              * kxmlcore/HashTraits.h: Added.
              (KXMLCore::HashTraits::emptyValue):
              (KXMLCore::):
              (KXMLCore::PairHashTraits::emptyValue):
              (KXMLCore::PairHashTraits::deletedValue):
      
      WebCore:
      
              Reviewed by Eric.
      
      	- move HashMap/HashSet code down to JavaScriptCore; adapt usage to the new header location
      	http://bugzilla.opendarwin.org/show_bug.cgi?id=5161
      
              * ForwardingHeaders/kxmlcore/HashMap.h: Added.
              * ForwardingHeaders/kxmlcore/HashSet.h: Added.
              * ForwardingHeaders/misc/hashmap.h: Removed.
              * ForwardingHeaders/misc/hashset.h: Removed.
              * ForwardingHeaders/misc/pointerhash.h: Removed.
              * WebCore.xcodeproj/project.pbxproj:
              * khtml/css/cssstyleselector.cpp:
              (khtml::CSSRuleSet::getIDRules):
              (khtml::CSSRuleSet::getClassRules):
              (khtml::CSSRuleSet::getTagRules):
              (khtml::CSSRuleSet::getUniversalRules):
              (khtml::CSSRuleSet::addToRuleSet):
              * khtml/css/cssstyleselector.h:
              * khtml/ecma/kjs_binding.cpp:
              * khtml/editing/jsediting.cpp:
              * khtml/html/html_documentimpl.cpp:
              (DOM::addItemToMap):
              * khtml/html/html_documentimpl.h:
              * khtml/html/html_elementimpl.cpp:
              * khtml/html/html_formimpl.cpp:
              (DOM::HTMLFormElementImpl::radioButtonChecked):
              * khtml/html/html_formimpl.h:
              * khtml/html/htmlfactory.cpp:
              (DOM::HTMLElementFactory::createHTMLElement):
              * khtml/html/htmlparser.cpp:
              (HTMLParser::getNode):
              * khtml/xml/dom_atomicstring.cpp:
              * khtml/xml/dom_qname.cpp:
              * khtml/xml/dom_stringimpl.h:
              (KXMLCore::):
              (KXMLCore::CaseInsensitiveHash::hash):
              (KXMLCore::CaseInsensitiveHash::equal):
              * khtml/xml/xml_tokenizer.cpp:
              * kwq/DOM.mm:
              (ObjCEventListener::ObjCEventListener):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@10653 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f025068f
  25. 06 Aug, 2005 1 commit
    • darin's avatar
      Reviewed by Dave Hyatt. · 8e309a3c
      darin authored
              - added a "set" operation to HashMap for cases where you want to either insert or
                modify an existing map entry; the "set" name is based on symmetry with get, and also on
                the naming used for similar operations in CFDictionary.
      
              * khtml/misc/hashmap.h: Small tweak to insert and added set.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@10070 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8e309a3c
  26. 09 Jul, 2005 1 commit
    • hyatt's avatar
      Fix for bugzilla bug 3405, replace NodeImpl::Id with a new class, · 59136b7a
      hyatt authored
      	QualifiedName, to represent tag names (for DOM elements and CSS
      	selectors).
      
              Reviewed by mjs
      
              * WebCore.pbproj/project.pbxproj:
              * khtml/css/css_base.cpp:
              (CSSSelector::anyTagName):
              (CSSSelector::print):
              (CSSSelector::specificity):
              (CSSSelector::selectorText):
              * khtml/css/css_base.h:
              (DOM::CSSNamespace::uri):
              (DOM::CSSNamespace::prefix):
              (DOM::CSSNamespace::namespaceForPrefix):
              (DOM::CSSSelector::CSSSelector):
              (DOM::CSSSelector::hasTag):
              * khtml/css/css_ruleimpl.cpp:
              * khtml/css/css_ruleimpl.h:
              * khtml/css/css_stylesheetimpl.cpp:
              (CSSStyleSheetImpl::addNamespace):
              (CSSStyleSheetImpl::determineNamespace):
              * khtml/css/css_stylesheetimpl.h:
              * khtml/css/cssparser.cpp:
              (CSSParser::CSSParser):
              (CSSParser::parseSheet):
              * khtml/css/cssparser.h:
              * khtml/css/cssstyleselector.cpp:
              (khtml::CSSStyleSelector::matchRules):
              (khtml::CSSStyleSelector::matchRulesForList):
              (khtml::CSSStyleSelector::canShareStyleWithElement):
              (khtml::CSSStyleSelector::adjustRenderStyle):
              (khtml::CSSStyleSelector::checkSelector):
              (khtml::CSSStyleSelector::checkOneSelector):
              (khtml::CSSRuleSet::addRule):
              * khtml/css/cssstyleselector.h:
              (khtml::CSSRuleSet::getTagRules):
              * khtml/css/parser.y:
              * khtml/dom/css_stylesheet.cpp:
              (LinkStyle::operator = ):
              (LinkStyle::sheet):
              * khtml/dom/dom_element.cpp:
              (Element::tagName):
              * khtml/dom/dom_node.cpp:
              (Node::namespaceURI):
              (Node::setPrefix):
              * khtml/dom/dom_node.h:
              * khtml/dom/html_base.cpp:
              (HTMLBodyElement::operator = ):
              (HTMLFrameElement::operator = ):
              (HTMLIFrameElement::operator = ):
              (HTMLFrameSetElement::operator = ):
              (HTMLHeadElement::operator = ):
              (HTMLHtmlElement::operator = ):
              * khtml/dom/html_block.cpp:
              (HTMLBlockquoteElement::operator = ):
              (HTMLDivElement::operator = ):
              (HTMLHRElement::operator = ):
              (HTMLHeadingElement::operator = ):
              (HTMLParagraphElement::operator = ):
              (HTMLPreElement::operator = ):
              * khtml/dom/html_element.cpp:
              (HTMLElement::assignOther):
              * khtml/dom/html_element.h:
              * khtml/dom/html_form.cpp:
              (HTMLButtonElement::operator = ):
              (HTMLFieldSetElement::operator = ):
              (HTMLFormElement::operator = ):
              (HTMLInputElement::operator = ):
              (HTMLLabelElement::operator = ):
              (HTMLLegendElement::operator = ):
              (HTMLOptGroupElement::operator = ):
              (HTMLSelectElement::operator = ):
              (HTMLTextAreaElement::operator = ):
              (HTMLOptionElement::operator = ):
              (HTMLIsIndexElement::operator = ):
              * khtml/dom/html_head.cpp:
              (HTMLBaseElement::operator = ):
              (HTMLLinkElement::operator = ):
              (HTMLMetaElement::operator = ):
              (HTMLScriptElement::operator = ):
              (HTMLStyleElement::operator = ):
              (HTMLTitleElement::operator = ):
              * khtml/dom/html_image.cpp:
              (HTMLAreaElement::operator = ):
              (HTMLImageElement::operator = ):
              (HTMLMapElement::operator = ):
              * khtml/dom/html_inline.cpp:
              (HTMLAnchorElement::operator = ):
              (HTMLBRElement::operator = ):
              (HTMLFontElement::operator = ):
              (HTMLModElement::HTMLModElement):
              (HTMLModElement::operator = ):
              (HTMLQuoteElement::HTMLQuoteElement):
              (HTMLQuoteElement::operator = ):
              * khtml/dom/html_inline.h:
              * khtml/dom/html_list.cpp:
              (HTMLDListElement::operator = ):
              (HTMLDirectoryElement::operator = ):
              (HTMLLIElement::operator = ):
              (HTMLMenuElement::operator = ):
              (HTMLOListElement::operator = ):
              (HTMLUListElement::operator = ):
              * khtml/dom/html_misc.cpp:
              (HTMLBaseFontElement::operator = ):
              * khtml/dom/html_object.cpp:
              (DOM::HTMLAppletElement::operator = ):
              (DOM::HTMLObjectElement::operator = ):
              (DOM::HTMLParamElement::operator = ):
              * khtml/dom/html_table.cpp:
              (HTMLTableCaptionElement::operator = ):
              (HTMLTableCellElement::operator = ):
              (HTMLTableColElement::operator = ):
              (HTMLTableElement::operator = ):
              (HTMLTableRowElement::operator = ):
              (HTMLTableSectionElement::operator = ):
              * khtml/ecma/kjs_css.cpp:
              (KJS::DOMStyleSheetList::tryGet):
              * khtml/ecma/kjs_dom.cpp:
              (KJS::DOMNode::putValue):
              (KJS::DOMElement::tryGet):
              (KJS::getRuntimeObject):
              * khtml/ecma/kjs_html.cpp:
              (KJS::HTMLDocument::tryGet):
              (KJS::KJS::HTMLDocument::putValue):
              (KJS::KJS::HTMLElement::classInfo):
              (KJS::):
              (KJS::HTMLElement::getSetInfo):
              (KJS::KJS::HTMLElement::tryGet):
              (KJS::KJS::HTMLElement::implementsCall):
              (KJS::KJS::HTMLElement::call):
              (KJS::HTMLElement::htmlGetter):
              (KJS::HTMLElement::headGetter):
              (KJS::HTMLElement::linkGetter):
              (KJS::HTMLElement::titleGetter):
              (KJS::HTMLElement::metaGetter):
              (KJS::HTMLElement::baseGetter):
              (KJS::HTMLElement::isIndexGetter):
              (KJS::HTMLElement::styleGetter):
              (KJS::HTMLElement::bodyGetter):
              (KJS::HTMLElement::formGetter):
              (KJS::HTMLElement::selectGetter):
              (KJS::HTMLElement::optGroupGetter):
              (KJS::HTMLElement::optionGetter):
              (KJS::getInputSelectionStart):
              (KJS::getInputSelectionEnd):
              (KJS::HTMLElement::inputGetter):
              (KJS::HTMLElement::textAreaGetter):
              (KJS::HTMLElement::buttonGetter):
              (KJS::HTMLElement::labelGetter):
              (KJS::HTMLElement::fieldSetGetter):
              (KJS::HTMLElement::legendGetter):
              (KJS::HTMLElement::uListGetter):
              (KJS::HTMLElement::oListGetter):
              (KJS::HTMLElement::dListGetter):
              (KJS::HTMLElement::dirGetter):
              (KJS::HTMLElement::menuGetter):
              (KJS::HTMLElement::liGetter):
              (KJS::HTMLElement::divGetter):
              (KJS::HTMLElement::paragraphGetter):
              (KJS::HTMLElement::headingGetter):
              (KJS::HTMLElement::blockQuoteGetter):
              (KJS::HTMLElement::quoteGetter):
              (KJS::HTMLElement::preGetter):
              (KJS::HTMLElement::brGetter):
              (KJS::HTMLElement::baseFontGetter):
              (KJS::HTMLElement::fontGetter):
              (KJS::HTMLElement::hrGetter):
              (KJS::HTMLElement::modGetter):
              (KJS::HTMLElement::anchorGetter):
              (KJS::HTMLElement::imageGetter):
              (KJS::HTMLElement::objectGetter):
              (KJS::HTMLElement::paramGetter):
              (KJS::HTMLElement::appletGetter):
              (KJS::HTMLElement::mapGetter):
              (KJS::HTMLElement::areaGetter):
              (KJS::HTMLElement::scriptGetter):
              (KJS::HTMLElement::tableGetter):
              (KJS::HTMLElement::tableCaptionGetter):
              (KJS::HTMLElement::tableColGetter):
              (KJS::HTMLElement::tableSectionGetter):
              (KJS::HTMLElement::tableRowGetter):
              (KJS::HTMLElement::tableCellGetter):
              (KJS::HTMLElement::frameSetGetter):
              (KJS::HTMLElement::frameGetter):
              (KJS::HTMLElement::iFrameGetter):
              (KJS::HTMLElement::marqueeGetter):
              (KJS::HTMLElement::getValueProperty):
              (KJS::KJS::HTMLElement::hasOwnProperty):
              (KJS::KJS::HTMLElement::toString):
              (KJS::getForm):
              (KJS::KJS::HTMLElement::pushEventHandlerScope):
              (KJS::KJS::HTMLElementFunction::tryCall):
              (KJS::KJS::HTMLElement::tryPut):
              (KJS::HTMLElement::htmlSetter):
              (KJS::HTMLElement::headSetter):
              (KJS::HTMLElement::linkSetter):
              (KJS::HTMLElement::titleSetter):
              (KJS::HTMLElement::metaSetter):
              (KJS::HTMLElement::baseSetter):
              (KJS::HTMLElement::isIndexSetter):
              (KJS::HTMLElement::styleSetter):
              (KJS::HTMLElement::bodySetter):
              (KJS::HTMLElement::formSetter):
              (KJS::HTMLElement::selectSetter):
              (KJS::HTMLElement::optGroupSetter):
              (KJS::HTMLElement::optionSetter):
              (KJS::HTMLElement::inputSetter):
              (KJS::HTMLElement::textAreaSetter):
              (KJS::HTMLElement::buttonSetter):
              (KJS::HTMLElement::labelSetter):
              (KJS::HTMLElement::fieldSetSetter):
              (KJS::HTMLElement::legendSetter):
              (KJS::HTMLElement::uListSetter):
              (KJS::HTMLElement::oListSetter):
              (KJS::HTMLElement::dListSetter):
              (KJS::HTMLElement::dirSetter):
              (KJS::HTMLElement::menuSetter):
              (KJS::HTMLElement::liSetter):
              (KJS::HTMLElement::divSetter):
              (KJS::HTMLElement::paragraphSetter):
              (KJS::HTMLElement::headingSetter):
              (KJS::HTMLElement::blockQuoteSetter):
              (KJS::HTMLElement::quoteSetter):
              (KJS::HTMLElement::preSetter):
              (KJS::HTMLElement::brSetter):
              (KJS::HTMLElement::baseFontSetter):
              (KJS::HTMLElement::fontSetter):
              (KJS::HTMLElement::hrSetter):
              (KJS::HTMLElement::modSetter):
              (KJS::HTMLElement::anchorSetter):
              (KJS::HTMLElement::imageSetter):
              (KJS::HTMLElement::objectSetter):
              (KJS::HTMLElement::paramSetter):
              (KJS::HTMLElement::appletSetter):
              (KJS::HTMLElement::mapSetter):
              (KJS::HTMLElement::areaSetter):
              (KJS::HTMLElement::scriptSetter):
              (KJS::HTMLElement::tableSetter):
              (KJS::HTMLElement::tableCaptionSetter):
              (KJS::HTMLElement::tableColSetter):
              (KJS::HTMLElement::tableSectionSetter):
              (KJS::HTMLElement::tableRowSetter):
              (KJS::HTMLElement::tableCellSetter):
              (KJS::HTMLElement::frameSetSetter):
              (KJS::HTMLElement::frameSetter):
              (KJS::HTMLElement::iFrameSetter):
              (KJS::HTMLElement::marqueeSetter):
              (KJS::HTMLElement::putValue):
              (KJS::toHTMLTableCaptionElement):
              (KJS::toHTMLTableSectionElement):
              (KJS::KJS::HTMLCollection::tryGet):
              (KJS::KJS::HTMLSelectCollection::tryPut):
              * khtml/ecma/kjs_html.h:
              * khtml/ecma/kjs_window.cpp:
              * khtml/editing/apply_style_command.cpp:
              (khtml::isStyleSpan):
              (khtml::isEmptyStyleSpan):
              (khtml::isEmptyFontTag):
              (khtml::createFontElement):
              (khtml::createStyleSpanElement):
              (khtml::ApplyStyleCommand::applyInlineStyle):
              (khtml::ApplyStyleCommand::isHTMLStyleNode):
              (khtml::ApplyStyleCommand::removeHTMLFontStyle):
              (khtml::areIdenticalElements):
              (khtml::ApplyStyleCommand::mergeEndWithNextIfIdentical):
              (khtml::ApplyStyleCommand::addInlineStyleIfNeeded):
              * khtml/editing/break_blockquote_command.cpp:
              (khtml::BreakBlockquoteCommand::doApply):
              * khtml/editing/composite_edit_command.cpp:
              (khtml::CompositeEditCommand::insertNodeBefore):
              (khtml::CompositeEditCommand::insertNodeAfter):
              (khtml::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary):
              (khtml::createBlockPlaceholderElement):
              * khtml/editing/delete_selection_command.cpp:
              (khtml::isListStructureNode):
              (khtml::DeleteSelectionCommand::handleSpecialCaseBRDelete):
              (khtml::DeleteSelectionCommand::handleGeneralDelete):
              (khtml::DeleteSelectionCommand::moveNodesAfterNode):
              * khtml/editing/htmlediting.cpp:
              (khtml::isSpecialElement):
              (khtml::createDefaultParagraphElement):
              (khtml::createBreakElement):
              (khtml::isMailBlockquote):
              * khtml/editing/insert_line_break_command.cpp:
              (khtml::InsertLineBreakCommand::doApply):
              * khtml/editing/insert_paragraph_separator_command.cpp:
              (khtml::InsertParagraphSeparatorCommand::doApply):
              * khtml/editing/markup.cpp:
              (khtml::startMarkup):
              (khtml::endMarkup):
              (khtml::markup):
              (khtml::createMarkup):
              (khtml::createFragmentFromText):
              * khtml/editing/replace_selection_command.cpp:
              (khtml::isProbablyBlock):
              (khtml::isProbablyTableStructureNode):
              (khtml::ReplacementFragment::isInterchangeNewlineNode):
              (khtml::ReplacementFragment::removeStyleNodes):
              (khtml::ReplaceSelectionCommand::doApply):
              (khtml::ReplaceSelectionCommand::updateNodesInserted):
              * khtml/editing/selection.cpp:
              (khtml::Selection::debugRenderer):
              * khtml/editing/visible_position.cpp:
              (khtml::VisiblePosition::init):
              (khtml::VisiblePosition::isCandidate):
              (khtml::VisiblePosition::isAtomicNode):
              * khtml/editing/visible_text.cpp:
              (khtml::TextIterator::handleNonTextNode):
              (khtml::TextIterator::exitNode):
              (khtml::SimplifiedBackwardsTextIterator::handleNonTextNode):
              * khtml/editing/visible_units.cpp:
              (khtml::endOfLine):
              * khtml/html/dtd.cpp: Removed.
              * khtml/html/dtd.h: Removed.
              * khtml/html/html_baseimpl.cpp:
              (HTMLBodyElementImpl::HTMLBodyElementImpl):
              (HTMLFrameElementImpl::HTMLFrameElementImpl):
              (HTMLFrameElementImpl::init):
              (HTMLFrameElementImpl::attach):
              (HTMLFrameSetElementImpl::HTMLFrameSetElementImpl):
              (HTMLFrameSetElementImpl::checkDTD):
              (HTMLFrameSetElementImpl::attach):
              (HTMLHeadElementImpl::HTMLHeadElementImpl):
              (HTMLHeadElementImpl::checkDTD):
              (HTMLHtmlElementImpl::HTMLHtmlElementImpl):
              (HTMLHtmlElementImpl::checkDTD):
              (HTMLIFrameElementImpl::HTMLIFrameElementImpl):
              * khtml/html/html_baseimpl.h:
              (DOM::HTMLBodyElementImpl::endTagRequirement):
              (DOM::HTMLBodyElementImpl::tagPriority):
              (DOM::HTMLFrameElementImpl::endTagRequirement):
              (DOM::HTMLFrameElementImpl::tagPriority):
              (DOM::HTMLFrameSetElementImpl::endTagRequirement):
              (DOM::HTMLFrameSetElementImpl::tagPriority):
              (DOM::HTMLHeadElementImpl::endTagRequirement):
              (DOM::HTMLHeadElementImpl::tagPriority):
              (DOM::HTMLHtmlElementImpl::endTagRequirement):
              (DOM::HTMLHtmlElementImpl::tagPriority):
              (DOM::HTMLIFrameElementImpl::endTagRequirement):
              (DOM::HTMLIFrameElementImpl::tagPriority):
              * khtml/html/html_blockimpl.cpp:
              (HTMLBlockquoteElementImpl::HTMLBlockquoteElementImpl):
              (HTMLDivElementImpl::HTMLDivElementImpl):
              (HTMLHRElementImpl::HTMLHRElementImpl):
              (HTMLHeadingElementImpl::HTMLHeadingElementImpl):
              (HTMLHeadingElementImpl::checkDTD):
              (HTMLParagraphElementImpl::HTMLParagraphElementImpl):
              (HTMLParagraphElementImpl::checkDTD):
              (HTMLPreElementImpl::HTMLPreElementImpl):
              (HTMLMarqueeElementImpl::HTMLMarqueeElementImpl):
              (HTMLMarqueeElementImpl::parseMappedAttribute):
              * khtml/html/html_blockimpl.h:
              (DOM::HTMLBlockquoteElementImpl::endTagRequirement):
              (DOM::HTMLBlockquoteElementImpl::tagPriority):
              (DOM::HTMLDivElementImpl::endTagRequirement):
              (DOM::HTMLDivElementImpl::tagPriority):
              (DOM::HTMLHRElementImpl::endTagRequirement):
              (DOM::HTMLHRElementImpl::tagPriority):
              (DOM::HTMLHeadingElementImpl::endTagRequirement):
              (DOM::HTMLHeadingElementImpl::tagPriority):
              (DOM::HTMLParagraphElementImpl::endTagRequirement):
              (DOM::HTMLParagraphElementImpl::tagPriority):
              (DOM::HTMLPreElementImpl::endTagRequirement):
              (DOM::HTMLPreElementImpl::tagPriority):
              (DOM::HTMLMarqueeElementImpl::endTagRequirement):
              (DOM::HTMLMarqueeElementImpl::tagPriority):
              * khtml/html/html_canvasimpl.cpp:
              (HTMLCanvasElementImpl::HTMLCanvasElementImpl):
              * khtml/html/html_canvasimpl.h:
              * khtml/html/html_documentimpl.cpp:
              (DOM::HTMLDocumentImpl::childAllowed):
              (DOM::HTMLDocumentImpl::createElement):
              * khtml/html/html_documentimpl.h:
              * khtml/html/html_elementimpl.cpp:
              (HTMLElementImpl::HTMLElementImpl):
              (HTMLElementImpl::nodeName):
              (HTMLElementImpl::endTagRequirement):
              (HTMLElementImpl::tagPriority):
              (HTMLElementImpl::cloneNode):
              (HTMLElementImpl::createContextualFragment):
              (HTMLElementImpl::setInnerHTML):
              (HTMLElementImpl::setOuterHTML):
              (HTMLElementImpl::setInnerText):
              (HTMLElementImpl::setOuterText):
              (HTMLElementImpl::toString):
              (HTMLElementImpl::id):
              (HTMLElementImpl::childAllowed):
              (HTMLElementImpl::isRecognizedTagName):
              (inlineTagList):
              (blockTagList):
              (HTMLElementImpl::inEitherTagList):
              (HTMLElementImpl::inInlineTagList):
              (HTMLElementImpl::inBlockTagList):
              (HTMLElementImpl::checkDTD):
              * khtml/html/html_elementimpl.h:
              (DOM::):
              * khtml/html/html_formimpl.cpp:
              (DOM::HTMLFormElementImpl::HTMLFormElementImpl):
              (DOM::HTMLFormElementImpl::submitClick):
              (DOM::HTMLFormElementImpl::formData):
              (DOM::HTMLFormElementImpl::submit):
              (DOM::HTMLFormElementImpl::radioClicked):
              (DOM::HTMLGenericFormElementImpl::HTMLGenericFormElementImpl):
              (DOM::HTMLGenericFormElementImpl::getForm):
              (DOM::HTMLButtonElementImpl::HTMLButtonElementImpl):
              (DOM::HTMLFieldSetElementImpl::HTMLFieldSetElementImpl):
              (DOM::HTMLFieldSetElementImpl::checkDTD):
              (DOM::HTMLFieldSetElementImpl::isFocusable):
              (DOM::HTMLInputElementImpl::HTMLInputElementImpl):
              (DOM::HTMLInputElementImpl::init):
              (DOM::HTMLLabelElementImpl::HTMLLabelElementImpl):
              (DOM::HTMLLabelElementImpl::form):
              (DOM::HTMLLegendElementImpl::HTMLLegendElementImpl):
              (DOM::HTMLLegendElementImpl::formElement):
              (DOM::HTMLSelectElementImpl::HTMLSelectElementImpl):
              (DOM::HTMLSelectElementImpl::init):
              (DOM::HTMLSelectElementImpl::checkDTD):
              (DOM::HTMLSelectElementImpl::selectedIndex):
              (DOM::HTMLSelectElementImpl::setSelectedIndex):
              (DOM::HTMLSelectElementImpl::length):
              (DOM::HTMLSelectElementImpl::add):
              (DOM::HTMLSelectElementImpl::value):
              (DOM::HTMLSelectElementImpl::setValue):
              (DOM::HTMLSelectElementImpl::state):
              (DOM::HTMLSelectElementImpl::restoreState):
              (DOM::HTMLSelectElementImpl::appendFormData):
              (DOM::HTMLSelectElementImpl::optionToListIndex):
              (DOM::HTMLSelectElementImpl::listToOptionIndex):
              (DOM::HTMLSelectElementImpl::recalcListItems):
              (DOM::HTMLSelectElementImpl::reset):
              (DOM::HTMLSelectElementImpl::notifyOptionSelected):
              (DOM::HTMLKeygenElementImpl::HTMLKeygenElementImpl):
              (DOM::HTMLOptGroupElementImpl::HTMLOptGroupElementImpl):
              (DOM::HTMLOptGroupElementImpl::recalcSelectOptions):
              (DOM::HTMLOptionElementImpl::HTMLOptionElementImpl):
              (DOM::HTMLOptionElementImpl::index):
              (DOM::HTMLOptionElementImpl::getSelect):
              (DOM::HTMLTextAreaElementImpl::HTMLTextAreaElementImpl):
              (DOM::HTMLIsIndexElementImpl::HTMLIsIndexElementImpl):
              * khtml/html/html_formimpl.h:
              (DOM::HTMLFormElementImpl::endTagRequirement):
              (DOM::HTMLFormElementImpl::tagPriority):
              (DOM::HTMLGenericFormElementImpl::endTagRequirement):
              (DOM::HTMLGenericFormElementImpl::tagPriority):
              (DOM::HTMLFieldSetElementImpl::tagPriority):
              (DOM::HTMLInputElementImpl::endTagRequirement):
              (DOM::HTMLInputElementImpl::tagPriority):
              (DOM::HTMLLabelElementImpl::tagPriority):
              (DOM::HTMLSelectElementImpl::tagPriority):
              (DOM::HTMLKeygenElementImpl::tagPriority):
              (DOM::HTMLOptGroupElementImpl::checkDTD):
              (DOM::HTMLOptionElementImpl::endTagRequirement):
              (DOM::HTMLOptionElementImpl::tagPriority):
              (DOM::HTMLOptionElementImpl::checkDTD):
              (DOM::HTMLTextAreaElementImpl::checkDTD):
              (DOM::HTMLTextAreaElementImpl::cols):
              (DOM::HTMLIsIndexElementImpl::endTagRequirement):
              (DOM::HTMLIsIndexElementImpl::tagPriority):
              * khtml/html/html_headimpl.cpp:
              (HTMLBaseElementImpl::HTMLBaseElementImpl):
              (HTMLLinkElementImpl::HTMLLinkElementImpl):
              (HTMLMetaElementImpl::HTMLMetaElementImpl):
              (HTMLScriptElementImpl::HTMLScriptElementImpl):
              (HTMLStyleElementImpl::HTMLStyleElementImpl):
              (HTMLTitleElementImpl::HTMLTitleElementImpl):
              * khtml/html/html_headimpl.h:
              (DOM::HTMLBaseElementImpl::endTagRequirement):
              (DOM::HTMLBaseElementImpl::tagPriority):
              (DOM::HTMLLinkElementImpl::endTagRequirement):
              (DOM::HTMLLinkElementImpl::tagPriority):
              (DOM::HTMLMetaElementImpl::endTagRequirement):
              (DOM::HTMLMetaElementImpl::tagPriority):
              (DOM::HTMLScriptElementImpl::endTagRequirement):
              (DOM::HTMLScriptElementImpl::tagPriority):
              (DOM::HTMLScriptElementImpl::checkDTD):
              (DOM::HTMLStyleElementImpl::endTagRequirement):
              (DOM::HTMLStyleElementImpl::tagPriority):
              (DOM::HTMLStyleElementImpl::checkDTD):
              (DOM::HTMLTitleElementImpl::checkDTD):
              * khtml/html/html_imageimpl.cpp:
              (HTMLImageLoader::updateFromElement):
              (HTMLImageElementImpl::HTMLImageElementImpl):
              (HTMLImageElementImpl::~HTMLImageElementImpl):
              (HTMLMapElementImpl::HTMLMapElementImpl):
              (HTMLMapElementImpl::checkDTD):
              (HTMLMapElementImpl::mapMouseEvent):
              (HTMLAreaElementImpl::HTMLAreaElementImpl):
              * khtml/html/html_imageimpl.h:
              (DOM::HTMLImageElementImpl::endTagRequirement):
              (DOM::HTMLImageElementImpl::tagPriority):
              (DOM::HTMLAreaElementImpl::endTagRequirement):
              (DOM::HTMLAreaElementImpl::tagPriority):
              (DOM::HTMLMapElementImpl::endTagRequirement):
              (DOM::HTMLMapElementImpl::tagPriority):
              * khtml/html/html_inlineimpl.cpp:
              (DOM::HTMLAnchorElementImpl::HTMLAnchorElementImpl):
              (DOM::HTMLAnchorElementImpl::defaultEventHandler):
              (DOM::HTMLBRElementImpl::HTMLBRElementImpl):
              (DOM::HTMLFontElementImpl::HTMLFontElementImpl):
              (DOM::HTMLModElementImpl::HTMLModElementImpl):
              (DOM::HTMLQuoteElementImpl::HTMLQuoteElementImpl):
              * khtml/html/html_inlineimpl.h:
              (DOM::HTMLAnchorElementImpl::endTagRequirement):
              (DOM::HTMLAnchorElementImpl::tagPriority):
              (DOM::HTMLBRElementImpl::endTagRequirement):
              (DOM::HTMLBRElementImpl::tagPriority):
              (DOM::HTMLFontElementImpl::endTagRequirement):
              (DOM::HTMLFontElementImpl::tagPriority):
              (DOM::HTMLModElementImpl::endTagRequirement):
              (DOM::HTMLModElementImpl::tagPriority):
              (DOM::HTMLQuoteElementImpl::endTagRequirement):
              (DOM::HTMLQuoteElementImpl::tagPriority):
              * khtml/html/html_listimpl.cpp:
              (DOM::HTMLOListElementImpl::parseMappedAttribute):
              (DOM::HTMLLIElementImpl::attach):
              (DOM::HTMLLIElementImpl::setValue):
              * khtml/html/html_listimpl.h:
              (DOM::HTMLUListElementImpl::HTMLUListElementImpl):
              (DOM::HTMLUListElementImpl::endTagRequirement):
              (DOM::HTMLUListElementImpl::tagPriority):
              (DOM::HTMLDirectoryElementImpl::HTMLDirectoryElementImpl):
              (DOM::HTMLDirectoryElementImpl::endTagRequirement):
              (DOM::HTMLDirectoryElementImpl::tagPriority):
              (DOM::HTMLMenuElementImpl::HTMLMenuElementImpl):
              (DOM::HTMLMenuElementImpl::endTagRequirement):
              (DOM::HTMLMenuElementImpl::tagPriority):
              (DOM::HTMLOListElementImpl::HTMLOListElementImpl):
              (DOM::HTMLOListElementImpl::endTagRequirement):
              (DOM::HTMLOListElementImpl::tagPriority):
              (DOM::HTMLLIElementImpl::HTMLLIElementImpl):
              (DOM::HTMLLIElementImpl::endTagRequirement):
              (DOM::HTMLLIElementImpl::tagPriority):
              (DOM::HTMLDListElementImpl::HTMLDListElementImpl):
              (DOM::HTMLDListElementImpl::endTagRequirement):
              (DOM::HTMLDListElementImpl::tagPriority):
              * khtml/html/html_miscimpl.cpp:
              (DOM::HTMLBaseFontElementImpl::HTMLBaseFontElementImpl):
              (DOM::HTMLCollectionImpl::traverseNextItem):
              (DOM::HTMLCollectionImpl::checkForNameMatch):
              (DOM::HTMLCollectionImpl::updateNameCache):
              (DOM::HTMLFormCollectionImpl::getNamedFormItem):
              (DOM::HTMLFormCollectionImpl::updateNameCache):
              * khtml/html/html_miscimpl.h:
              (DOM::HTMLBaseFontElementImpl::endTagRequirement):
              (DOM::HTMLBaseFontElementImpl::tagPriority):
              * khtml/html/html_objectimpl.cpp:
              (DOM::HTMLAppletElementImpl::HTMLAppletElementImpl):
              (DOM::HTMLAppletElementImpl::checkDTD):
              (DOM::HTMLEmbedElementImpl::HTMLEmbedElementImpl):
              (DOM::HTMLEmbedElementImpl::checkDTD):
              (DOM::HTMLEmbedElementImpl::rendererIsNeeded):
              (DOM::HTMLObjectElementImpl::HTMLObjectElementImpl):
              (DOM::HTMLObjectElementImpl::checkDTD):
              (DOM::HTMLObjectElementImpl::form):
              (DOM::HTMLParamElementImpl::HTMLParamElementImpl):
              * khtml/html/html_objectimpl.h:
              (DOM::HTMLAppletElementImpl::endTagRequirement):
              (DOM::HTMLAppletElementImpl::tagPriority):
              (DOM::HTMLEmbedElementImpl::endTagRequirement):
              (DOM::HTMLEmbedElementImpl::tagPriority):
              (DOM::HTMLObjectElementImpl::endTagRequirement):
              (DOM::HTMLObjectElementImpl::tagPriority):
              (DOM::HTMLParamElementImpl::endTagRequirement):
              (DOM::HTMLParamElementImpl::tagPriority):
              * khtml/html/html_tableimpl.cpp:
              (DOM::HTMLTableElementImpl::HTMLTableElementImpl):
              (DOM::HTMLTableElementImpl::checkDTD):
              (DOM::HTMLTableElementImpl::createTHead):
              (DOM::HTMLTableElementImpl::createTFoot):
              (DOM::HTMLTableElementImpl::insertRow):
              (DOM::HTMLTableElementImpl::deleteRow):
              (DOM::HTMLTableElementImpl::addChild):
              (DOM::HTMLTableSectionElementImpl::HTMLTableSectionElementImpl):
              (DOM::HTMLTableSectionElementImpl::checkDTD):
              (DOM::HTMLTableSectionElementImpl::addChild):
              (DOM::HTMLTableSectionElementImpl::numRows):
              (DOM::HTMLTableRowElementImpl::checkDTD):
              (DOM::HTMLTableRowElementImpl::addChild):
              (DOM::HTMLTableRowElementImpl::rowIndex):
              (DOM::HTMLTableRowElementImpl::sectionRowIndex):
              (DOM::HTMLTableRowElementImpl::insertCell):
              (DOM::HTMLTableCellElementImpl::HTMLTableCellElementImpl):
              (DOM::HTMLTableCellElementImpl::cellIndex):
              (DOM::HTMLTableCellElementImpl::additionalAttributeStyleDecl):
              (DOM::HTMLTableColElementImpl::HTMLTableColElementImpl):
              * khtml/html/html_tableimpl.h:
              (DOM::HTMLTableElementImpl::endTagRequirement):
              (DOM::HTMLTableElementImpl::tagPriority):
              (DOM::HTMLTablePartElementImpl::HTMLTablePartElementImpl):
              (DOM::HTMLTableSectionElementImpl::endTagRequirement):
              (DOM::HTMLTableSectionElementImpl::tagPriority):
              (DOM::HTMLTableRowElementImpl::HTMLTableRowElementImpl):
              (DOM::HTMLTableRowElementImpl::endTagRequirement):
              (DOM::HTMLTableRowElementImpl::tagPriority):
              (DOM::HTMLTableCellElementImpl::endTagRequirement):
              (DOM::HTMLTableCellElementImpl::tagPriority):
              (DOM::HTMLTableColElementImpl::endTagRequirement):
              (DOM::HTMLTableColElementImpl::tagPriority):
              (DOM::HTMLTableColElementImpl::checkDTD):
              (DOM::HTMLTableCaptionElementImpl::HTMLTableCaptionElementImpl):
              (DOM::HTMLTableCaptionElementImpl::endTagRequirement):
              (DOM::HTMLTableCaptionElementImpl::tagPriority):
              * khtml/html/htmlfactory.cpp: Added.
              (DOM::htmlConstructor):
              (DOM::headConstructor):
              (DOM::bodyConstructor):
              (DOM::baseConstructor):
              (DOM::linkConstructor):
              (DOM::metaConstructor):
              (DOM::styleConstructor):
              (DOM::titleConstructor):
              (DOM::frameConstructor):
              (DOM::framesetConstructor):
              (DOM::iframeConstructor):
              (DOM::formConstructor):
              (DOM::buttonConstructor):
              (DOM::inputConstructor):
              (DOM::isindexConstructor):
              (DOM::fieldsetConstructor):
              (DOM::labelConstructor):
              (DOM::legendConstructor):
              (DOM::optgroupConstructor):
              (DOM::optionConstructor):
              (DOM::selectConstructor):
              (DOM::textareaConstructor):
              (DOM::dlConstructor):
              (DOM::ulConstructor):
              (DOM::olConstructor):
              (DOM::dirConstructor):
              (DOM::menuConstructor):
              (DOM::liConstructor):
              (DOM::blockquoteConstructor):
              (DOM::divConstructor):
              (DOM::headingConstructor):
              (DOM::hrConstructor):
              (DOM::paragraphConstructor):
              (DOM::preConstructor):
              (DOM::basefontConstructor):
              (DOM::fontConstructor):
              (DOM::modConstructor):
              (DOM::anchorConstructor):
              (DOM::imageConstructor):
              (DOM::mapConstructor):
              (DOM::areaConstructor):
              (DOM::canvasConstructor):
              (DOM::appletConstructor):
              (DOM::embedConstructor):
              (DOM::objectConstructor):
              (DOM::paramConstructor):
              (DOM::scriptConstructor):
              (DOM::tableConstructor):
              (DOM::tableCaptionConstructor):
              (DOM::tableColConstructor):
              (DOM::tableRowConstructor):
              (DOM::tableCellConstructor):
              (DOM::tableSectionConstructor):
              (DOM::brConstructor):
              (DOM::quoteConstructor):
              (DOM::marqueeConstructor):
              (DOM::HTMLElementFactory::createHTMLElement):
              * khtml/html/htmlfactory.h: Added.
              * khtml/html/htmlnames.cpp:
              (DOM::HTMLNames::init):
              * khtml/html/htmlnames.h:
              (DOM::HTMLNames::xhtmlNamespaceURI):
              * khtml/html/htmlparser.cpp:
              (HTMLStackElem::HTMLStackElem):
              (HTMLParser::HTMLParser):
              (HTMLParser::~HTMLParser):
              (HTMLParser::reset):
              (HTMLParser::setCurrent):
              (HTMLParser::parseToken):
              (isTableSection):
              (isTablePart):
              (isTableRelated):
              (HTMLParser::insertNode):
              (HTMLParser::handleError):
              (HTMLParser::textCreateErrorCheck):
              (HTMLParser::commentCreateErrorCheck):
              (HTMLParser::headCreateErrorCheck):
              (HTMLParser::bodyCreateErrorCheck):
              (HTMLParser::framesetCreateErrorCheck):
              (HTMLParser::iframeCreateErrorCheck):
              (HTMLParser::formCreateErrorCheck):
              (HTMLParser::isindexCreateErrorCheck):
              (HTMLParser::selectCreateErrorCheck):
              (HTMLParser::ddCreateErrorCheck):
              (HTMLParser::dtCreateErrorCheck):
              (HTMLParser::nestedCreateErrorCheck):
              (HTMLParser::nestedStyleCreateErrorCheck):
              (HTMLParser::tableCellCreateErrorCheck):
              (HTMLParser::tableSectionCreateErrorCheck):
              (HTMLParser::noembedCreateErrorCheck):
              (HTMLParser::noframesCreateErrorCheck):
              (HTMLParser::noscriptCreateErrorCheck):
              (HTMLParser::nolayerCreateErrorCheck):
              (HTMLParser::getNode):
              (HTMLParser::allowNestedRedundantTag):
              (HTMLParser::processCloseTag):
              (HTMLParser::isHeaderTag):
              (HTMLParser::popNestedHeaderTag):
              (HTMLParser::isInline):
              (HTMLParser::isResidualStyleTag):
              (HTMLParser::isAffectedByResidualStyle):
              (HTMLParser::handleResidualStyleCloseTagAcrossBlocks):
              (HTMLParser::reopenResidualStyleTags):
              (HTMLParser::pushBlock):
              (HTMLParser::popBlock):
              (HTMLParser::popOneBlock):
              (HTMLParser::popInlineBlocks):
              (HTMLParser::freeBlock):
              (HTMLParser::createHead):
              (HTMLParser::handleIsindex):
              (HTMLParser::startBody):
              (HTMLParser::finished):
              * khtml/html/htmlparser.h:
              (HTMLParser::skipMode):
              (HTMLParser::setSkipMode):
              (HTMLParser::popBlock):
              * khtml/html/htmltokenizer.cpp:
              (khtml::HTMLTokenizer::HTMLTokenizer):
              (khtml::HTMLTokenizer::parseSpecial):
              (khtml::HTMLTokenizer::scriptHandler):
              (khtml::HTMLTokenizer::parseComment):
              (khtml::HTMLTokenizer::parseTag):
              (khtml::HTMLTokenizer::processToken):
              * khtml/html/htmltokenizer.h:
              (khtml::Token::Token):
              (khtml::Token::~Token):
              (khtml::Token::addAttribute):
              (khtml::Token::isOpenTag):
              (khtml::Token::isCloseTag):
              (khtml::Token::reset):
              * khtml/khtml_part.cpp:
              (KHTMLPart::init):
              (KHTMLPart::selectionComputedStyle):
              * khtml/khtmlview.cpp:
              (KHTMLView::layout):
              (isSubmitImage):
              * khtml/misc/decoder.cpp:
              (Decoder::decode):
              * khtml/misc/hashmap.h:
              (khtml::::size):
              (khtml::::isEmpty):
              (khtml::::begin):
              (khtml::::end):
              (khtml::::get):
              * khtml/misc/hashset.h:
              (khtml::::size):
              (khtml::::isEmpty):
              (khtml::::begin):
              (khtml::::end):
              (khtml::::contains):
              * khtml/misc/hashtable.h:
              (khtml::HashTableIterator::skipEmptyBuckets):
              (khtml::::lookup):
              (khtml::::find):
              (khtml::::contains):
              (khtml::::remove):
              * khtml/misc/htmlhashes.cpp:
              (khtml::getAttrID):
              * khtml/misc/htmlhashes.h:
              * khtml/rendering/bidi.cpp:
              (khtml::BidiIterator::direction):
              * khtml/rendering/break_lines.cpp:
              (khtml::isBreakable):
              * khtml/rendering/render_applet.cpp:
              (RenderApplet::createWidgetIfNecessary):
              * khtml/rendering/render_block.cpp:
              (khtml::RenderBlock::layoutBlock):
              * khtml/rendering/render_box.cpp:
              (RenderBox::paintRootBoxDecorations):
              (RenderBox::paintBackgroundExtended):
              * khtml/rendering/render_canvasimage.cpp:
              (RenderCanvasImage::paint):
              * khtml/rendering/render_canvasimage.h:
              * khtml/rendering/render_container.cpp:
              (RenderContainer::updatePseudoChild):
              * khtml/rendering/render_flow.cpp:
              (RenderFlow::addFocusRingRects):
              * khtml/rendering/render_form.cpp:
              (RenderFieldset::findLegend):
              (RenderSelect::updateFromElement):
              (RenderSelect::layout):
              (RenderSelect::slotSelected):
              (RenderSelect::slotSelectionChanged):
              (RenderSelect::updateSelection):
              * khtml/rendering/render_frames.cpp:
              (RenderPartObject::updateWidget):
              (RenderPartObject::slotViewCleared):
              * khtml/rendering/render_image.cpp:
              (RenderImage::paint):
              (RenderImage::imageMap):
              (RenderImage::updateAltText):
              * khtml/rendering/render_image.h:
              * khtml/rendering/render_layer.cpp:
              (Marquee::marqueeSpeed):
              * khtml/rendering/render_line.cpp:
              * khtml/rendering/render_list.cpp:
              (getParentOfFirstLineBox):
              * khtml/rendering/render_object.cpp:
              (RenderObject::isBody):
              (RenderObject::isHR):
              (RenderObject::isHTMLMarquee):
              (RenderObject::sizesToMaxWidth):
              (RenderObject::information):
              (RenderObject::setStyle):
              (RenderObject::getTextDecorationColors):
              (RenderObject::setPixmap):
              * khtml/rendering/render_style.cpp:
              (RenderStyle::getPseudoStyle):
              * khtml/rendering/render_style.h:
              * khtml/rendering/render_table.cpp:
              (RenderTable::addChild):
              (RenderTable::layout):
              (RenderTableSection::addChild):
              (RenderTableRow::addChild):
              (RenderTableCell::updateFromElement):
              (RenderTableCol::updateFromElement):
              * khtml/xml/dom2_rangeimpl.cpp:
              * khtml/xml/dom2_traversalimpl.cpp:
              * khtml/xml/dom_atomicstring.cpp:
              (DOM::equal):
              (DOM::AtomicString::init):
              * khtml/xml/dom_atomicstring.h:
              * khtml/xml/dom_docimpl.cpp:
              (DocumentImpl::createElement):
              (DocumentImpl::importNode):
              (DocumentImpl::createElementNS):
              (DocumentImpl::body):
              (DocumentImpl::shouldScheduleLayout):
              (DocumentImpl::attrId):
              (DocumentImpl::recalcStyleSelector):
              * khtml/xml/dom_docimpl.h:
              * khtml/xml/dom_elementimpl.cpp:
              (AttrImpl::prefix):
              (AttrImpl::setPrefix):
              (ElementImpl::ElementImpl):
              (ElementImpl::~ElementImpl):
              (ElementImpl::cloneNode):
              (ElementImpl::hasAttributes):
              (ElementImpl::nodeName):
              (ElementImpl::setPrefix):
              (ElementImpl::openTagStartToString):
              (ElementImpl::toString):
              (StyledElementImpl::StyledElementImpl):
              * khtml/xml/dom_elementimpl.h:
              (DOM::ElementImpl::tagName):
              (DOM::ElementImpl::hasTagName):
              (DOM::ElementImpl::hasLocalName):
              (DOM::ElementImpl::localName):
              (DOM::ElementImpl::prefix):
              (DOM::ElementImpl::namespaceURI):
              (DOM::ElementImpl::mouseEventHandler):
              * khtml/xml/dom_nodeimpl.cpp:
              (DOM::NodeImpl::lastDescendant):
              (DOM::NodeImpl::prefix):
              (DOM::NodeImpl::setPrefix):
              (DOM::NodeImpl::localName):
              (DOM::NodeImpl::namespaceURI):
              (DOM::NodeImpl::checkSetPrefix):
              (DOM::NodeImpl::isAtomicNode):
              (DOM::NodeImpl::maxDeepOffset):
              (DOM::NodeImpl::enclosingBlockFlowOrTableElement):
              (DOM::NodeImpl::enclosingBlockFlowElement):
              (DOM::NodeImpl::enclosingInlineElement):
              (DOM::NodeImpl::rootEditableElement):
              (DOM::NodeImpl::getElementsByTagNameNS):
              (DOM::NodeImpl::showTreeAndMark):
              (DOM::ContainerNodeImpl::addChild):
              (DOM::TagNodeListImpl::TagNodeListImpl):
              (DOM::TagNodeListImpl::item):
              (DOM::TagNodeListImpl::nodeMatches):
              * khtml/xml/dom_nodeimpl.h:
              (DOM::NodeImpl::hasTagName):
              (DOM::NodeImpl::isCommentNode):
              (DOM::NodeImpl::isDocumentNode):
              (DOM::NodeImpl::closeRenderer):
              (DOM::NodeImpl::getElementsByTagName):
              * khtml/xml/dom_position.cpp:
              (DOM::Position::downstream):
              (DOM::Position::rendersInDifferentPosition):
              (DOM::Position::leadingWhitespacePosition):
              (DOM::Position::trailingWhitespacePosition):
              * khtml/xml/dom_qname.cpp:
              (DOM::hashComponents):
              (DOM::QNameHash::hash):
              (DOM::QNameHash::equal):
              (DOM::equalComponents):
              (DOM::convertComponents):
              (DOM::QualifiedName::QualifiedName):
              (DOM::QualifiedName::deref):
              (DOM::QualifiedName::setPrefix):
              * khtml/xml/dom_qname.h:
              (DOM::QualifiedName::hasPrefix):
              (DOM::operator==):
              * khtml/xml/dom_textimpl.cpp:
              (CommentImpl::localName):
              (CommentImpl::nodeName):
              (TextImpl::localName):
              (TextImpl::nodeName):
              * khtml/xml/dom_textimpl.h:
              (DOM::CommentImpl::isCommentNode):
              (DOM::TextImpl::isTextNode):
              * khtml/xml/xml_tokenizer.cpp:
              (khtml::XMLTokenizer::startElement):
              (khtml::XMLTokenizer::insertErrorMessageBlock):
              (khtml::XMLTokenizer::addScripts):
              * kwq/DOM.mm:
              (-[DOMNode setPrefix:]):
              (+[DOMNode _nodeWithImpl:]):
              (-[DOMElement tagName]):
              * kwq/DOMHTML.mm:
              (-[DOMHTMLQuoteElement _quoteElementImpl]):
              * kwq/KWQAccObject.mm:
              (-[KWQAccObject role]):
              (-[KWQAccObject title]):
              (-[KWQAccObject accessibilityIsIgnored]):
              * kwq/KWQDOMNode.cpp: Removed.
              * kwq/KWQDOMNode.h: Removed.
              * kwq/KWQFont.h:
              (QFont::):
              (QFont::isFixedPitch):
              * kwq/KWQFont.mm:
              (QFont::QFont):
              (QFont::operator=):
              (QFont::determinePitch):
              (QFont::operator==):
              * kwq/KWQKHTMLPart.cpp:
              (KWQKHTMLPart::isFrameSet):
              * kwq/KWQKHTMLPart.mm:
              (scanForForm):
              (KWQKHTMLPart::currentForm):
              (KWQKHTMLPart::searchForLabelsAboveCell):
              (KWQKHTMLPart::searchForLabelsBeforeElement):
              (listParent):
              (isTextFirstInListItem):
              (KWQKHTMLPart::attributedString):
              (KWQKHTMLPart::styleForSelectionStart):
              (KWQKHTMLPart::setSelectionFromNone):
              * kwq/KWQRenderTreeDebug.cpp:
              (getTagName):
              * kwq/WebCoreBridge.mm:
              (inputElementFromDOMElement):
              (formElementFromDOMElement):
              (-[WebCoreBridge elementAtPoint:]):
              * layout-tests/fast/dom/css-dom-read-expected.txt:
              * layout-tests/fast/overflow/003-expected.txt:
              * layout-tests/fast/tokenizer/002-expected.txt:
              * layout-tests/fast/tokenizer/external-script-document-write-expected.txt:
              * layout-tests/fast/tokenizer/script_extra_close-expected.txt:
              * layout-tests/fast/tokenizer/script_quirk-expected.txt: Removed.
              * layout-tests/fast/tokenizer/script_quirk.html: Removed.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@9639 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      59136b7a
  27. 05 Jul, 2005 1 commit
    • mjs's avatar
      Reviewed by hyatt. · 345cedc6
      mjs authored
              Numerous hash code improvements:
      
      	- added HashMap and the required support for it in HashTable
      	- convert to using deleted sentinels and double hashing instead of linear
      	probing and reinsert on delete
      	- add support for traits so that empty and deleted values can be customized
      	per type
      	- make insert return a pair of an iterator and a bool even at the API level
      	- converted some code to use HashMap
      	- added standard hash and equal functions for some types, plus case insensitive ones
      	- lots of assorted code cleanup
      	- pass hash functions as classes with two static functions instead of as functions
      
              * khtml/css/cssstyleselector.cpp:
              (khtml::CSSRuleSet::CSSRuleSet): Use HashMap instead of QPtrDict.
              (khtml::CSSRuleSet::~CSSRuleSet): ditto
              (khtml::CSSRuleSet::addToRuleSet): ditto
              (khtml::CSSRuleSet::addRule): ditto
              * khtml/css/cssstyleselector.h:
              (khtml::CSSRuleSet::getIDRules): ditto
              (khtml::CSSRuleSet::getClassRules): ditto
              (khtml::CSSRuleSet::getTagRules): ditto
              * khtml/editing/jsediting.cpp:
              (DOM::DocumentImpl::commandImp): ditto
              * khtml/misc/hashfunctions.h: Added. Standard hash functions.
              (khtml::defaultEqual):
              (khtml::pointerHash<4>):
              (khtml::pointerHash<8>):
              (khtml::defaultHash<void *>):
              (khtml::defaultHash<DOM::DOMStringImpl *>):
              (khtml::caseInsensitiveHash):
              (khtml::caseInsensitiveEqual):
              * WebCore.pbproj/project.pbxproj:
              * khtml/misc/hashmap.h: Added.
              (khtml::HashMap::HashMap):
              (khtml::HashMap::size):
              (khtml::HashMap::capacity):
              (khtml::HashMap::isEmpty):
              (khtml::HashMap::begin):
              (khtml::HashMap::end):
              (khtml::HashMap::find):
              (khtml::HashMap::contains):
              (khtml::HashMap::insert):
              (khtml::HashMap::get):
              (khtml::HashMap::remove):
              (khtml::HashMap::clear):
              (khtml::HashMap::extractKey):
              * khtml/misc/hashset.h:
              (khtml::identityExtract):
              (khtml::::size):
              (khtml::::capacity):
              (khtml::::isEmpty):
              (khtml::::begin):
              (khtml::::end):
              (khtml::::find):
              (khtml::::contains):
              (khtml::::insert):
              (khtml::::remove):
              (khtml::::clear):
              (khtml::::convertAdapter):
              * khtml/misc/hashtable.cpp:
              (khtml::HashTableStats::~HashTableStats):
              * khtml/misc/hashtable.h:
              (khtml::HashTableIterator::HashTableIterator):
              (khtml::HashTableIterator::skipEmptyBuckets):
              (khtml::HashTableConstIterator::HashTableConstIterator):
              (khtml::HashTableConstIterator::skipEmptyBuckets):
              (khtml::HashTable::HashTable):
              (khtml::HashTable::insert):
              (khtml::HashTable::isEmptyBucket):
              (khtml::HashTable::isDeletedBucket):
              (khtml::HashTable::isEmptyOrDeletedBucket):
              (khtml::HashTable::identityConvert):
              (khtml::HashTable::extractKey):
              (khtml::HashTable::lookup):
              (khtml::HashTable::shouldExpand):
              (khtml::HashTable::mustRehashInPlace):
              (khtml::HashTable::clearBucket):
              (khtml::HashTable::deleteBucket):
              (khtml::HashTable::makeLookupResult):
              (khtml::HashTable::makeIterator):
              (khtml::HashTable::makeConstIterator):
              (khtml::::lookup):
              (khtml::::insert):
              (khtml::::reinsert):
              (khtml::::find):
              (khtml::::contains):
              (khtml::::remove):
              (khtml::::allocateTable):
              (khtml::::expand):
              (khtml::::rehash):
              (khtml::::clear):
              (khtml::::HashTable):
              (khtml::::swap):
              (khtml::::operator):
              (khtml::::checkConsistency):
              (khtml::::checkConsistencyExceptSize):
              * khtml/misc/hashtraits.h: Added.
              (khtml::HashTraits::emptyValue):
              (khtml::):
              (khtml::PairHashTraits::emptyValue):
              (khtml::PairHashTraits::deletedValue):
              * ForwardingHeaders/misc/hashmap.h: Added.
              * ForwardingHeaders/misc/hashset.h: Added.
              * WebCore.pbproj/project.pbxproj: Added new files.
              * khtml/misc/pointerhash.h: Added.
              (khtml::PointerHashIteratorAdapter::PointerHashIteratorAdapter):
              (khtml::PointerHashIteratorAdapter::operator*):
              (khtml::PointerHashIteratorAdapter::operator->):
              (khtml::PointerHashIteratorAdapter::operator++):
              (khtml::PointerHashIteratorAdapter::operator==):
              (khtml::PointerHashIteratorAdapter::operator!=):
              (khtml::PointerHashConstIteratorAdapter::PointerHashConstIteratorAdapter):
              (khtml::PointerHashConstIteratorAdapter::operator*):
              (khtml::PointerHashConstIteratorAdapter::operator->):
              (khtml::PointerHashConstIteratorAdapter::operator++):
              (khtml::PointerHashConstIteratorAdapter::operator==):
              (khtml::PointerHashConstIteratorAdapter::operator!=):
              (khtml::):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@9597 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      345cedc6