Changeset 62029 in webkit


Ignore:
Timestamp:
Jun 28, 2010 1:08:06 PM (14 years ago)
Author:
jamesr@google.com
Message:

2010-06-28 James Robinson <jamesr@chromium.org>

Reviewed by Darin Adler.

REGRESSION(53790): Neopets page with mismatched elements misrenders
https://bugs.webkit.org/show_bug.cgi?id=41181

Misnested formatting tags require fixup in order to create a valid DOM. Because this takes
O(N2) time in some cases, http://trac.webkit.org/changeset/53790 added an iteration limit
of 5 to this algorithm to avoid hangs. This limit is too low for neopets, but a limit of
7 is sufficient. This raises the limit to 10 to have a bit of breathing room. HTML5
defines the fixup algorithm http://www.whatwg.org/specs/web-apps/current-work/#adoptionAgency
but doesn't specify any particular iteration limit.

  • html/LegacyHTMLTreeBuilder.cpp:
Location:
trunk/WebCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/WebCore/ChangeLog

    r62028 r62029  
     12010-06-28  James Robinson  <jamesr@chromium.org>
     2
     3        Reviewed by Darin Adler.
     4
     5        REGRESSION(53790): Neopets page with mismatched elements misrenders
     6        https://bugs.webkit.org/show_bug.cgi?id=41181
     7
     8        Misnested formatting tags require fixup in order to create a valid DOM.  Because this takes
     9        O(N^2) time in some cases, http://trac.webkit.org/changeset/53790 added an iteration limit
     10        of 5 to this algorithm to avoid hangs.  This limit is too low for neopets, but a limit of
     11        7 is sufficient.  This raises the limit to 10 to have a bit of breathing room.  HTML5
     12        defines the fixup algorithm http://www.whatwg.org/specs/web-apps/current-work/#adoptionAgency
     13        but doesn't specify any particular iteration limit.
     14
     15        * html/LegacyHTMLTreeBuilder.cpp:
     16
    1172010-06-28  Adam Barth  <abarth@webkit.org>
    218
  • trunk/WebCore/html/LegacyHTMLTreeBuilder.cpp

    r61985 r62029  
    6868static const unsigned cMaxRedundantTagDepth = 20;
    6969static const unsigned cResidualStyleMaxDepth = 200;
    70 static const unsigned cResidualStyleIterationLimit = 5;
     70static const unsigned cResidualStyleIterationLimit = 10;
    7171
    7272
Note: See TracChangeset for help on using the changeset viewer.