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 135 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
146 | 146 |
147 void removeFloatingObjectsFromDescendants(); | 147 void removeFloatingObjectsFromDescendants(); |
148 void markAllDescendantsWithFloatsForLayout(LayoutBox* floatToRemove = nullpt
r, bool inLayout = true); | 148 void markAllDescendantsWithFloatsForLayout(LayoutBox* floatToRemove = nullpt
r, bool inLayout = true); |
149 void markSiblingsWithFloatsForLayout(LayoutBox* floatToRemove = nullptr); | 149 void markSiblingsWithFloatsForLayout(LayoutBox* floatToRemove = nullptr); |
150 | 150 |
151 bool containsFloats() const { return m_floatingObjects && !m_floatingObjects
->set().isEmpty(); } | 151 bool containsFloats() const { return m_floatingObjects && !m_floatingObjects
->set().isEmpty(); } |
152 bool containsFloat(LayoutBox*) const; | 152 bool containsFloat(LayoutBox*) const; |
153 | 153 |
154 void removeFloatingObjects(); | 154 void removeFloatingObjects(); |
155 | 155 |
| 156 LayoutInline* inlineElementContinuation() const; |
| 157 |
156 void addChild(LayoutObject* newChild, LayoutObject* beforeChild = nullptr) o
verride; | 158 void addChild(LayoutObject* newChild, LayoutObject* beforeChild = nullptr) o
verride; |
157 void removeChild(LayoutObject*) override; | 159 void removeChild(LayoutObject*) override; |
158 | 160 |
159 void moveAllChildrenIncludingFloatsTo(LayoutBlock* toBlock, bool fullRemoveI
nsert); | 161 void moveAllChildrenIncludingFloatsTo(LayoutBlock* toBlock, bool fullRemoveI
nsert); |
160 | 162 |
161 void childBecameFloatingOrOutOfFlow(LayoutBox* child); | 163 void childBecameFloatingOrOutOfFlow(LayoutBox* child); |
162 void collapseAnonymousBlockChild(LayoutBlockFlow* child); | 164 void collapseAnonymousBlockChild(LayoutBlockFlow* child); |
163 | 165 |
164 bool generatesLineBoxesForInlineChild(LayoutObject*); | 166 bool generatesLineBoxesForInlineChild(LayoutObject*); |
165 | 167 |
(...skipping 172 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
338 void setLogicalTopForChild(LayoutBox& child, LayoutUnit logicalTop); | 340 void setLogicalTopForChild(LayoutBox& child, LayoutUnit logicalTop); |
339 void determineLogicalLeftPositionForChild(LayoutBox& child); | 341 void determineLogicalLeftPositionForChild(LayoutBox& child); |
340 | 342 |
341 void addOutlineRects(Vector<LayoutRect>&, const LayoutPoint& additionalOffse
t, IncludeBlockVisualOverflowOrNot) const override; | 343 void addOutlineRects(Vector<LayoutRect>&, const LayoutPoint& additionalOffse
t, IncludeBlockVisualOverflowOrNot) const override; |
342 | 344 |
343 PaintInvalidationReason invalidatePaintIfNeeded(const PaintInvalidationState
&) override; | 345 PaintInvalidationReason invalidatePaintIfNeeded(const PaintInvalidationState
&) override; |
344 | 346 |
345 Node* nodeForHitTest() const final; | 347 Node* nodeForHitTest() const final; |
346 bool hitTestChildren(HitTestResult&, const HitTestLocation& locationInContai
ner, const LayoutPoint& accumulatedOffset, HitTestAction) override; | 348 bool hitTestChildren(HitTestResult&, const HitTestLocation& locationInContai
ner, const LayoutPoint& accumulatedOffset, HitTestAction) override; |
347 | 349 |
| 350 LayoutSize accumulateInFlowPositionOffsets() const override; |
| 351 |
348 private: | 352 private: |
349 bool layoutBlockFlow(bool relayoutChildren, LayoutUnit& pageLogicalHeight, S
ubtreeLayoutScope&); | 353 bool layoutBlockFlow(bool relayoutChildren, LayoutUnit& pageLogicalHeight, S
ubtreeLayoutScope&); |
350 void layoutBlockChildren(bool relayoutChildren, SubtreeLayoutScope&, LayoutU
nit beforeEdge, LayoutUnit afterEdge); | 354 void layoutBlockChildren(bool relayoutChildren, SubtreeLayoutScope&, LayoutU
nit beforeEdge, LayoutUnit afterEdge); |
351 | 355 |
352 void markDescendantsWithFloatsForLayoutIfNeeded(LayoutBlockFlow& child, Layo
utUnit newLogicalTop, LayoutUnit previousFloatLogicalBottom); | 356 void markDescendantsWithFloatsForLayoutIfNeeded(LayoutBlockFlow& child, Layo
utUnit newLogicalTop, LayoutUnit previousFloatLogicalBottom); |
353 bool positionAndLayoutOnceIfNeeded(LayoutBox& child, LayoutUnit newLogicalTo
p, BlockChildrenLayoutInfo&); | 357 bool positionAndLayoutOnceIfNeeded(LayoutBox& child, LayoutUnit newLogicalTo
p, BlockChildrenLayoutInfo&); |
354 | 358 |
355 // Handle breaking policy before the child, and insert a forced break in fro
nt of it if needed. | 359 // Handle breaking policy before the child, and insert a forced break in fro
nt of it if needed. |
356 // Returns true if a forced break was inserted. | 360 // Returns true if a forced break was inserted. |
357 bool insertForcedBreakBeforeChildIfNeeded(LayoutBox& child, BlockChildrenLay
outInfo&); | 361 bool insertForcedBreakBeforeChildIfNeeded(LayoutBox& child, BlockChildrenLay
outInfo&); |
(...skipping 300 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
658 | 662 |
659 // END METHODS DEFINED IN LayoutBlockFlowLine | 663 // END METHODS DEFINED IN LayoutBlockFlowLine |
660 | 664 |
661 }; | 665 }; |
662 | 666 |
663 DEFINE_LAYOUT_OBJECT_TYPE_CASTS(LayoutBlockFlow, isLayoutBlockFlow()); | 667 DEFINE_LAYOUT_OBJECT_TYPE_CASTS(LayoutBlockFlow, isLayoutBlockFlow()); |
664 | 668 |
665 } // namespace blink | 669 } // namespace blink |
666 | 670 |
667 #endif // LayoutBlockFlow_h | 671 #endif // LayoutBlockFlow_h |
OLD | NEW |