summaryrefslogtreecommitdiffstats
path: root/Source/WebCore/rendering
diff options
context:
space:
mode:
authorSteve Block <steveblock@google.com>2012-04-10 15:27:57 +0100
committerSteve Block <steveblock@google.com>2012-04-10 15:51:14 +0100
commit36df29d71f5315df6fe4375954add26fe3849273 (patch)
treed29b102bb775552c6e7e6348293f2813405d0109 /Source/WebCore/rendering
parent27ecdfb1b551244c4c15289fa375f07bee2f95da (diff)
downloadexternal_webkit-36df29d71f5315df6fe4375954add26fe3849273.zip
external_webkit-36df29d71f5315df6fe4375954add26fe3849273.tar.gz
external_webkit-36df29d71f5315df6fe4375954add26fe3849273.tar.bz2
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
Diffstat (limited to 'Source/WebCore/rendering')
-rw-r--r--Source/WebCore/rendering/RenderBox.cpp2
-rw-r--r--Source/WebCore/rendering/RenderBox.h2
2 files changed, 3 insertions, 1 deletions
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;