2011-05-12 Maciej Stachowiak <mjs@apple.com>
authorPatrick Gansterer <paroga@paroga.com>
Thu, 12 May 2011 21:56:45 +0000 (21:56 +0000)
committerAdemar de Souza Reis Jr <ademar.reis@openbossa.org>
Tue, 31 May 2011 14:53:36 +0000 (11:53 -0300)
commitb0a445e442461a63d004c9e936a61fb16b0d41b6
tree2a4c485031ea88481db4c189fc1cf1e3ef771e62
parent79b6beadfd94460131dfccfc81991f03a2ee5218
2011-05-12  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Darin Adler.

        XMLDocumentParserLibxml2 should play nice with strict OwnPtrs
        https://bugs.webkit.org/show_bug.cgi?id=59394

        This portion of the change introduces a PassTraits template, which
        is used to enable takeFirst() to work for a Deque holding OwnPtrs,
        and optimize it for a Deque holding RefPtrs. In the future it can
        be deployed elsewhere to make our data structures work better with
        our smart pointers.

        * GNUmakefile.list.am:
        * JavaScriptCore.gypi:
        * JavaScriptCore.vcproj/WTF/WTF.vcproj:
        * JavaScriptCore.xcodeproj/project.pbxproj:
        * wtf/CMakeLists.txt:
        * wtf/Deque.h:
        (WTF::::takeFirst):
        * wtf/PassTraits.h: Added.
        (WTF::PassTraits::transfer):
2011-05-12  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Darin Adler.

        XMLDocumentParserLibxml2 should play nice with strict OwnPtrs
        https://bugs.webkit.org/show_bug.cgi?id=59394

        Properly fix this (formerly rolled out for breaking the build). I think the original
        failure had nothing to do with Deque<OwnPtr>, which in fact appears to work fine.

        * dom/XMLDocumentParserLibxml2.cpp:
        (WebCore::PendingCallbacks::~PendingCallbacks):
        (WebCore::PendingCallbacks::create):
        (WebCore::PendingCallbacks::appendStartElementNSCallback):
        (WebCore::PendingCallbacks::appendEndElementNSCallback):
        (WebCore::PendingCallbacks::appendCharactersCallback):
        (WebCore::PendingCallbacks::appendProcessingInstructionCallback):
        (WebCore::PendingCallbacks::appendCDATABlockCallback):
        (WebCore::PendingCallbacks::appendCommentCallback):
        (WebCore::PendingCallbacks::appendInternalSubsetCallback):
        (WebCore::PendingCallbacks::appendErrorCallback):
        (WebCore::PendingCallbacks::PendingCallbacks):
        (WebCore::XMLDocumentParser::XMLDocumentParser):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@86383 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/JavaScriptCore/ChangeLog
Source/JavaScriptCore/GNUmakefile.list.am
Source/JavaScriptCore/JavaScriptCore.gypi
Source/JavaScriptCore/JavaScriptCore.vcproj/WTF/WTF.vcproj
Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj
Source/JavaScriptCore/wtf/CMakeLists.txt
Source/JavaScriptCore/wtf/Deque.h
Source/JavaScriptCore/wtf/PassTraits.h [new file with mode: 0644]
Source/WebCore/ChangeLog
Source/WebCore/dom/XMLDocumentParserLibxml2.cpp