Commit f7d1f541 authored by adamk@chromium.org's avatar adamk@chromium.org
Browse files

Rename ContainerNode::parserAddChild "parserAppendChild" for consistency

https://bugs.webkit.org/show_bug.cgi?id=97254

Reviewed by Adam Barth.

No functional change, all the below changes are simple renames.

* dom/ContainerNode.cpp:
(WebCore::ContainerNode::takeAllChildrenFrom):
(WebCore::ContainerNode::parserAppendChild):
* dom/ContainerNode.h:
(ContainerNode):
* dom/DOMImplementation.cpp:
(WebCore::DOMImplementation::createDocument):
* editing/markup.cpp:
(WebCore::createFragmentForTransformToFragment):
* html/HTMLViewSourceDocument.cpp:
(WebCore::HTMLViewSourceDocument::createContainingTable):
(WebCore::HTMLViewSourceDocument::addSpanWithClassName):
(WebCore::HTMLViewSourceDocument::addLine):
(WebCore::HTMLViewSourceDocument::finishLine):
(WebCore::HTMLViewSourceDocument::addText):
(WebCore::HTMLViewSourceDocument::addBase):
(WebCore::HTMLViewSourceDocument::addLink):
* html/parser/HTMLConstructionSite.cpp:
(WebCore::executeTask):
* html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
* html/track/WebVTTParser.cpp:
(WebCore::WebVTTParser::constructTreeFromToken):
* xml/XMLErrors.cpp:
(WebCore::createXHTMLParserErrorHeader):
(WebCore::XMLErrors::insertErrorMessageBlock):
* xml/parser/XMLDocumentParser.cpp:
(WebCore::XMLDocumentParser::enterText):
(WebCore::XMLDocumentParser::parseDocumentFragment):
* xml/parser/XMLDocumentParserLibxml2.cpp:
(WebCore::XMLDocumentParser::startElementNs):
(WebCore::XMLDocumentParser::processingInstruction):
(WebCore::XMLDocumentParser::cdataBlock):
(WebCore::XMLDocumentParser::comment):
(WebCore::XMLDocumentParser::internalSubset):
* xml/parser/XMLDocumentParserQt.cpp:
(WebCore::XMLDocumentParser::parseStartElement):
(WebCore::XMLDocumentParser::parseProcessingInstruction):
(WebCore::XMLDocumentParser::parseCdata):
(WebCore::XMLDocumentParser::parseComment):
(WebCore::XMLDocumentParser::parseDtd):
* xml/parser/XMLTreeBuilder.cpp:
(WebCore::XMLTreeBuilder::processDOCTYPE):
(WebCore::XMLTreeBuilder::processStartTag):
(WebCore::XMLTreeBuilder::add):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129164 268f45cc-cd09-0410-ab3c-d52691b4dbfc
parent 77f0da79
2012-09-20 Adam Klein <adamk@chromium.org>
Rename ContainerNode::parserAddChild "parserAppendChild" for consistency
https://bugs.webkit.org/show_bug.cgi?id=97254
Reviewed by Adam Barth.
No functional change, all the below changes are simple renames.
* dom/ContainerNode.cpp:
(WebCore::ContainerNode::takeAllChildrenFrom):
(WebCore::ContainerNode::parserAppendChild):
* dom/ContainerNode.h:
(ContainerNode):
* dom/DOMImplementation.cpp:
(WebCore::DOMImplementation::createDocument):
* editing/markup.cpp:
(WebCore::createFragmentForTransformToFragment):
* html/HTMLViewSourceDocument.cpp:
(WebCore::HTMLViewSourceDocument::createContainingTable):
(WebCore::HTMLViewSourceDocument::addSpanWithClassName):
(WebCore::HTMLViewSourceDocument::addLine):
(WebCore::HTMLViewSourceDocument::finishLine):
(WebCore::HTMLViewSourceDocument::addText):
(WebCore::HTMLViewSourceDocument::addBase):
(WebCore::HTMLViewSourceDocument::addLink):
* html/parser/HTMLConstructionSite.cpp:
(WebCore::executeTask):
* html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
* html/track/WebVTTParser.cpp:
(WebCore::WebVTTParser::constructTreeFromToken):
* xml/XMLErrors.cpp:
(WebCore::createXHTMLParserErrorHeader):
(WebCore::XMLErrors::insertErrorMessageBlock):
* xml/parser/XMLDocumentParser.cpp:
(WebCore::XMLDocumentParser::enterText):
(WebCore::XMLDocumentParser::parseDocumentFragment):
* xml/parser/XMLDocumentParserLibxml2.cpp:
(WebCore::XMLDocumentParser::startElementNs):
(WebCore::XMLDocumentParser::processingInstruction):
(WebCore::XMLDocumentParser::cdataBlock):
(WebCore::XMLDocumentParser::comment):
(WebCore::XMLDocumentParser::internalSubset):
* xml/parser/XMLDocumentParserQt.cpp:
(WebCore::XMLDocumentParser::parseStartElement):
(WebCore::XMLDocumentParser::parseProcessingInstruction):
(WebCore::XMLDocumentParser::parseCdata):
(WebCore::XMLDocumentParser::parseComment):
(WebCore::XMLDocumentParser::parseDtd):
* xml/parser/XMLTreeBuilder.cpp:
(WebCore::XMLTreeBuilder::processDOCTYPE):
(WebCore::XMLTreeBuilder::processStartTag):
(WebCore::XMLTreeBuilder::add):
2012-09-20 James Robinson <jamesr@chromium.org>
 
