Changeset 93032 in webkit
- Timestamp:
- Aug 14, 2011 4:08:11 PM (13 years ago)
- Location:
- trunk
- Files:
-
- 2 added
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r93006 r93032 1 2011-08-13 Abhishek Arya <inferno@chromium.org> 2 3 Crash in HTMLTreeBuilder::processAnyOtherEndTagForInBody. 4 https://bugs.webkit.org/show_bug.cgi?id=66187 5 6 Reviewed by Adam Barth. 7 8 * fast/html/process-end-tag-for-inbody-crash-expected.txt: Added. 9 * fast/html/process-end-tag-for-inbody-crash.html: Added. 10 1 11 2011-08-12 Ryosuke Niwa <rniwa@webkit.org> 2 12 -
trunk/Source/WebCore/ChangeLog
r93030 r93032 1 2011-08-13 Abhishek Arya <inferno@chromium.org> 2 3 Crash in HTMLTreeBuilder::processAnyOtherEndTagForInBody 4 https://bugs.webkit.org/show_bug.cgi?id=66187 5 6 Reviewed by Adam Barth. 7 8 RefPtr a few ContainerNodes to prevent premature deletion. 9 10 Test: fast/html/process-end-tag-for-inbody-crash.html 11 12 * html/parser/HTMLTreeBuilder.cpp: 13 (WebCore::HTMLTreeBuilder::processCloseWhenNestedTag): 14 (WebCore::HTMLTreeBuilder::processAnyOtherEndTagForInBody): 15 (WebCore::HTMLTreeBuilder::callTheAdoptionAgency): 16 1 17 2011-08-14 Kalev Lember <kalevlember@gmail.com> 2 18 -
trunk/Source/WebCore/html/parser/HTMLTreeBuilder.cpp
r91643 r93032 606 606 HTMLElementStack::ElementRecord* nodeRecord = m_tree.openElements()->topRecord(); 607 607 while (1) { 608 ContainerNode*node = nodeRecord->node();609 if (shouldClose(node )) {608 RefPtr<ContainerNode> node = nodeRecord->node(); 609 if (shouldClose(node.get())) { 610 610 ASSERT(node->isElementNode()); 611 processFakeEndTag(toElement(node )->tagQName());611 processFakeEndTag(toElement(node.get())->tagQName()); 612 612 break; 613 613 } 614 if (isSpecialNode(node ) && !node->hasTagName(addressTag) && !node->hasTagName(divTag) && !node->hasTagName(pTag))614 if (isSpecialNode(node.get()) && !node->hasTagName(addressTag) && !node->hasTagName(divTag) && !node->hasTagName(pTag)) 615 615 break; 616 616 nodeRecord = nodeRecord->next(); … … 1557 1557 HTMLElementStack::ElementRecord* record = m_tree.openElements()->topRecord(); 1558 1558 while (1) { 1559 ContainerNode*node = record->node();1559 RefPtr<ContainerNode> node = record->node(); 1560 1560 if (node->hasLocalName(token.name())) { 1561 1561 m_tree.generateImpliedEndTags(); … … 1571 1571 // We might have already popped the node for the token in 1572 1572 // generateImpliedEndTags, just abort. 1573 if (!m_tree.openElements()->contains(toElement(node )))1573 if (!m_tree.openElements()->contains(toElement(node.get()))) 1574 1574 return; 1575 1575 } 1576 m_tree.openElements()->popUntilPopped(toElement(node ));1577 return; 1578 } 1579 if (isSpecialNode(node )) {1576 m_tree.openElements()->popUntilPopped(toElement(node.get())); 1577 return; 1578 } 1579 if (isSpecialNode(node.get())) { 1580 1580 parseError(token); 1581 1581 return; … … 1634 1634 // 4. 1635 1635 ASSERT(furthestBlock->isAbove(formattingElementRecord)); 1636 ContainerNode*commonAncestor = formattingElementRecord->next()->node();1636 RefPtr<ContainerNode> commonAncestor = formattingElementRecord->next()->node(); 1637 1637 // 5. 1638 1638 HTMLFormattingElementList::Bookmark bookmark = m_tree.activeFormattingElements()->bookmarkFor(formattingElement);
Note: See TracChangeset
for help on using the changeset viewer.