-
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