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