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 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
84 // | 84 // |
85 // This is suggested by CSS to correctly the layout mixed inlines and blocks | 85 // This is suggested by CSS to correctly the layout mixed inlines and blocks |
86 // lines (http://www.w3.org/TR/CSS21/visuren.html#anonymous-block-level). See | 86 // lines (http://www.w3.org/TR/CSS21/visuren.html#anonymous-block-level). See |
87 // LayoutBlock::addChild about how the invariant is enforced. | 87 // LayoutBlock::addChild about how the invariant is enforced. |
88 class CORE_EXPORT LayoutBlockFlow : public LayoutBlock { | 88 class CORE_EXPORT LayoutBlockFlow : public LayoutBlock { |
89 public: | 89 public: |
90 explicit LayoutBlockFlow(ContainerNode*); | 90 explicit LayoutBlockFlow(ContainerNode*); |
91 ~LayoutBlockFlow() override; | 91 ~LayoutBlockFlow() override; |
92 | 92 |
93 static LayoutBlockFlow* createAnonymous(Document*); | 93 static LayoutBlockFlow* createAnonymous(Document*); |
| 94 bool beingDestroyed() const { return m_beingDestroyed; } |
94 | 95 |
95 bool isLayoutBlockFlow() const final { return true; } | 96 bool isLayoutBlockFlow() const final { return true; } |
96 | 97 |
97 void layoutBlock(bool relayoutChildren) override; | 98 void layoutBlock(bool relayoutChildren) override; |
98 | 99 |
99 void computeOverflow(LayoutUnit oldClientAfterEdge, bool recomputeFloats = f
alse) override; | 100 void computeOverflow(LayoutUnit oldClientAfterEdge, bool recomputeFloats = f
alse) override; |
100 | 101 |
101 void deleteLineBoxTree() final; | 102 void deleteLineBoxTree() final; |
102 | 103 |
103 LayoutUnit availableLogicalWidthForLine(LayoutUnit position, IndentTextOrNot
indentText, LayoutUnit logicalHeight = LayoutUnit()) const | 104 LayoutUnit availableLogicalWidthForLine(LayoutUnit position, IndentTextOrNot
indentText, LayoutUnit logicalHeight = LayoutUnit()) const |
(...skipping 197 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
301 void showLineTreeAndMark(const InlineBox* = nullptr, const char* = nullptr,
const InlineBox* = nullptr, const char* = nullptr, const LayoutObject* = nullptr
) const; | 302 void showLineTreeAndMark(const InlineBox* = nullptr, const char* = nullptr,
const InlineBox* = nullptr, const char* = nullptr, const LayoutObject* = nullptr
) const; |
302 #endif | 303 #endif |
303 | 304 |
304 protected: | 305 protected: |
305 void rebuildFloatsFromIntruding(); | 306 void rebuildFloatsFromIntruding(); |
306 void layoutInlineChildren(bool relayoutChildren, LayoutUnit& paintInvalidati
onLogicalTop, LayoutUnit& paintInvalidationLogicalBottom, LayoutUnit afterEdge); | 307 void layoutInlineChildren(bool relayoutChildren, LayoutUnit& paintInvalidati
onLogicalTop, LayoutUnit& paintInvalidationLogicalBottom, LayoutUnit afterEdge); |
307 void addLowestFloatFromChildren(LayoutBlockFlow*); | 308 void addLowestFloatFromChildren(LayoutBlockFlow*); |
308 | 309 |
309 void createFloatingObjects(); | 310 void createFloatingObjects(); |
310 | 311 |
| 312 void willBeDestroyed() override; |
311 void styleWillChange(StyleDifference, const ComputedStyle& newStyle) overrid
e; | 313 void styleWillChange(StyleDifference, const ComputedStyle& newStyle) overrid
e; |
312 void styleDidChange(StyleDifference, const ComputedStyle* oldStyle) override
; | 314 void styleDidChange(StyleDifference, const ComputedStyle* oldStyle) override
; |
313 | 315 |
314 void updateBlockChildDirtyBitsBeforeLayout(bool relayoutChildren, LayoutBox&
); | 316 void updateBlockChildDirtyBitsBeforeLayout(bool relayoutChildren, LayoutBox&
); |
315 | 317 |
316 void addOverflowFromFloats(); | 318 void addOverflowFromFloats(); |
317 | 319 |
318 void computeSelfHitTestRects(Vector<LayoutRect>&, const LayoutPoint& layerOf
fset) const override; | 320 void computeSelfHitTestRects(Vector<LayoutRect>&, const LayoutPoint& layerOf
fset) const override; |
319 | 321 |
320 void absoluteRects(Vector<IntRect>&, const LayoutPoint& accumulatedOffset) c
onst override; | 322 void absoluteRects(Vector<IntRect>&, const LayoutPoint& accumulatedOffset) c
onst override; |
(...skipping 337 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
658 | 660 |
659 // END METHODS DEFINED IN LayoutBlockFlowLine | 661 // END METHODS DEFINED IN LayoutBlockFlowLine |
660 | 662 |
661 }; | 663 }; |
662 | 664 |
663 DEFINE_LAYOUT_OBJECT_TYPE_CASTS(LayoutBlockFlow, isLayoutBlockFlow()); | 665 DEFINE_LAYOUT_OBJECT_TYPE_CASTS(LayoutBlockFlow, isLayoutBlockFlow()); |
664 | 666 |
665 } // namespace blink | 667 } // namespace blink |
666 | 668 |
667 #endif // LayoutBlockFlow_h | 669 #endif // LayoutBlockFlow_h |
OLD | NEW |