diff --git a/ChangeLog b/ChangeLog index 7d008481dddf2..97d072493853a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,15 @@ +2014-12-09 Bem Jones-Bey + + REGRESSION(r155906): Page content disappears on Tuaw article after loading + https://bugs.webkit.org/show_bug.cgi?id=138100 + + Reviewed by Simon Fraser. + + DRT causes an extra paint which makes it impossible to test this with + an automated test. + + * ManualTests/float-layer-not-painting.html: Added. + 2014-12-07 Alberto Garcia [GTK] WebKit has a new required dependency on GnuTLS diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog index 7d395b28d567c..7ee85aa8b1f9b 100644 --- a/Source/WebCore/ChangeLog +++ b/Source/WebCore/ChangeLog @@ -1,3 +1,18 @@ +2014-12-09 Bem Jones-Bey + + REGRESSION(r155906): Page content disappears on Tuaw article after loading + https://bugs.webkit.org/show_bug.cgi?id=138100 + + Reviewed by Simon Fraser. + + Test: ManualTests/float-layer-not-painting.html + + * rendering/RenderBlockFlow.cpp: + (WebCore::RenderBlockFlow::insertFloatingObject): If a layout happens, + it can change whether the float's renderer has a self painting layer. + So in that case, we need to update the flag on the FloatingObject + instance for that float. + 2014-12-09 Andreas Kling Roll out r165076. diff --git a/Source/WebCore/rendering/RenderBlockFlow.cpp b/Source/WebCore/rendering/RenderBlockFlow.cpp index 3e19d46b6cc1b..863f12b78607e 100644 --- a/Source/WebCore/rendering/RenderBlockFlow.cpp +++ b/Source/WebCore/rendering/RenderBlockFlow.cpp @@ -2217,8 +2217,11 @@ FloatingObject* RenderBlockFlow::insertFloatingObject(RenderBox& floatBox) floatBox.setChildNeedsLayout(MarkOnlyThis); bool needsBlockDirectionLocationSetBeforeLayout = isChildRenderBlock && view().layoutState()->needsBlockDirectionLocationSetBeforeLayout(); - if (!needsBlockDirectionLocationSetBeforeLayout || isWritingModeRoot()) // We are unsplittable if we're a block flow root. + if (!needsBlockDirectionLocationSetBeforeLayout || isWritingModeRoot()) { + // We are unsplittable if we're a block flow root. floatBox.layoutIfNeeded(); + floatingObject->setShouldPaint(!floatBox.hasSelfPaintingLayer()); + } else { floatBox.updateLogicalWidth(); floatBox.computeAndSetBlockDirectionMargins(this);