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

Side by Side Diff: third_party/WebKit/Source/core/layout/line/InlineFlowBox.cpp

Issue 1415493008: ASSERTION FAILED: !m_overflow (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: 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 unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserved. 2 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserved.
3 * 3 *
4 * This library is free software; you can redistribute it and/or 4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Library General Public 5 * modify it under the terms of the GNU Library General Public
6 * License as published by the Free Software Foundation; either 6 * License as published by the Free Software Foundation; either
7 * version 2 of the License, or (at your option) any later version. 7 * version 2 of the License, or (at your option) any later version.
8 * 8 *
9 * This library is distributed in the hope that it will be useful, 9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
(...skipping 921 matching lines...) Expand 10 before | Expand all | Expand 10 after
932 } else { 932 } else {
933 addReplacedChildOverflow(curr, logicalLayoutOverflow, logicalVisualO verflow); 933 addReplacedChildOverflow(curr, logicalLayoutOverflow, logicalVisualO verflow);
934 } 934 }
935 } 935 }
936 936
937 setOverflowFromLogicalRects(logicalLayoutOverflow, logicalVisualOverflow, li neTop, lineBottom); 937 setOverflowFromLogicalRects(logicalLayoutOverflow, logicalVisualOverflow, li neTop, lineBottom);
938 } 938 }
939 939
940 void InlineFlowBox::setLayoutOverflow(const LayoutRect& rect, const LayoutRect& frameBox) 940 void InlineFlowBox::setLayoutOverflow(const LayoutRect& rect, const LayoutRect& frameBox)
941 { 941 {
942 ASSERT(!knownToHaveNoOverflow());
942 if (frameBox.contains(rect) || rect.isEmpty()) 943 if (frameBox.contains(rect) || rect.isEmpty())
943 return; 944 return;
944 945
945 if (!m_overflow) 946 if (!m_overflow)
946 m_overflow = adoptPtr(new OverflowModel(frameBox, frameBox)); 947 m_overflow = adoptPtr(new OverflowModel(frameBox, frameBox));
947 948
948 m_overflow->setLayoutOverflow(rect); 949 m_overflow->setLayoutOverflow(rect);
949 } 950 }
950 951
951 void InlineFlowBox::setVisualOverflow(const LayoutRect& rect, const LayoutRect& frameBox) 952 void InlineFlowBox::setVisualOverflow(const LayoutRect& rect, const LayoutRect& frameBox)
952 { 953 {
954 ASSERT(!knownToHaveNoOverflow());
953 if (frameBox.contains(rect) || rect.isEmpty()) 955 if (frameBox.contains(rect) || rect.isEmpty())
954 return; 956 return;
955 957
956 if (!m_overflow) 958 if (!m_overflow)
957 m_overflow = adoptPtr(new OverflowModel(frameBox, frameBox)); 959 m_overflow = adoptPtr(new OverflowModel(frameBox, frameBox));
958 960
959 m_overflow->setVisualOverflow(rect); 961 m_overflow->setVisualOverflow(rect);
960 } 962 }
961 963
962 void InlineFlowBox::setOverflowFromLogicalRects(const LayoutRect& logicalLayoutO verflow, const LayoutRect& logicalVisualOverflow, LayoutUnit lineTop, LayoutUnit lineBottom) 964 void InlineFlowBox::setOverflowFromLogicalRects(const LayoutRect& logicalLayoutO verflow, const LayoutRect& logicalVisualOverflow, LayoutUnit lineTop, LayoutUnit lineBottom)
963 { 965 {
966 ASSERT(!knownToHaveNoOverflow());
964 LayoutRect frameBox = frameRectIncludingLineHeight(lineTop, lineBottom); 967 LayoutRect frameBox = frameRectIncludingLineHeight(lineTop, lineBottom);
965 968
966 LayoutRect layoutOverflow(isHorizontal() ? logicalLayoutOverflow : logicalLa youtOverflow.transposedRect()); 969 LayoutRect layoutOverflow(isHorizontal() ? logicalLayoutOverflow : logicalLa youtOverflow.transposedRect());
967 setLayoutOverflow(layoutOverflow, frameBox); 970 setLayoutOverflow(layoutOverflow, frameBox);
968 971
969 LayoutRect visualOverflow(isHorizontal() ? logicalVisualOverflow : logicalVi sualOverflow.transposedRect()); 972 LayoutRect visualOverflow(isHorizontal() ? logicalVisualOverflow : logicalVi sualOverflow.transposedRect());
970 setVisualOverflow(visualOverflow, frameBox); 973 setVisualOverflow(visualOverflow, frameBox);
971 } 974 }
972 975
973 bool InlineFlowBox::nodeAtPoint(HitTestResult& result, const HitTestLocation& lo cationInContainer, const LayoutPoint& accumulatedOffset, LayoutUnit lineTop, Lay outUnit lineBottom) 976 bool InlineFlowBox::nodeAtPoint(HitTestResult& result, const HitTestLocation& lo cationInContainer, const LayoutPoint& accumulatedOffset, LayoutUnit lineTop, Lay outUnit lineBottom)
(...skipping 329 matching lines...) Expand 10 before | Expand all | Expand 10 after
1303 ASSERT(child->prevOnLine() == prev); 1306 ASSERT(child->prevOnLine() == prev);
1304 prev = child; 1307 prev = child;
1305 } 1308 }
1306 ASSERT(prev == m_lastChild); 1309 ASSERT(prev == m_lastChild);
1307 #endif 1310 #endif
1308 } 1311 }
1309 1312
1310 #endif 1313 #endif
1311 1314
1312 } // namespace blink 1315 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698