summaryrefslogtreecommitdiffstats
path: root/WebCore/dom/XMLTokenizerQt.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'WebCore/dom/XMLTokenizerQt.cpp')
-rw-r--r--WebCore/dom/XMLTokenizerQt.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/WebCore/dom/XMLTokenizerQt.cpp b/WebCore/dom/XMLTokenizerQt.cpp
index ce50126..68bc17b 100644
--- a/WebCore/dom/XMLTokenizerQt.cpp
+++ b/WebCore/dom/XMLTokenizerQt.cpp
@@ -507,6 +507,8 @@ void XMLTokenizer::parseStartElement()
m_sawFirstElement = true;
return;
}
+
+ bool isFirstElement = !m_sawFirstElement;
m_sawFirstElement = true;
exitText();
@@ -520,14 +522,14 @@ void XMLTokenizer::parseStartElement()
uri = m_defaultNamespaceURI;
}
- ExceptionCode ec = 0;
QualifiedName qName(prefix, localName, uri);
- RefPtr<Element> newElement = m_doc->createElement(qName, true, ec);
+ RefPtr<Element> newElement = m_doc->createElement(qName, true);
if (!newElement) {
stopParsing();
return;
}
+ ExceptionCode ec = 0;
handleElementNamespaces(newElement.get(), m_stream.namespaceDeclarations(), ec);
if (ec) {
stopParsing();
@@ -552,6 +554,9 @@ void XMLTokenizer::parseStartElement()
setCurrentNode(newElement.get());
if (m_view && !newElement->attached())
newElement->attach();
+
+ if (isFirstElement && m_doc->frame())
+ m_doc->frame()->loader()->dispatchDocumentElementAvailable();
}
void XMLTokenizer::parseEndElement()