OLD | NEW |
1 /* | 1 /* |
2 * This file is part of the render object implementation for KHTML. | 2 * This file is part of the render object implementation for KHTML. |
3 * | 3 * |
4 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) | 4 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) |
5 * (C) 1999 Antti Koivisto (koivisto@kde.org) | 5 * (C) 1999 Antti Koivisto (koivisto@kde.org) |
6 * Copyright (C) 2003 Apple Computer, Inc. | 6 * Copyright (C) 2003 Apple Computer, Inc. |
7 * | 7 * |
8 * This library is free software; you can redistribute it and/or | 8 * This library is free software; you can redistribute it and/or |
9 * modify it under the terms of the GNU Library General Public | 9 * modify it under the terms of the GNU Library General Public |
10 * License as published by the Free Software Foundation; either | 10 * License as published by the Free Software Foundation; either |
(...skipping 867 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
878 setHeight(oldHeight); | 878 setHeight(oldHeight); |
879 } | 879 } |
880 | 880 |
881 void RenderDeprecatedFlexibleBox::applyLineClamp(FlexBoxIterator& iterator, bool
relayoutChildren) | 881 void RenderDeprecatedFlexibleBox::applyLineClamp(FlexBoxIterator& iterator, bool
relayoutChildren) |
882 { | 882 { |
883 int maxLineCount = 0; | 883 int maxLineCount = 0; |
884 for (RenderBox* child = iterator.first(); child; child = iterator.next()) { | 884 for (RenderBox* child = iterator.first(); child; child = iterator.next()) { |
885 if (childDoesNotAffectWidthOrFlexing(child)) | 885 if (childDoesNotAffectWidthOrFlexing(child)) |
886 continue; | 886 continue; |
887 | 887 |
| 888 child->clearOverrideSize(); |
888 if (relayoutChildren || (child->isReplaced() && (child->style()->width()
.isPercent() || child->style()->height().isPercent())) | 889 if (relayoutChildren || (child->isReplaced() && (child->style()->width()
.isPercent() || child->style()->height().isPercent())) |
889 || (child->style()->height().isAuto() && child->isBlockFlow())) { | 890 || (child->style()->height().isAuto() && child->isBlockFlow())) { |
890 child->setChildNeedsLayout(true, MarkOnlyThis); | 891 child->setChildNeedsLayout(true, MarkOnlyThis); |
891 | 892 |
892 // Dirty all the positioned objects. | 893 // Dirty all the positioned objects. |
893 if (child->isRenderBlock()) { | 894 if (child->isRenderBlock()) { |
894 toRenderBlock(child)->markPositionedObjectsForLayout(); | 895 toRenderBlock(child)->markPositionedObjectsForLayout(); |
895 toRenderBlock(child)->clearTruncation(); | 896 toRenderBlock(child)->clearTruncation(); |
896 } | 897 } |
897 } | 898 } |
(...skipping 20 matching lines...) Expand all Loading... |
918 | 919 |
919 LayoutUnit newHeight = blockChild->heightForLineCount(numVisibleLines); | 920 LayoutUnit newHeight = blockChild->heightForLineCount(numVisibleLines); |
920 if (newHeight == child->height()) | 921 if (newHeight == child->height()) |
921 continue; | 922 continue; |
922 | 923 |
923 child->setChildNeedsLayout(true, MarkOnlyThis); | 924 child->setChildNeedsLayout(true, MarkOnlyThis); |
924 child->setOverrideLogicalContentHeight(newHeight - child->borderAndPaddi
ngHeight()); | 925 child->setOverrideLogicalContentHeight(newHeight - child->borderAndPaddi
ngHeight()); |
925 m_flexingChildren = true; | 926 m_flexingChildren = true; |
926 child->layoutIfNeeded(); | 927 child->layoutIfNeeded(); |
927 m_flexingChildren = false; | 928 m_flexingChildren = false; |
928 child->clearOverrideSize(); | |
929 | 929 |
930 // FIXME: For now don't support RTL. | 930 // FIXME: For now don't support RTL. |
931 if (style()->direction() != LTR) | 931 if (style()->direction() != LTR) |
932 continue; | 932 continue; |
933 | 933 |
934 // Get the last line | 934 // Get the last line |
935 RootInlineBox* lastLine = blockChild->lineAtIndex(lineCount - 1); | 935 RootInlineBox* lastLine = blockChild->lineAtIndex(lineCount - 1); |
936 if (!lastLine) | 936 if (!lastLine) |
937 continue; | 937 continue; |
938 | 938 |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
981 } | 981 } |
982 } | 982 } |
983 | 983 |
984 void RenderDeprecatedFlexibleBox::clearLineClamp() | 984 void RenderDeprecatedFlexibleBox::clearLineClamp() |
985 { | 985 { |
986 FlexBoxIterator iterator(this); | 986 FlexBoxIterator iterator(this); |
987 for (RenderBox* child = iterator.first(); child; child = iterator.next()) { | 987 for (RenderBox* child = iterator.first(); child; child = iterator.next()) { |
988 if (childDoesNotAffectWidthOrFlexing(child)) | 988 if (childDoesNotAffectWidthOrFlexing(child)) |
989 continue; | 989 continue; |
990 | 990 |
| 991 child->clearOverrideSize(); |
991 if ((child->isReplaced() && (child->style()->width().isPercent() || chil
d->style()->height().isPercent())) | 992 if ((child->isReplaced() && (child->style()->width().isPercent() || chil
d->style()->height().isPercent())) |
992 || (child->style()->height().isAuto() && child->isBlockFlow())) { | 993 || (child->style()->height().isAuto() && child->isBlockFlow())) { |
993 child->setChildNeedsLayout(true); | 994 child->setChildNeedsLayout(true); |
994 | 995 |
995 if (child->isRenderBlock()) { | 996 if (child->isRenderBlock()) { |
996 toRenderBlock(child)->markPositionedObjectsForLayout(); | 997 toRenderBlock(child)->markPositionedObjectsForLayout(); |
997 toRenderBlock(child)->clearTruncation(); | 998 toRenderBlock(child)->clearTruncation(); |
998 } | 999 } |
999 } | 1000 } |
1000 } | 1001 } |
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1080 if (isOutOfFlowPositioned()) | 1081 if (isOutOfFlowPositioned()) |
1081 return "RenderDeprecatedFlexibleBox (positioned)"; | 1082 return "RenderDeprecatedFlexibleBox (positioned)"; |
1082 if (isAnonymous()) | 1083 if (isAnonymous()) |
1083 return "RenderDeprecatedFlexibleBox (generated)"; | 1084 return "RenderDeprecatedFlexibleBox (generated)"; |
1084 if (isRelPositioned()) | 1085 if (isRelPositioned()) |
1085 return "RenderDeprecatedFlexibleBox (relative positioned)"; | 1086 return "RenderDeprecatedFlexibleBox (relative positioned)"; |
1086 return "RenderDeprecatedFlexibleBox"; | 1087 return "RenderDeprecatedFlexibleBox"; |
1087 } | 1088 } |
1088 | 1089 |
1089 } // namespace WebCore | 1090 } // namespace WebCore |
OLD | NEW |