Skip to content
  • oliver's avatar
    WebCore: · 3411ea05
    oliver authored
            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: http://svn.webkit.org/repository/webkit/trunk@26474 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    3411ea05