Changeset 101733 in webkit


Ignore:
Timestamp:
Dec 1, 2011 6:39:14 PM (12 years ago)
Author:
rniwa@webkit.org
Message:

REGRESSION(r101268): Intermittent assertion failure in fast/block/child-not-removed-from-parent-lineboxes-crash.html
https://bugs.webkit.org/show_bug.cgi?id=73250

Reviewed by Darin Adler.

Reset the position when exiting early in layoutRunsAndFloatsInRange.

No new tests because we don't have a reliable reproduction for this failure.
However, the failure is caught by the existing fast/block/child-not-removed-from-parent-lineboxes-crash.html
intermittently with about 30% probability.

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlock::layoutRunsAndFloatsInRange):

Location:
trunk/Source/WebCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r101731 r101733  
     12011-12-01  Ryosuke Niwa  <rniwa@webkit.org>
     2
     3        REGRESSION(r101268): Intermittent assertion failure in fast/block/child-not-removed-from-parent-lineboxes-crash.html
     4        https://bugs.webkit.org/show_bug.cgi?id=73250
     5
     6        Reviewed by Darin Adler.
     7
     8        Reset the position when exiting early in layoutRunsAndFloatsInRange.
     9
     10        No new tests because we don't have a reliable reproduction for this failure.
     11        However, the failure is caught by the existing fast/block/child-not-removed-from-parent-lineboxes-crash.html
     12        intermittently with about 30% probability.
     13
     14        * rendering/RenderBlockLineLayout.cpp:
     15        (WebCore::RenderBlock::layoutRunsAndFloatsInRange):
     16
    1172011-12-01  Shinya Kawanaka  <shinyak@google.com>
    218
  • trunk/Source/WebCore/rendering/RenderBlockLineLayout.cpp

    r101556 r101733  
    12091209        if (checkForEndLineMatch) {
    12101210            layoutState.setEndLineMatched(matchedEndLine(layoutState, resolver, cleanLineStart, cleanLineBidiStatus));
    1211             if (layoutState.endLineMatched())
     1211            if (layoutState.endLineMatched()) {
     1212                resolver.setPosition(InlineIterator(resolver.position().root(), 0, 0), 0);
    12121213                break;
     1214            }
    12131215        }
    12141216
     
    12271229            resolver.markCurrentRunEmpty(); // FIXME: This can probably be replaced by an ASSERT (or just removed).
    12281230            layoutState.setCheckForFloatsFromLastLine(true);
     1231            resolver.setPosition(InlineIterator(resolver.position().root(), 0, 0), 0);
    12291232            break;
    12301233        }
Note: See TracChangeset for help on using the changeset viewer.