| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) |
| 3 * (C) 1999 Antti Koivisto (koivisto@kde.org) | 3 * (C) 1999 Antti Koivisto (koivisto@kde.org) |
| 4 * (C) 2007 David Smith (catfish.man@gmail.com) | 4 * (C) 2007 David Smith (catfish.man@gmail.com) |
| 5 * Copyright (C) 2003-2013 Apple Inc. All rights reserved. | 5 * Copyright (C) 2003-2013 Apple Inc. All rights reserved. |
| 6 * Copyright (C) Research In Motion Limited 2010. All rights reserved. | 6 * Copyright (C) Research In Motion Limited 2010. All rights reserved. |
| 7 * Copyright (C) 2013 Google Inc. All rights reserved. | 7 * Copyright (C) 2013 Google Inc. All rights reserved. |
| 8 * | 8 * |
| 9 * Redistribution and use in source and binary forms, with or without | 9 * Redistribution and use in source and binary forms, with or without |
| 10 * modification, are permitted provided that the following conditions are | 10 * modification, are permitted provided that the following conditions are |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 45 | 45 |
| 46 class MarginInfo; | 46 class MarginInfo; |
| 47 class LineBreaker; | 47 class LineBreaker; |
| 48 class LineWidth; | 48 class LineWidth; |
| 49 class RenderMultiColumnFlowThread; | 49 class RenderMultiColumnFlowThread; |
| 50 | 50 |
| 51 class RenderBlockFlow : public RenderBlock { | 51 class RenderBlockFlow : public RenderBlock { |
| 52 public: | 52 public: |
| 53 explicit RenderBlockFlow(ContainerNode*); | 53 explicit RenderBlockFlow(ContainerNode*); |
| 54 virtual ~RenderBlockFlow(); | 54 virtual ~RenderBlockFlow(); |
| 55 virtual void trace(Visitor*) OVERRIDE; | 55 virtual void trace(Visitor*) override; |
| 56 | 56 |
| 57 static RenderBlockFlow* createAnonymous(Document*); | 57 static RenderBlockFlow* createAnonymous(Document*); |
| 58 | 58 |
| 59 virtual bool isRenderBlockFlow() const OVERRIDE FINAL { return true; } | 59 virtual bool isRenderBlockFlow() const override final { return true; } |
| 60 | 60 |
| 61 virtual void layoutBlock(bool relayoutChildren) OVERRIDE; | 61 virtual void layoutBlock(bool relayoutChildren) override; |
| 62 | 62 |
| 63 virtual void computeOverflow(LayoutUnit oldClientAfterEdge, bool recomputeFl
oats = false) OVERRIDE; | 63 virtual void computeOverflow(LayoutUnit oldClientAfterEdge, bool recomputeFl
oats = false) override; |
| 64 | 64 |
| 65 virtual void deleteLineBoxTree() OVERRIDE FINAL; | 65 virtual void deleteLineBoxTree() override final; |
| 66 | 66 |
| 67 LayoutUnit availableLogicalWidthForLine(LayoutUnit position, bool shouldInde
ntText, LayoutUnit logicalHeight = 0) const | 67 LayoutUnit availableLogicalWidthForLine(LayoutUnit position, bool shouldInde
ntText, LayoutUnit logicalHeight = 0) const |
| 68 { | 68 { |
| 69 return max<LayoutUnit>(0, logicalRightOffsetForLine(position, shouldInde
ntText, logicalHeight) - logicalLeftOffsetForLine(position, shouldIndentText, lo
gicalHeight)); | 69 return max<LayoutUnit>(0, logicalRightOffsetForLine(position, shouldInde
ntText, logicalHeight) - logicalLeftOffsetForLine(position, shouldIndentText, lo
gicalHeight)); |
| 70 } | 70 } |
| 71 LayoutUnit logicalRightOffsetForLine(LayoutUnit position, bool shouldIndentT
ext, LayoutUnit logicalHeight = 0) const | 71 LayoutUnit logicalRightOffsetForLine(LayoutUnit position, bool shouldIndentT
ext, LayoutUnit logicalHeight = 0) const |
| 72 { | 72 { |
| 73 return logicalRightOffsetForLine(position, logicalRightOffsetForContent(
), shouldIndentText, logicalHeight); | 73 return logicalRightOffsetForLine(position, logicalRightOffsetForContent(
), shouldIndentText, logicalHeight); |
| 74 } | 74 } |
| 75 LayoutUnit logicalLeftOffsetForLine(LayoutUnit position, bool shouldIndentTe
xt, LayoutUnit logicalHeight = 0) const | 75 LayoutUnit logicalLeftOffsetForLine(LayoutUnit position, bool shouldIndentTe
xt, LayoutUnit logicalHeight = 0) const |
| (...skipping 12 matching lines...) Expand all Loading... |
| 88 } | 88 } |
| 89 | 89 |
| 90 // FIXME-BLOCKFLOW: Move this into RenderBlockFlow once there are no calls | 90 // FIXME-BLOCKFLOW: Move this into RenderBlockFlow once there are no calls |
| 91 // in RenderBlock. http://crbug.com/393945, http://crbug.com/302024 | 91 // in RenderBlock. http://crbug.com/393945, http://crbug.com/302024 |
| 92 using RenderBlock::lineBoxes; | 92 using RenderBlock::lineBoxes; |
| 93 using RenderBlock::firstLineBox; | 93 using RenderBlock::firstLineBox; |
| 94 using RenderBlock::lastLineBox; | 94 using RenderBlock::lastLineBox; |
| 95 using RenderBlock::firstRootBox; | 95 using RenderBlock::firstRootBox; |
| 96 using RenderBlock::lastRootBox; | 96 using RenderBlock::lastRootBox; |
| 97 | 97 |
| 98 virtual LayoutUnit logicalLeftSelectionOffset(const RenderBlock* rootBlock,
LayoutUnit position) const OVERRIDE; | 98 virtual LayoutUnit logicalLeftSelectionOffset(const RenderBlock* rootBlock,
LayoutUnit position) const override; |
| 99 virtual LayoutUnit logicalRightSelectionOffset(const RenderBlock* rootBlock,
LayoutUnit position) const OVERRIDE; | 99 virtual LayoutUnit logicalRightSelectionOffset(const RenderBlock* rootBlock,
LayoutUnit position) const override; |
| 100 | 100 |
| 101 RootInlineBox* createAndAppendRootInlineBox(); | 101 RootInlineBox* createAndAppendRootInlineBox(); |
| 102 | 102 |
| 103 void markAllDescendantsWithFloatsForLayout(RenderBox* floatToRemove = 0, boo
l inLayout = true); | 103 void markAllDescendantsWithFloatsForLayout(RenderBox* floatToRemove = 0, boo
l inLayout = true); |
| 104 void markSiblingsWithFloatsForLayout(RenderBox* floatToRemove = 0); | 104 void markSiblingsWithFloatsForLayout(RenderBox* floatToRemove = 0); |
| 105 | 105 |
| 106 bool containsFloats() const { return m_floatingObjects && !m_floatingObjects
->set().isEmpty(); } | 106 bool containsFloats() const { return m_floatingObjects && !m_floatingObjects
->set().isEmpty(); } |
| 107 bool containsFloat(RenderBox*) const; | 107 bool containsFloat(RenderBox*) const; |
| 108 | 108 |
| 109 void removeFloatingObjects(); | 109 void removeFloatingObjects(); |
| 110 | 110 |
| 111 virtual void addChild(RenderObject* newChild, RenderObject* beforeChild = 0)
OVERRIDE; | 111 virtual void addChild(RenderObject* newChild, RenderObject* beforeChild = 0)
override; |
| 112 | 112 |
| 113 void moveAllChildrenIncludingFloatsTo(RenderBlock* toBlock, bool fullRemoveI
nsert); | 113 void moveAllChildrenIncludingFloatsTo(RenderBlock* toBlock, bool fullRemoveI
nsert); |
| 114 | 114 |
| 115 bool generatesLineBoxesForInlineChild(RenderObject*); | 115 bool generatesLineBoxesForInlineChild(RenderObject*); |
| 116 | 116 |
| 117 LayoutUnit logicalTopForFloat(const FloatingObject* floatingObject) const {
return isHorizontalWritingMode() ? floatingObject->y() : floatingObject->x(); } | 117 LayoutUnit logicalTopForFloat(const FloatingObject* floatingObject) const {
return isHorizontalWritingMode() ? floatingObject->y() : floatingObject->x(); } |
| 118 LayoutUnit logicalBottomForFloat(const FloatingObject* floatingObject) const
{ return isHorizontalWritingMode() ? floatingObject->maxY() : floatingObject->m
axX(); } | 118 LayoutUnit logicalBottomForFloat(const FloatingObject* floatingObject) const
{ return isHorizontalWritingMode() ? floatingObject->maxY() : floatingObject->m
axX(); } |
| 119 LayoutUnit logicalLeftForFloat(const FloatingObject* floatingObject) const {
return isHorizontalWritingMode() ? floatingObject->x() : floatingObject->y(); } | 119 LayoutUnit logicalLeftForFloat(const FloatingObject* floatingObject) const {
return isHorizontalWritingMode() ? floatingObject->x() : floatingObject->y(); } |
| 120 LayoutUnit logicalRightForFloat(const FloatingObject* floatingObject) const
{ return isHorizontalWritingMode() ? floatingObject->maxX() : floatingObject->ma
xY(); } | 120 LayoutUnit logicalRightForFloat(const FloatingObject* floatingObject) const
{ return isHorizontalWritingMode() ? floatingObject->maxX() : floatingObject->ma
xY(); } |
| 121 LayoutUnit logicalWidthForFloat(const FloatingObject* floatingObject) const
{ return isHorizontalWritingMode() ? floatingObject->width() : floatingObject->h
eight(); } | 121 LayoutUnit logicalWidthForFloat(const FloatingObject* floatingObject) const
{ return isHorizontalWritingMode() ? floatingObject->width() : floatingObject->h
eight(); } |
| (...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 177 | 177 |
| 178 // FIXME: This should be const to avoid a const_cast, but can modify child d
irty bits and RenderCombineText | 178 // FIXME: This should be const to avoid a const_cast, but can modify child d
irty bits and RenderCombineText |
| 179 void computeInlinePreferredLogicalWidths(LayoutUnit& minLogicalWidth, Layout
Unit& maxLogicalWidth); | 179 void computeInlinePreferredLogicalWidths(LayoutUnit& minLogicalWidth, Layout
Unit& maxLogicalWidth); |
| 180 | 180 |
| 181 GapRects inlineSelectionGaps(const RenderBlock* rootBlock, const LayoutPoint
& rootBlockPhysicalPosition, const LayoutSize& offsetFromRootBlock, | 181 GapRects inlineSelectionGaps(const RenderBlock* rootBlock, const LayoutPoint
& rootBlockPhysicalPosition, const LayoutSize& offsetFromRootBlock, |
| 182 LayoutUnit& lastLogicalTop, LayoutUnit& lastLogicalLeft, LayoutUnit& las
tLogicalRight, const PaintInfo*) const; | 182 LayoutUnit& lastLogicalTop, LayoutUnit& lastLogicalLeft, LayoutUnit& las
tLogicalRight, const PaintInfo*) const; |
| 183 | 183 |
| 184 LayoutUnit paginationStrut() const { return m_rareData ? m_rareData->m_pagin
ationStrut : LayoutUnit(); } | 184 LayoutUnit paginationStrut() const { return m_rareData ? m_rareData->m_pagin
ationStrut : LayoutUnit(); } |
| 185 void setPaginationStrut(LayoutUnit); | 185 void setPaginationStrut(LayoutUnit); |
| 186 | 186 |
| 187 virtual bool avoidsFloats() const OVERRIDE; | 187 virtual bool avoidsFloats() const override; |
| 188 | 188 |
| 189 LayoutUnit xPositionForFloatIncludingMargin(const FloatingObject* child) con
st | 189 LayoutUnit xPositionForFloatIncludingMargin(const FloatingObject* child) con
st |
| 190 { | 190 { |
| 191 if (isHorizontalWritingMode()) | 191 if (isHorizontalWritingMode()) |
| 192 return child->x() + child->renderer()->marginLeft(); | 192 return child->x() + child->renderer()->marginLeft(); |
| 193 | 193 |
| 194 return child->x() + marginBeforeForChild(child->renderer()); | 194 return child->x() + marginBeforeForChild(child->renderer()); |
| 195 } | 195 } |
| 196 | 196 |
| 197 LayoutUnit yPositionForFloatIncludingMargin(const FloatingObject* child) con
st | 197 LayoutUnit yPositionForFloatIncludingMargin(const FloatingObject* child) con
st |
| 198 { | 198 { |
| 199 if (isHorizontalWritingMode()) | 199 if (isHorizontalWritingMode()) |
| 200 return child->y() + marginBeforeForChild(child->renderer()); | 200 return child->y() + marginBeforeForChild(child->renderer()); |
| 201 | 201 |
| 202 return child->y() + child->renderer()->marginTop(); | 202 return child->y() + child->renderer()->marginTop(); |
| 203 } | 203 } |
| 204 | 204 |
| 205 LayoutPoint flipFloatForWritingModeForChild(const FloatingObject*, const Lay
outPoint&) const; | 205 LayoutPoint flipFloatForWritingModeForChild(const FloatingObject*, const Lay
outPoint&) const; |
| 206 | 206 |
| 207 protected: | 207 protected: |
| 208 void rebuildFloatsFromIntruding(); | 208 void rebuildFloatsFromIntruding(); |
| 209 void layoutInlineChildren(bool relayoutChildren, LayoutUnit& paintInvalidati
onLogicalTop, LayoutUnit& paintInvalidationLogicalBottom, LayoutUnit afterEdge); | 209 void layoutInlineChildren(bool relayoutChildren, LayoutUnit& paintInvalidati
onLogicalTop, LayoutUnit& paintInvalidationLogicalBottom, LayoutUnit afterEdge); |
| 210 | 210 |
| 211 void createFloatingObjects(); | 211 void createFloatingObjects(); |
| 212 | 212 |
| 213 virtual void styleWillChange(StyleDifference, const RenderStyle& newStyle) O
VERRIDE; | 213 virtual void styleWillChange(StyleDifference, const RenderStyle& newStyle) o
verride; |
| 214 virtual void styleDidChange(StyleDifference, const RenderStyle* oldStyle) OV
ERRIDE; | 214 virtual void styleDidChange(StyleDifference, const RenderStyle* oldStyle) ov
erride; |
| 215 | 215 |
| 216 void addOverflowFromFloats(); | 216 void addOverflowFromFloats(); |
| 217 | 217 |
| 218 LayoutUnit logicalRightOffsetForLine(LayoutUnit logicalTop, LayoutUnit fixed
Offset, bool applyTextIndent, LayoutUnit logicalHeight = 0) const | 218 LayoutUnit logicalRightOffsetForLine(LayoutUnit logicalTop, LayoutUnit fixed
Offset, bool applyTextIndent, LayoutUnit logicalHeight = 0) const |
| 219 { | 219 { |
| 220 return adjustLogicalRightOffsetForLine(logicalRightFloatOffsetForLine(lo
gicalTop, fixedOffset, logicalHeight), applyTextIndent); | 220 return adjustLogicalRightOffsetForLine(logicalRightFloatOffsetForLine(lo
gicalTop, fixedOffset, logicalHeight), applyTextIndent); |
| 221 } | 221 } |
| 222 LayoutUnit logicalLeftOffsetForLine(LayoutUnit logicalTop, LayoutUnit fixedO
ffset, bool applyTextIndent, LayoutUnit logicalHeight = 0) const | 222 LayoutUnit logicalLeftOffsetForLine(LayoutUnit logicalTop, LayoutUnit fixedO
ffset, bool applyTextIndent, LayoutUnit logicalHeight = 0) const |
| 223 { | 223 { |
| 224 return adjustLogicalLeftOffsetForLine(logicalLeftFloatOffsetForLine(logi
calTop, fixedOffset, logicalHeight), applyTextIndent); | 224 return adjustLogicalLeftOffsetForLine(logicalLeftFloatOffsetForLine(logi
calTop, fixedOffset, logicalHeight), applyTextIndent); |
| 225 } | 225 } |
| 226 | 226 |
| 227 virtual RenderObject* layoutSpecialExcludedChild(bool /*relayoutChildren*/,
SubtreeLayoutScope&); | 227 virtual RenderObject* layoutSpecialExcludedChild(bool /*relayoutChildren*/,
SubtreeLayoutScope&); |
| 228 virtual bool updateLogicalWidthAndColumnWidth() OVERRIDE; | 228 virtual bool updateLogicalWidthAndColumnWidth() override; |
| 229 | 229 |
| 230 void setLogicalLeftForChild(RenderBox* child, LayoutUnit logicalLeft); | 230 void setLogicalLeftForChild(RenderBox* child, LayoutUnit logicalLeft); |
| 231 void setLogicalTopForChild(RenderBox* child, LayoutUnit logicalTop); | 231 void setLogicalTopForChild(RenderBox* child, LayoutUnit logicalTop); |
| 232 void determineLogicalLeftPositionForChild(RenderBox* child); | 232 void determineLogicalLeftPositionForChild(RenderBox* child); |
| 233 | 233 |
| 234 private: | 234 private: |
| 235 bool layoutBlockFlow(bool relayoutChildren, LayoutUnit& pageLogicalHeight, S
ubtreeLayoutScope&); | 235 bool layoutBlockFlow(bool relayoutChildren, LayoutUnit& pageLogicalHeight, S
ubtreeLayoutScope&); |
| 236 void layoutBlockChildren(bool relayoutChildren, SubtreeLayoutScope&, LayoutU
nit beforeEdge, LayoutUnit afterEdge); | 236 void layoutBlockChildren(bool relayoutChildren, SubtreeLayoutScope&, LayoutU
nit beforeEdge, LayoutUnit afterEdge); |
| 237 | 237 |
| 238 void layoutBlockChild(RenderBox* child, MarginInfo&, LayoutUnit& previousFlo
atLogicalBottom); | 238 void layoutBlockChild(RenderBox* child, MarginInfo&, LayoutUnit& previousFlo
atLogicalBottom); |
| (...skipping 13 matching lines...) Expand all Loading... |
| 252 LayoutUnit getClearDelta(RenderBox* child, LayoutUnit yPos); | 252 LayoutUnit getClearDelta(RenderBox* child, LayoutUnit yPos); |
| 253 | 253 |
| 254 bool hasOverhangingFloats() { return parent() && !hasColumns() && containsFl
oats() && lowestFloatLogicalBottom() > logicalHeight(); } | 254 bool hasOverhangingFloats() { return parent() && !hasColumns() && containsFl
oats() && lowestFloatLogicalBottom() > logicalHeight(); } |
| 255 bool hasOverhangingFloat(RenderBox*); | 255 bool hasOverhangingFloat(RenderBox*); |
| 256 void addIntrudingFloats(RenderBlockFlow* prev, LayoutUnit xoffset, LayoutUni
t yoffset); | 256 void addIntrudingFloats(RenderBlockFlow* prev, LayoutUnit xoffset, LayoutUni
t yoffset); |
| 257 void addOverhangingFloats(RenderBlockFlow* child, bool makeChildPaintOtherFl
oats); | 257 void addOverhangingFloats(RenderBlockFlow* child, bool makeChildPaintOtherFl
oats); |
| 258 | 258 |
| 259 LayoutUnit lowestFloatLogicalBottom(FloatingObject::Type = FloatingObject::F
loatLeftRight) const; | 259 LayoutUnit lowestFloatLogicalBottom(FloatingObject::Type = FloatingObject::F
loatLeftRight) const; |
| 260 LayoutUnit nextFloatLogicalBottomBelow(LayoutUnit, ShapeOutsideFloatOffsetMo
de = ShapeOutsideFloatMarginBoxOffset) const; | 260 LayoutUnit nextFloatLogicalBottomBelow(LayoutUnit, ShapeOutsideFloatOffsetMo
de = ShapeOutsideFloatMarginBoxOffset) const; |
| 261 | 261 |
| 262 virtual bool hitTestFloats(const HitTestRequest&, HitTestResult&, const HitT
estLocation& locationInContainer, const LayoutPoint& accumulatedOffset) OVERRIDE
FINAL; | 262 virtual bool hitTestFloats(const HitTestRequest&, HitTestResult&, const HitT
estLocation& locationInContainer, const LayoutPoint& accumulatedOffset) override
final; |
| 263 | 263 |
| 264 virtual void invalidatePaintForOverhangingFloats(bool paintAllDescendants) O
VERRIDE FINAL; | 264 virtual void invalidatePaintForOverhangingFloats(bool paintAllDescendants) o
verride final; |
| 265 virtual void invalidatePaintForOverflow() OVERRIDE FINAL; | 265 virtual void invalidatePaintForOverflow() override final; |
| 266 virtual void paintFloats(PaintInfo&, const LayoutPoint&, bool preservePhase
= false) OVERRIDE FINAL; | 266 virtual void paintFloats(PaintInfo&, const LayoutPoint&, bool preservePhase
= false) override final; |
| 267 virtual void clipOutFloatingObjects(const RenderBlock*, const PaintInfo*, co
nst LayoutPoint&, const LayoutSize&) const OVERRIDE; | 267 virtual void clipOutFloatingObjects(const RenderBlock*, const PaintInfo*, co
nst LayoutPoint&, const LayoutSize&) const override; |
| 268 void clearFloats(EClear); | 268 void clearFloats(EClear); |
| 269 | 269 |
| 270 LayoutUnit logicalRightFloatOffsetForLine(LayoutUnit logicalTop, LayoutUnit
fixedOffset, LayoutUnit logicalHeight) const; | 270 LayoutUnit logicalRightFloatOffsetForLine(LayoutUnit logicalTop, LayoutUnit
fixedOffset, LayoutUnit logicalHeight) const; |
| 271 LayoutUnit logicalLeftFloatOffsetForLine(LayoutUnit logicalTop, LayoutUnit f
ixedOffset, LayoutUnit logicalHeight) const; | 271 LayoutUnit logicalLeftFloatOffsetForLine(LayoutUnit logicalTop, LayoutUnit f
ixedOffset, LayoutUnit logicalHeight) const; |
| 272 | 272 |
| 273 LayoutUnit logicalRightOffsetForPositioningFloat(LayoutUnit logicalTop, Layo
utUnit fixedOffset, bool applyTextIndent, LayoutUnit* heightRemaining) const; | 273 LayoutUnit logicalRightOffsetForPositioningFloat(LayoutUnit logicalTop, Layo
utUnit fixedOffset, bool applyTextIndent, LayoutUnit* heightRemaining) const; |
| 274 LayoutUnit logicalLeftOffsetForPositioningFloat(LayoutUnit logicalTop, Layou
tUnit fixedOffset, bool applyTextIndent, LayoutUnit* heightRemaining) const; | 274 LayoutUnit logicalLeftOffsetForPositioningFloat(LayoutUnit logicalTop, Layou
tUnit fixedOffset, bool applyTextIndent, LayoutUnit* heightRemaining) const; |
| 275 | 275 |
| 276 LayoutUnit adjustLogicalRightOffsetForLine(LayoutUnit offsetFromFloats, bool
applyTextIndent) const; | 276 LayoutUnit adjustLogicalRightOffsetForLine(LayoutUnit offsetFromFloats, bool
applyTextIndent) const; |
| 277 LayoutUnit adjustLogicalLeftOffsetForLine(LayoutUnit offsetFromFloats, bool
applyTextIndent) const; | 277 LayoutUnit adjustLogicalLeftOffsetForLine(LayoutUnit offsetFromFloats, bool
applyTextIndent) const; |
| (...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 420 m_rareData->m_margins = MarginValues(RenderBlockFlowRareData::positi
veMarginBeforeDefault(this) , RenderBlockFlowRareData::negativeMarginBeforeDefau
lt(this), | 420 m_rareData->m_margins = MarginValues(RenderBlockFlowRareData::positi
veMarginBeforeDefault(this) , RenderBlockFlowRareData::negativeMarginBeforeDefau
lt(this), |
| 421 RenderBlockFlowRareData::positiveMarginAfterDefault(this), Rende
rBlockFlowRareData::negativeMarginAfterDefault(this)); | 421 RenderBlockFlowRareData::positiveMarginAfterDefault(this), Rende
rBlockFlowRareData::negativeMarginAfterDefault(this)); |
| 422 | 422 |
| 423 m_rareData->m_discardMarginBefore = false; | 423 m_rareData->m_discardMarginBefore = false; |
| 424 m_rareData->m_discardMarginAfter = false; | 424 m_rareData->m_discardMarginAfter = false; |
| 425 } | 425 } |
| 426 } | 426 } |
| 427 | 427 |
| 428 virtual ETextAlign textAlignmentForLine(bool endsWithSoftBreak) const; | 428 virtual ETextAlign textAlignmentForLine(bool endsWithSoftBreak) const; |
| 429 private: | 429 private: |
| 430 virtual LayoutUnit collapsedMarginBefore() const OVERRIDE FINAL { return max
PositiveMarginBefore() - maxNegativeMarginBefore(); } | 430 virtual LayoutUnit collapsedMarginBefore() const override final { return max
PositiveMarginBefore() - maxNegativeMarginBefore(); } |
| 431 virtual LayoutUnit collapsedMarginAfter() const OVERRIDE FINAL { return maxP
ositiveMarginAfter() - maxNegativeMarginAfter(); } | 431 virtual LayoutUnit collapsedMarginAfter() const override final { return maxP
ositiveMarginAfter() - maxNegativeMarginAfter(); } |
| 432 | 432 |
| 433 LayoutUnit collapseMargins(RenderBox* child, MarginInfo&, bool childIsSelfCo
llapsing); | 433 LayoutUnit collapseMargins(RenderBox* child, MarginInfo&, bool childIsSelfCo
llapsing); |
| 434 LayoutUnit clearFloatsIfNeeded(RenderBox* child, MarginInfo&, LayoutUnit old
TopPosMargin, LayoutUnit oldTopNegMargin, LayoutUnit yPos, bool childIsSelfColla
psing); | 434 LayoutUnit clearFloatsIfNeeded(RenderBox* child, MarginInfo&, LayoutUnit old
TopPosMargin, LayoutUnit oldTopNegMargin, LayoutUnit yPos, bool childIsSelfColla
psing); |
| 435 LayoutUnit estimateLogicalTopPosition(RenderBox* child, const MarginInfo&, L
ayoutUnit& estimateWithoutPagination); | 435 LayoutUnit estimateLogicalTopPosition(RenderBox* child, const MarginInfo&, L
ayoutUnit& estimateWithoutPagination); |
| 436 void marginBeforeEstimateForChild(RenderBox*, LayoutUnit&, LayoutUnit&, bool
&) const; | 436 void marginBeforeEstimateForChild(RenderBox*, LayoutUnit&, LayoutUnit&, bool
&) const; |
| 437 void handleAfterSideOfBlock(RenderBox* lastChild, LayoutUnit top, LayoutUnit
bottom, MarginInfo&); | 437 void handleAfterSideOfBlock(RenderBox* lastChild, LayoutUnit top, LayoutUnit
bottom, MarginInfo&); |
| 438 void setCollapsedBottomMargin(const MarginInfo&); | 438 void setCollapsedBottomMargin(const MarginInfo&); |
| 439 | 439 |
| 440 LayoutUnit applyBeforeBreak(RenderBox* child, LayoutUnit logicalOffset); //
If the child has a before break, then return a new yPos that shifts to the top o
f the next page/column. | 440 LayoutUnit applyBeforeBreak(RenderBox* child, LayoutUnit logicalOffset); //
If the child has a before break, then return a new yPos that shifts to the top o
f the next page/column. |
| 441 LayoutUnit applyAfterBreak(RenderBox* child, LayoutUnit logicalOffset, Margi
nInfo&); // If the child has an after break, then return a new offset that shift
s to the top of the next page/column. | 441 LayoutUnit applyAfterBreak(RenderBox* child, LayoutUnit logicalOffset, Margi
nInfo&); // If the child has an after break, then return a new offset that shift
s to the top of the next page/column. |
| 442 | 442 |
| 443 LayoutUnit adjustBlockChildForPagination(LayoutUnit logicalTopAfterClear, La
youtUnit estimateWithoutPagination, RenderBox* child, bool atBeforeSideOfBlock); | 443 LayoutUnit adjustBlockChildForPagination(LayoutUnit logicalTopAfterClear, La
youtUnit estimateWithoutPagination, RenderBox* child, bool atBeforeSideOfBlock); |
| 444 // Computes a deltaOffset value that put a line at the top of the next page
if it doesn't fit on the current page. | 444 // Computes a deltaOffset value that put a line at the top of the next page
if it doesn't fit on the current page. |
| 445 void adjustLinePositionForPagination(RootInlineBox*, LayoutUnit& deltaOffset
, RenderFlowThread*); | 445 void adjustLinePositionForPagination(RootInlineBox*, LayoutUnit& deltaOffset
, RenderFlowThread*); |
| 446 // If the child is unsplittable and can't fit on the current page, return th
e top of the next page/column. | 446 // If the child is unsplittable and can't fit on the current page, return th
e top of the next page/column. |
| 447 LayoutUnit adjustForUnsplittableChild(RenderBox*, LayoutUnit logicalOffset,
bool includeMargins = false); | 447 LayoutUnit adjustForUnsplittableChild(RenderBox*, LayoutUnit logicalOffset,
bool includeMargins = false); |
| 448 | 448 |
| 449 // Used to store state between styleWillChange and styleDidChange | 449 // Used to store state between styleWillChange and styleDidChange |
| 450 static bool s_canPropagateFloatIntoSibling; | 450 static bool s_canPropagateFloatIntoSibling; |
| 451 | 451 |
| 452 RenderBlockFlowRareData& ensureRareData(); | 452 RenderBlockFlowRareData& ensureRareData(); |
| 453 | 453 |
| 454 LayoutUnit m_paintInvalidationLogicalTop; | 454 LayoutUnit m_paintInvalidationLogicalTop; |
| 455 LayoutUnit m_paintInvalidationLogicalBottom; | 455 LayoutUnit m_paintInvalidationLogicalBottom; |
| 456 | 456 |
| 457 virtual bool isSelfCollapsingBlock() const OVERRIDE; | 457 virtual bool isSelfCollapsingBlock() const override; |
| 458 | 458 |
| 459 protected: | 459 protected: |
| 460 OwnPtrWillBeMember<RenderBlockFlowRareData> m_rareData; | 460 OwnPtrWillBeMember<RenderBlockFlowRareData> m_rareData; |
| 461 OwnPtr<FloatingObjects> m_floatingObjects; | 461 OwnPtr<FloatingObjects> m_floatingObjects; |
| 462 | 462 |
| 463 friend class BreakingContext; // FIXME: It uses insertFloatingObject and pos
itionNewFloatOnLine, if we move those out from the private scope/add a helper to
LineBreaker, we can remove this friend | 463 friend class BreakingContext; // FIXME: It uses insertFloatingObject and pos
itionNewFloatOnLine, if we move those out from the private scope/add a helper to
LineBreaker, we can remove this friend |
| 464 friend class MarginInfo; | 464 friend class MarginInfo; |
| 465 friend class LineBreaker; | 465 friend class LineBreaker; |
| 466 friend class LineWidth; // needs to know FloatingObject | 466 friend class LineWidth; // needs to know FloatingObject |
| 467 | 467 |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 500 | 500 |
| 501 // END METHODS DEFINED IN RenderBlockLineLayout | 501 // END METHODS DEFINED IN RenderBlockLineLayout |
| 502 | 502 |
| 503 }; | 503 }; |
| 504 | 504 |
| 505 DEFINE_RENDER_OBJECT_TYPE_CASTS(RenderBlockFlow, isRenderBlockFlow()); | 505 DEFINE_RENDER_OBJECT_TYPE_CASTS(RenderBlockFlow, isRenderBlockFlow()); |
| 506 | 506 |
| 507 } // namespace blink | 507 } // namespace blink |
| 508 | 508 |
| 509 #endif // RenderBlockFlow_h | 509 #endif // RenderBlockFlow_h |
| OLD | NEW |