From 36df29d71f5315df6fe4375954add26fe3849273 Mon Sep 17 00:00:00 2001 From: Steve Block Date: Tue, 10 Apr 2012 15:27:57 +0100 Subject: Cherry-pick WebKit change r91386 to fix a rendering crash Note that the use of RenderObject::isDeprecatedFlexibleBox() in the patch had to be changed to RenderObject::isFlexibleBox(). This method was renamed in http://trac.webkit.org/changeset/90773, which is not in Android's version of WebKit. The LayoutTest added in r91386 no longer crashes. See http://trac.webkit.org/changeset/91386 Bug: 5492762 Change-Id: Id43e55e89b4f107285b33c1a2c37a634cf10aad7 --- Source/WebCore/rendering/RenderBox.cpp | 2 +- Source/WebCore/rendering/RenderBox.h | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) (limited to 'Source') diff --git a/Source/WebCore/rendering/RenderBox.cpp b/Source/WebCore/rendering/RenderBox.cpp index fb1dd2c..9c40d5b 100644 --- a/Source/WebCore/rendering/RenderBox.cpp +++ b/Source/WebCore/rendering/RenderBox.cpp @@ -3260,7 +3260,7 @@ bool RenderBox::shrinkToAvoidFloats() const bool RenderBox::avoidsFloats() const { - return isReplaced() || hasOverflowClip() || isHR() || isLegend() || isWritingModeRoot(); + return isReplaced() || hasOverflowClip() || isHR() || isLegend() || isWritingModeRoot() || isDeprecatedFlexItem(); } void RenderBox::addShadowOverflow() diff --git a/Source/WebCore/rendering/RenderBox.h b/Source/WebCore/rendering/RenderBox.h index 1bee989..a5dc1b2 100644 --- a/Source/WebCore/rendering/RenderBox.h +++ b/Source/WebCore/rendering/RenderBox.h @@ -378,6 +378,8 @@ public: virtual void markForPaginationRelayoutIfNeeded() { } bool isWritingModeRoot() const { return !parent() || parent()->style()->writingMode() != style()->writingMode(); } + + bool isDeprecatedFlexItem() const { return !isInline() && !isFloatingOrPositioned() && parent() && parent()->isFlexibleBox(); } virtual int lineHeight(bool firstLine, LineDirectionMode, LinePositionMode = PositionOnContainingLine) const; virtual int baselinePosition(FontBaseline, bool firstLine, LineDirectionMode, LinePositionMode = PositionOnContainingLine) const; -- cgit v1.1