WebCore:
authoroliver <oliver@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 12 Oct 2007 14:41:35 +0000 (14:41 +0000)
committeroliver <oliver@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 12 Oct 2007 14:41:35 +0000 (14:41 +0000)
commite24aff8923a0ce20ce364f28dcd3067bbe3fa23e
tree5f9d24830501abe867ec324933e55fed316de4bf
parent2302182090454472d00fdeb5cb9573c267feea34
WebCore:

        Reviewed by Oliver.

        - Use Vector<UChar> instead of DeprecatedString for innerHTML, for 35% speedup on CK DOM test
        http://bugs.webkit.org/show_bug.cgi?id=15339

        Rewrote both versions of createMarkup to build based on
        Vector<UChar> instead of String. Also other miscellaneous
        speedups (mainly content strings are now encoded in a way that
        doesn't take a function call per character, and switch is avoided).

        This also causes a functional change - we no longer escape '>' since this was unnecessary and it's faster
        to avoid testing for it. See updated test results.

        * editing/markup.cpp:
        (WebCore::appendString):
        (WebCore::appendAttributeValue):
        (WebCore::escapeContentText):
        (WebCore::appendEscapedContent):
        (WebCore::appendDeprecatedString):
        (WebCore::appendQuotedURLAttributeValue):
        (WebCore::stringValueForRange):
        (WebCore::ucharRange):
        (WebCore::appendUCharRange):
        (WebCore::appendNamespace):
        (WebCore::appendStartMarkup):
        (WebCore::getStartMarkup):
        (WebCore::appendEndMarkup):
        (WebCore::getEndMarkup):
        (WebCore::appendMarkup):
        (WebCore::joinMarkups):
        (WebCore::createMarkup):
        * editing/markup.h:
        * page/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge markupStringFromNode:nodes:]):
        (-[WebCoreFrameBridge markupStringFromRange:nodes:]):

LayoutTests:

        Reviewed by Oliver.

        - test updates for "file:///Volumes/Data/mjs/Work/src/Safari/OpenSource/LayoutTests/fast/dom/serialize-attribute.xhtml"
        http://bugs.webkit.org/show_bug.cgi?id=15339

        We no longer entity-escape the '>' character in content or attribute values since this is unnecessary.

        * fast/dom/dom-parse-serialize-expected.txt:
        * fast/dom/serialize-attribute.xhtml:
        * fast/xsl/xslt-processor-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26474 268f45cc-cd09-0410-ab3c-d52691b4dbfc
LayoutTests/ChangeLog
LayoutTests/fast/dom/serialize-attribute.xhtml
LayoutTests/fast/xsl/xslt-processor-expected.txt
WebCore/ChangeLog
WebCore/WebCore.xcodeproj/project.pbxproj
WebCore/editing/markup.cpp
WebCore/editing/markup.h
WebCore/page/mac/WebCoreFrameBridge.mm