[chromium] Remove unused copy of chromium compositor implementation files
......@@ -103,7 +103,7 @@ void ContainerNode::takeAllChildrenFrom(ContainerNode* oldParent)
// FIXME: We need a no mutation event version of adoptNode.
RefPtr<Node> child = document()->adoptNode(children[i].release(), ec);
ASSERT(!ec);
parserAddChild(child.get());
parserAppendChild(child.get());
// FIXME: Together with adoptNode above, the tree scope might get updated recursively twice
// (if the document changed or oldParent was in a shadow tree, AND *this is in a shadow tree).
// Can we do better?
......@@ -600,7 +600,7 @@ bool ContainerNode::appendChild(PassRefPtr<Node> newChild, ExceptionCode& ec, bo
return true;
}
void ContainerNode::parserAddChild(PassRefPtr<Node> newChild)
void ContainerNode::parserAppendChild(PassRefPtr<Node> newChild)
{
ASSERT(newChild);
ASSERT(!newChild->parentNode()); // Use appendChild if you need to handle reparenting (and want DOM mutation events).
......
......@@ -60,7 +60,7 @@ public:
// These methods are only used during parsing.
// They don't send DOM mutation events or handle reparenting.
// However, arbitrary code may be run by beforeload handlers.
void parserAddChild(PassRefPtr<Node>);
void parserAppendChild(PassRefPtr<Node>);
void parserRemoveChild(Node*);
void parserInsertBefore(PassRefPtr<Node> newChild, Node* refChild);
......
......@@ -317,9 +317,9 @@ PassRefPtr<Document> DOMImplementation::createDocument(const String& namespaceUR
// FIXME: Shouldn't this call appendChild instead?
if (doctype)
doc->parserAddChild(doctype);
doc->parserAppendChild(doctype);
if (documentElement)
doc->parserAddChild(documentElement.release());
doc->parserAppendChild(documentElement.release());
return doc.release();
}
......
......@@ -1026,7 +1026,7 @@ PassRefPtr<DocumentFragment> createFragmentForTransformToFragment(const String&
RefPtr<HTMLBodyElement> fakeBody = HTMLBodyElement::create(outputDoc);
fragment->parseHTML(sourceString, fakeBody.get());
} else if (sourceMIMEType == "text/plain")
fragment->parserAddChild(Text::create(outputDoc, sourceString));
fragment->parserAppendChild(Text::create(outputDoc, sourceString));
else {
bool successfulParse = fragment->parseXML(sourceString, 0);
if (!successfulParse)
......
......@@ -70,24 +70,24 @@ PassRefPtr<DocumentParser> HTMLViewSourceDocument::createParser()
void HTMLViewSourceDocument::createContainingTable()
{
RefPtr<HTMLHtmlElement> html = HTMLHtmlElement::create(this);
parserAddChild(html);
parserAppendChild(html);
html->attach();
RefPtr<HTMLBodyElement> body = HTMLBodyElement::create(this);
html->parserAddChild(body);
html->parserAppendChild(body);
body->attach();
// Create a line gutter div that can be used to make sure the gutter extends down the height of the whole
// document.
RefPtr<HTMLDivElement> div = HTMLDivElement::create(this);
div->setAttribute(classAttr, "webkit-line-gutter-backdrop");
body->parserAddChild(div);
body->parserAppendChild(div);
div->attach();
RefPtr<HTMLTableElement> table = HTMLTableElement::create(this);
body->parserAddChild(table);
body->parserAppendChild(table);
table->attach();
m_tbody = HTMLTableSectionElement::create(tbodyTag, this);
table->parserAddChild(m_tbody);
table->parserAppendChild(m_tbody);
m_tbody->attach();
m_current = m_tbody;
}
......@@ -186,7 +186,7 @@ PassRefPtr<Element> HTMLViewSourceDocument::addSpanWithClassName(const AtomicStr
RefPtr<HTMLElement> span = HTMLElement::create(spanTag, this);
span->setAttribute(classAttr, className);
m_current->parserAddChild(span);
m_current->parserAppendChild(span);
span->attach();
return span.release();
}
......@@ -195,19 +195,19 @@ void HTMLViewSourceDocument::addLine(const AtomicString& className)
{
// Create a table row.
RefPtr<HTMLTableRowElement> trow = HTMLTableRowElement::create(this);
m_tbody->parserAddChild(trow);
m_tbody->parserAppendChild(trow);
trow->attach();
// Create a cell that will hold the line number (it is generated in the stylesheet using counters).
RefPtr<HTMLTableCellElement> td = HTMLTableCellElement::create(tdTag, this);
td->setAttribute(classAttr, "webkit-line-number");
trow->parserAddChild(td);
trow->parserAppendChild(td);
td->attach();
// Create a second cell for the line contents
td = HTMLTableCellElement::create(tdTag, this);
td->setAttribute(classAttr, "webkit-line-content");
trow->parserAddChild(td);
trow->parserAppendChild(td);
td->attach();
m_current = m_td = td;
......@@ -229,7 +229,7 @@ void HTMLViewSourceDocument::finishLine()
{
if (!m_current->hasChildNodes()) {
RefPtr<HTMLBRElement> br = HTMLBRElement::create(this);
m_current->parserAddChild(br);
m_current->parserAppendChild(br);
br->attach();
}
m_current = m_tbody;
......@@ -255,7 +255,7 @@ void HTMLViewSourceDocument::addText(const String& text, const AtomicString& cla
continue;
}
RefPtr<Text> t = Text::create(this, substring);
m_current->parserAddChild(t);
m_current->parserAppendChild(t);
t->attach();
if (i < size - 1)
finishLine();
......@@ -285,7 +285,7 @@ PassRefPtr<Element> HTMLViewSourceDocument::addBase(const AtomicString& href)
{
RefPtr<HTMLBaseElement> base = HTMLBaseElement::create(baseTag, this);
base->setAttribute(hrefAttr, href);
m_current->parserAddChild(base);
m_current->parserAppendChild(base);
base->attach();
return base.release();
}
......@@ -305,7 +305,7 @@ PassRefPtr<Element> HTMLViewSourceDocument::addLink(const AtomicString& url, boo
anchor->setAttribute(classAttr, classValue);
anchor->setAttribute(targetAttr, "_blank");
anchor->setAttribute(hrefAttr, url);
m_current->parserAddChild(anchor);
m_current->parserAppendChild(anchor);
anchor->attach();
return anchor.release();
}
......
......@@ -80,7 +80,7 @@ static inline void executeTask(HTMLConstructionSiteTask& task)
if (task.nextChild)
task.parent->parserInsertBefore(task.child.get(), task.nextChild.get());
else
task.parent->parserAddChild(task.child.get());
task.parent->parserAppendChild(task.child.get());
// JavaScript run from beforeload (or DOM Mutation or event handlers)
// might have removed the child, in which case we should not attach it.
......
......@@ -1488,7 +1488,7 @@ void HTMLTreeBuilder::callTheAdoptionAgency(AtomicHTMLToken* token)
// 9.9
if (ContainerNode* parent = lastNode->element()->parentNode())
parent->parserRemoveChild(lastNode->element());
node->element()->parserAddChild(lastNode->element());
node->element()->parserAppendChild(lastNode->element());
if (lastNode->element()->parentElement()->attached() && !lastNode->element()->attached())
lastNode->element()->lazyAttach();
// 9.10
......@@ -1500,7 +1500,7 @@ void HTMLTreeBuilder::callTheAdoptionAgency(AtomicHTMLToken* token)
if (commonAncestor->causesFosterParenting())
m_tree.fosterParent(lastNode->element());
else {
commonAncestor->node()->parserAddChild(lastNode->element());
commonAncestor->node()->parserAppendChild(lastNode->element());
ASSERT(lastNode->stackItem()->isElementNode());
ASSERT(lastNode->element()->parentNode());
if (lastNode->element()->parentNode()->attached() && !lastNode->element()->attached())
......@@ -1512,10 +1512,10 @@ void HTMLTreeBuilder::callTheAdoptionAgency(AtomicHTMLToken* token)
newItem->element()->takeAllChildrenFrom(furthestBlock->element());
// 13.
Element* furthestBlockElement = furthestBlock->element();
// FIXME: All this creation / parserAddChild / attach business should
// FIXME: All this creation / parserAppendChild / attach business should
// be in HTMLConstructionSite. My guess is that steps 11--15
// should all be in some HTMLConstructionSite function.
furthestBlockElement->parserAddChild(newItem->element());
furthestBlockElement->parserAppendChild(newItem->element());
// FIXME: Why is this attach logic necessary? Style resolve should attach us if needed.
if (furthestBlockElement->attached() && !newItem->element()->attached()) {
// Notice that newItem->element() might already be attached if, for example, one of the reparented
......
......@@ -351,7 +351,7 @@ void WebVTTParser::constructTreeFromToken(Document* document)
case WebVTTTokenTypes::Character: {
String content(m_token.characters().data(), m_token.characters().size());
RefPtr<Text> child = Text::create(document, content);
m_currentNode->parserAddChild(child);
m_currentNode->parserAppendChild(child);
break;
}
case WebVTTTokenTypes::StartTag: {
......@@ -368,7 +368,7 @@ void WebVTTParser::constructTreeFromToken(Document* document)
child->setAttribute(classAttr, AtomicString(m_token.classes().data(), m_token.classes().size()));
if (child->hasTagName(qTag))
child->setAttribute(titleAttr, AtomicString(m_token.annotation().data(), m_token.annotation().size()));
m_currentNode->parserAddChild(child);
m_currentNode->parserAppendChild(child);
m_currentNode = child;
}
break;
......@@ -385,7 +385,7 @@ void WebVTTParser::constructTreeFromToken(Document* document)
unsigned position = 0;
double time = collectTimeStamp(m_token.characters().data(), &position);
if (time != malformedTime)
m_currentNode->parserAddChild(ProcessingInstruction::create(document, "timestamp", String(m_token.characters().data(), m_token.characters().size())));
m_currentNode->parserAppendChild(ProcessingInstruction::create(document, "timestamp", String(m_token.characters().data(), m_token.characters().size())));
break;
}
default:
......
......@@ -96,20 +96,20 @@ static inline PassRefPtr<Element> createXHTMLParserErrorHeader(Document* doc, co
reportElement->parserSetAttributes(reportAttributes, DisallowScriptingContent);
RefPtr<Element> h3 = doc->createElement(h3Tag, true);
reportElement->parserAddChild(h3.get());
h3->parserAddChild(doc->createTextNode("This page contains the following errors:"));
reportElement->parserAppendChild(h3.get());
h3->parserAppendChild(doc->createTextNode("This page contains the following errors:"));
RefPtr<Element> fixed = doc->createElement(divTag, true);
Vector<Attribute> fixedAttributes;
fixedAttributes.append(Attribute(styleAttr, "font-family:monospace;font-size:12px"));
fixed->parserSetAttributes(fixedAttributes, DisallowScriptingContent);
reportElement->parserAddChild(fixed.get());
reportElement->parserAppendChild(fixed.get());
fixed->parserAddChild(doc->createTextNode(errorMessages));
fixed->parserAppendChild(doc->createTextNode(errorMessages));
h3 = doc->createElement(h3Tag, true);
reportElement->parserAddChild(h3.get());
h3->parserAddChild(doc->createTextNode("Below is a rendering of the page up to the first error."));
reportElement->parserAppendChild(h3.get());
h3->parserAppendChild(doc->createTextNode("Below is a rendering of the page up to the first error."));
return reportElement.release();
}
......@@ -125,8 +125,8 @@ void XMLErrors::insertErrorMessageBlock()
if (!documentElement) {
RefPtr<Element> rootElement = m_document->createElement(htmlTag, true);
RefPtr<Element> body = m_document->createElement(bodyTag, true);
rootElement->parserAddChild(body);
m_document->parserAddChild(rootElement);
rootElement->parserAppendChild(body);
m_document->parserAppendChild(rootElement);
if (m_document->attached() && !rootElement->attached())
rootElement->attach();
documentElement = body.get();
......@@ -135,14 +135,14 @@ void XMLErrors::insertErrorMessageBlock()
else if (documentElement->namespaceURI() == SVGNames::svgNamespaceURI) {
RefPtr<Element> rootElement = m_document->createElement(htmlTag, true);
RefPtr<Element> body = m_document->createElement(bodyTag, true);
rootElement->parserAddChild(body);
rootElement->parserAppendChild(body);
documentElement->parentNode()->parserRemoveChild(documentElement.get());
if (documentElement->attached())
documentElement->detach();
body->parserAddChild(documentElement);
m_document->parserAddChild(rootElement.get());
body->parserAppendChild(documentElement);
m_document->parserAppendChild(rootElement.get());
if (m_document->attached())
// In general, rootElement shouldn't be attached right now, but it will be if there is a style element
......@@ -162,8 +162,8 @@ void XMLErrors::insertErrorMessageBlock()
attributes.append(Attribute(styleAttr, "white-space: normal"));
RefPtr<Element> paragraph = m_document->createElement(pTag, true);
paragraph->parserSetAttributes(attributes, DisallowScriptingContent);
paragraph->parserAddChild(m_document->createTextNode("This document was created as the result of an XSL transformation. The line and column numbers given are from the transformed result."));
reportElement->parserAddChild(paragraph.release());
paragraph->parserAppendChild(m_document->createTextNode("This document was created as the result of an XSL transformation. The line and column numbers given are from the transformed result."));
reportElement->parserAppendChild(paragraph.release());
}
#endif
......@@ -171,7 +171,7 @@ void XMLErrors::insertErrorMessageBlock()
if (firstChild)
documentElement->parserInsertBefore(reportElement, documentElement->firstChild());
else
documentElement->parserAddChild(reportElement);
documentElement->parserAppendChild(reportElement);
if (documentElement->attached() && !reportElement->attached())
reportElement->attach();
......
......@@ -147,7 +147,7 @@ void XMLDocumentParser::enterText()
#endif
ASSERT(!m_leafTextNode);
m_leafTextNode = Text::create(document(), "");
m_currentNode->parserAddChild(m_leafTextNode.get());
m_currentNode->parserAppendChild(m_leafTextNode.get());
}
#if !USE(QXMLSTREAM)
......@@ -295,7 +295,7 @@ bool XMLDocumentParser::parseDocumentFragment(const String& chunk, DocumentFragm
// http://www.whatwg.org/specs/web-apps/current-work/multipage/the-xhtml-syntax.html#xml-fragment-parsing-algorithm
// For now we have a hack for script/style innerHTML support:
if (contextElement && (contextElement->hasLocalName(HTMLNames::scriptTag) || contextElement->hasLocalName(HTMLNames::styleTag))) {
fragment->parserAddChild(fragment->document()->createTextNode(chunk));
fragment->parserAppendChild(fragment->document()->createTextNode(chunk));
return true;
}
......
......@@ -816,7 +816,7 @@ void XMLDocumentParser::startElementNs(const xmlChar* xmlLocalName, const xmlCha
if (scriptElement)
m_scriptStartPosition = textPosition();
m_currentNode->parserAddChild(newElement.get());
m_currentNode->parserAppendChild(newElement.get());
pushCurrentNode(newElement.get());
if (m_view && !newElement->attached())
......@@ -968,7 +968,7 @@ void XMLDocumentParser::processingInstruction(const xmlChar* target, const xmlCh
pi->setCreatedByParser(true);
m_currentNode->parserAddChild(pi.get());
m_currentNode->parserAppendChild(pi.get());
if (m_view && !pi->attached())
pi->attach();
......@@ -996,7 +996,7 @@ void XMLDocumentParser::cdataBlock(const xmlChar* s, int len)
exitText();
RefPtr<CDATASection> newNode = CDATASection::create(document(), toString(s, len));
m_currentNode->parserAddChild(newNode.get());
m_currentNode->parserAppendChild(newNode.get());
if (m_view && !newNode->attached())
newNode->attach();
}
......@@ -1014,7 +1014,7 @@ void XMLDocumentParser::comment(const xmlChar* s)
exitText();
RefPtr<Comment> newNode = Comment::create(document(), toString(s));
m_currentNode->parserAddChild(newNode.get());
m_currentNode->parserAppendChild(newNode.get());
if (m_view && !newNode->attached())
newNode->attach();
}
......@@ -1059,7 +1059,7 @@ void XMLDocumentParser::internalSubset(const xmlChar* name, const xmlChar* exter
}
if (document())
document()->parserAddChild(DocumentType::create(document(), toString(name), toString(externalID), toString(systemID)));
document()->parserAppendChild(DocumentType::create(document(), toString(name), toString(externalID), toString(systemID)));
}
static inline XMLDocumentParser* getParser(void* closure)
......
......@@ -480,7 +480,7 @@ void XMLDocumentParser::parseStartElement()
if (scriptElement)
m_scriptStartPosition = textPosition();
m_currentNode->parserAddChild(newElement.get());
m_currentNode->parserAppendChild(newElement.get());
pushCurrentNode(newElement.get());
if (m_view && !newElement->attached())
......@@ -572,7 +572,7 @@ void XMLDocumentParser::parseProcessingInstruction()
pi->setCreatedByParser(true);
m_currentNode->parserAddChild(pi.get());
m_currentNode->parserAppendChild(pi.get());
if (m_view && !pi->attached())
pi->attach();
......@@ -593,7 +593,7 @@ void XMLDocumentParser::parseCdata()
RefPtr<CDATASection> newNode = CDATASection::create(document(), m_stream.text());
m_currentNode->parserAddChild(newNode.get());
m_currentNode->parserAppendChild(newNode.get());
if (m_view && !newNode->attached())
newNode->attach();
}
......@@ -604,7 +604,7 @@ void XMLDocumentParser::parseComment()
RefPtr<Comment> newNode = Comment::create(document(), m_stream.text());
m_currentNode->parserAddChild(newNode.get());
m_currentNode->parserAppendChild(newNode.get());
if (m_view && !newNode->attached())
newNode->attach();
}
......@@ -636,7 +636,7 @@ void XMLDocumentParser::parseDtd()
)
setIsXHTMLDocument(true); // controls if we replace entities or not.
if (!m_parsingFragment)
document()->parserAddChild(DocumentType::create(document(), name, publicId, systemId));
document()->parserAppendChild(DocumentType::create(document(), name, publicId, systemId));
}
}
......@@ -214,7 +214,7 @@ void XMLTreeBuilder::processDOCTYPE(const AtomicXMLToken& token)
AtomicString systemIdentifier(token.systemIdentifier().data(), token.systemIdentifier().size());
RefPtr<DocumentType> doctype = DocumentType::create(m_document, token.name(), publicIdentifier, systemIdentifier);
m_document->setDocType(doctype);
m_document->parserAddChild(doctype);
m_document->parserAppendChild(doctype);
if ((publicIdentifier == xhtmlTransitional)
|| (publicIdentifier == xhtml11)
......@@ -244,7 +244,7 @@ void XMLTreeBuilder::processStartTag(const AtomicXMLToken& token)
processAttributes(token, top, newElement);
newElement->beginParsingChildren();
m_currentNodeStack.last().node()->parserAddChild(newElement.get());
m_currentNodeStack.last().node()->parserAppendChild(newElement.get());
top.setNode(newElement);
pushCurrentNode(top);
......@@ -388,7 +388,7 @@ void XMLTreeBuilder::processHTMLEntity(const AtomicXMLToken& token)
inline void XMLTreeBuilder::add(PassRefPtr<Node> node)
{
m_currentNodeStack.last().node()->parserAddChild(node.get());
m_currentNodeStack.last().node()->parserAppendChild(node.get());
if (!node->attached())
node->attach();
}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment