diff options
author | Steve Block <steveblock@google.com> | 2012-04-10 15:27:57 +0100 |
---|---|---|
committer | Steve Block <steveblock@google.com> | 2012-04-10 15:51:14 +0100 |
commit | 36df29d71f5315df6fe4375954add26fe3849273 (patch) | |
tree | d29b102bb775552c6e7e6348293f2813405d0109 /Source/WebCore/rendering | |
parent | 27ecdfb1b551244c4c15289fa375f07bee2f95da (diff) | |
download | external_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.cpp | 2 | ||||
-rw-r--r-- | Source/WebCore/rendering/RenderBox.h | 2 |
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; |