summaryrefslogtreecommitdiffstats
path: root/WebCore/dom/XMLDocumentParser.cpp
diff options
context:
space:
mode:
authorSteve Block <steveblock@google.com>2010-07-08 12:51:48 +0100
committerSteve Block <steveblock@google.com>2010-07-09 15:33:40 +0100
commitca9cb53ed1119a3fd98fafa0972ffeb56dee1c24 (patch)
treebb45155550ec013adc0ad10f4d7d354c6469b022 /WebCore/dom/XMLDocumentParser.cpp
parentd4b24d9a829ed7de70381c8b99fb75a07ab40466 (diff)
downloadexternal_webkit-ca9cb53ed1119a3fd98fafa0972ffeb56dee1c24.zip
external_webkit-ca9cb53ed1119a3fd98fafa0972ffeb56dee1c24.tar.gz
external_webkit-ca9cb53ed1119a3fd98fafa0972ffeb56dee1c24.tar.bz2
Merge WebKit at r62496: Initial merge by git
Change-Id: Ie3da0770eca22a70a632e3571f31cfabc80facb2
Diffstat (limited to 'WebCore/dom/XMLDocumentParser.cpp')
-rw-r--r--WebCore/dom/XMLDocumentParser.cpp13
1 files changed, 11 insertions, 2 deletions
diff --git a/WebCore/dom/XMLDocumentParser.cpp b/WebCore/dom/XMLDocumentParser.cpp
index ab02bb3..3d2f324 100644
--- a/WebCore/dom/XMLDocumentParser.cpp
+++ b/WebCore/dom/XMLDocumentParser.cpp
@@ -116,7 +116,16 @@ void XMLDocumentParser::clearCurrentNodeStack()
}
}
-void XMLDocumentParser::write(const SegmentedString& s, bool /*appendData*/)
+void XMLDocumentParser::insert(const SegmentedString& source)
+{
+ // FIXME: This is a hack to work around the fact that XMLHttpRequest
+ // responseXML() calls Document::write() which in turn calls insert(). In
+ // HTML, that's correct, as insert() implies a synchronous parse. For XML,
+ // all parsing is synchronous but document.write shouldn't be supported.
+ append(source);
+}
+
+void XMLDocumentParser::append(const SegmentedString& s)
{
String parseString = s.toString();
@@ -167,7 +176,7 @@ bool XMLDocumentParser::enterText()
ASSERT(m_bufferedText.size() == 0);
#endif
RefPtr<Node> newNode = Text::create(document(), "");
- if (!m_currentNode->addChild(newNode.get()))
+ if (!m_currentNode->legacyParserAddChild(newNode.get()))
return false;
pushCurrentNode(newNode.get());
return true;