Title: [167723] trunk/Source/WebCore
- Revision
- 167723
- Author
- hy...@apple.com
- Date
- 2014-04-23 14:27:54 -0700 (Wed, 23 Apr 2014)
Log Message
[New Multicolumn] Assertion failure in huge-column-count.html
https://bugs.webkit.org/show_bug.cgi?id=132071
Reviewed by Dean Jackson.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::regionAtBlockOffset):
Back out this change, since it wasn't general enough.
* rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::getRegionRangeForBox):
The real issue was that this loop needed to consider the actual box
rather than starting from the parent. This was a non-issue for normal
regions (which cannot have nested flow threads), but for columns, you
have to consider the fact that the box could itself be a flow thread.
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (167722 => 167723)
--- trunk/Source/WebCore/ChangeLog 2014-04-23 21:22:53 UTC (rev 167722)
+++ trunk/Source/WebCore/ChangeLog 2014-04-23 21:27:54 UTC (rev 167723)
@@ -1,3 +1,21 @@
+2014-04-23 David Hyatt <hy...@apple.com>
+
+ [New Multicolumn] Assertion failure in huge-column-count.html
+ https://bugs.webkit.org/show_bug.cgi?id=132071
+
+ Reviewed by Dean Jackson.
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::regionAtBlockOffset):
+ Back out this change, since it wasn't general enough.
+
+ * rendering/RenderFlowThread.cpp:
+ (WebCore::RenderFlowThread::getRegionRangeForBox):
+ The real issue was that this loop needed to consider the actual box
+ rather than starting from the parent. This was a non-issue for normal
+ regions (which cannot have nested flow threads), but for columns, you
+ have to consider the fact that the box could itself be a flow thread.
+
2014-04-23 Andreas Kling <akl...@apple.com>
[iOS] Memory pressure notification should fire on main thread.
Modified: trunk/Source/WebCore/rendering/RenderBlock.cpp (167722 => 167723)
--- trunk/Source/WebCore/rendering/RenderBlock.cpp 2014-04-23 21:22:53 UTC (rev 167722)
+++ trunk/Source/WebCore/rendering/RenderBlock.cpp 2014-04-23 21:27:54 UTC (rev 167723)
@@ -4828,9 +4828,6 @@
RenderRegion* RenderBlock::regionAtBlockOffset(LayoutUnit blockOffset) const
{
- if (isInFlowRenderFlowThread())
- return 0;
-
RenderFlowThread* flowThread = flowThreadContainingBlock();
if (!flowThread || !flowThread->hasValidRegionInfo())
return 0;
Modified: trunk/Source/WebCore/rendering/RenderFlowThread.cpp (167722 => 167723)
--- trunk/Source/WebCore/rendering/RenderFlowThread.cpp 2014-04-23 21:22:53 UTC (rev 167722)
+++ trunk/Source/WebCore/rendering/RenderFlowThread.cpp 2014-04-23 21:27:54 UTC (rev 167723)
@@ -771,13 +771,13 @@
// should be equal with the region for the unsplittable box if any.
RenderBox* topMostUnsplittable = nullptr;
RenderBox* cb = const_cast<RenderBox*>(box);
- do {
+ while (!cb->isRenderFlowThread()) {
if (cb->isUnsplittableForPagination())
topMostUnsplittable = cb;
ASSERT(cb->parent());
cb = cb->parent()->enclosingBox();
ASSERT(cb);
- } while (!cb->isRenderFlowThread());
+ }
if (topMostUnsplittable) {
if (getRegionRangeForBoxFromCachedInfo(topMostUnsplittable, startRegion, endRegion)) {
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes