Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(123)

Unified Diff: third_party/WebKit/Source/core/layout/line/InlineFlowBox.h

Issue 1415493008: ASSERTION FAILED: !m_overflow (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: nittified! Created 5 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/core/layout/line/InlineFlowBox.h
diff --git a/third_party/WebKit/Source/core/layout/line/InlineFlowBox.h b/third_party/WebKit/Source/core/layout/line/InlineFlowBox.h
index 87836f0a1d3c32defd125d5f142c92d518ed2c3d..2b5d669897d1c0b266e388bf62a50659bfa89625 100644
--- a/third_party/WebKit/Source/core/layout/line/InlineFlowBox.h
+++ b/third_party/WebKit/Source/core/layout/line/InlineFlowBox.h
@@ -255,8 +255,6 @@ public:
return result;
}
- void setOverflowFromLogicalRects(const LayoutRect& logicalLayoutOverflow, const LayoutRect& logicalVisualOverflow, LayoutUnit lineTop, LayoutUnit lineBottom);
-
LayoutRect frameRectIncludingLineHeight(LayoutUnit lineTop, LayoutUnit lineBottom) const
{
if (isHorizontal())
@@ -280,6 +278,14 @@ public:
bool isFirstAfterPageBreak() const { return m_isFirstAfterPageBreak; }
void setIsFirstAfterPageBreak(bool isFirstAfterPageBreak) { m_isFirstAfterPageBreak = isFirstAfterPageBreak; }
+ // Some callers (LayoutListItem) needs to set extra overflow on their line box.
+ void overrideOverflowFromLogicalRects(const LayoutRect& logicalLayoutOverflow, const LayoutRect& logicalVisualOverflow, LayoutUnit lineTop, LayoutUnit lineBottom)
+ {
+ // If we are setting an overflow, then we can't pretend not to have an overflow.
+ clearKnownToHaveNoOverflow();
+ setOverflowFromLogicalRects(logicalLayoutOverflow, logicalVisualOverflow, lineTop, lineBottom);
+ }
+
private:
void placeBoxRangeInInlineDirection(InlineBox* firstChild, InlineBox* lastChild,
LayoutUnit& logicalLeft, LayoutUnit& minLogicalLeft, LayoutUnit& maxLogicalRight, bool& needsWordSpacing);
@@ -300,6 +306,8 @@ private:
void setLayoutOverflow(const LayoutRect&, const LayoutRect&);
void setVisualOverflow(const LayoutRect&, const LayoutRect&);
+ void setOverflowFromLogicalRects(const LayoutRect& logicalLayoutOverflow, const LayoutRect& logicalVisualOverflow, LayoutUnit lineTop, LayoutUnit lineBottom);
+
protected:
OwnPtr<OverflowModel> m_overflow;
« no previous file with comments | « third_party/WebKit/Source/core/layout/line/InlineBox.h ('k') | third_party/WebKit/Source/core/layout/line/InlineFlowBox.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698