Title: [101733] trunk/Source/WebCore
- Revision
- 101733
- Author
- [email protected]
- Date
- 2011-12-01 18:39:14 -0800 (Thu, 01 Dec 2011)
Log 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):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (101732 => 101733)
--- trunk/Source/WebCore/ChangeLog 2011-12-02 02:38:06 UTC (rev 101732)
+++ trunk/Source/WebCore/ChangeLog 2011-12-02 02:39:14 UTC (rev 101733)
@@ -1,3 +1,19 @@
+2011-12-01 Ryosuke Niwa <[email protected]>
+
+ 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):
+
2011-12-01 Shinya Kawanaka <[email protected]>
Asynchronous SpellChecker should consider multiple requests.
Modified: trunk/Source/WebCore/rendering/RenderBlockLineLayout.cpp (101732 => 101733)
--- trunk/Source/WebCore/rendering/RenderBlockLineLayout.cpp 2011-12-02 02:38:06 UTC (rev 101732)
+++ trunk/Source/WebCore/rendering/RenderBlockLineLayout.cpp 2011-12-02 02:39:14 UTC (rev 101733)
@@ -1208,8 +1208,10 @@
// FIXME: Is this check necessary before the first iteration or can it be moved to the end?
if (checkForEndLineMatch) {
layoutState.setEndLineMatched(matchedEndLine(layoutState, resolver, cleanLineStart, cleanLineBidiStatus));
- if (layoutState.endLineMatched())
+ if (layoutState.endLineMatched()) {
+ resolver.setPosition(InlineIterator(resolver.position().root(), 0, 0), 0);
break;
+ }
}
lineMidpointState.reset();
@@ -1226,6 +1228,7 @@
resolver.runs().deleteRuns();
resolver.markCurrentRunEmpty(); // FIXME: This can probably be replaced by an ASSERT (or just removed).
layoutState.setCheckForFloatsFromLastLine(true);
+ resolver.setPosition(InlineIterator(resolver.position().root(), 0, 0), 0);
break;
}
ASSERT(end != resolver.position());
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes