Changeset 64702 in webkit
- Timestamp:
- Aug 4, 2010 6:10:07 PM (14 years ago)
- Location:
- trunk
- Files:
-
- 2 added
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r64701 r64702 1 2010-08-04 Adam Barth <abarth@webkit.org> 2 3 Reviewed by Eric Seidel. 4 5 fast/parser/residual-style-hang.html hangs 6 https://bugs.webkit.org/show_bug.cgi?id=42950 7 8 Add a dump-as-markup test that shows what DOM we actually create in 9 this case. 10 11 Note: these results are for the existing parser. 12 13 * fast/parser/residual-style-dom-expected.txt: Added. 14 * fast/parser/residual-style-dom.html: Added. 15 1 16 2010-08-04 Andrew Wilson <atwilson@chromium.org> 2 17 -
trunk/WebCore/ChangeLog
r64699 r64702 1 2010-08-04 Adam Barth <abarth@webkit.org> 2 3 Reviewed by Eric Seidel. 4 5 fast/parser/residual-style-hang.html hangs 6 https://bugs.webkit.org/show_bug.cgi?id=42950 7 8 We need to cap the iteration of the adoption agency algorithm to 9 prevent this hang. The legacy tree builder does this as well. 10 11 * html/HTMLTreeBuilder.cpp: 12 (WebCore::HTMLTreeBuilder::callTheAdoptionAgency): 13 1 14 2010-08-04 Adam Barth <abarth@webkit.org> 2 15 -
trunk/WebCore/html/HTMLTreeBuilder.cpp
r64699 r64702 1648 1648 void HTMLTreeBuilder::callTheAdoptionAgency(AtomicHTMLToken& token) 1649 1649 { 1650 while (1) { 1650 // The adoption agency algorithm is N^2. We limit the number of iterations 1651 // to stop from hanging the whole browser. This limit is copied from the 1652 // legacy tree builder and might need to be tweaked in the future. 1653 static const int adoptionAgencyIterationLimit = 10; 1654 1655 for (int i = 0; i < adoptionAgencyIterationLimit; ++i) { 1651 1656 // 1. 1652 1657 Element* formattingElement = m_tree.activeFormattingElements()->closestElementInScopeWithName(token.name()); … … 1681 1686 HTMLElementStack::ElementRecord* nextNode = node->next(); 1682 1687 HTMLElementStack::ElementRecord* lastNode = furthestBlock; 1683 while (1) {1688 for (int i = 0; i < adoptionAgencyIterationLimit; ++i) { 1684 1689 // 6.1 1685 1690 node = nextNode;
Note: See TracChangeset
for help on using the changeset viewer.