| 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, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Apple Inc. All r
ights reserved. | 5 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Apple Inc. All r
ights reserved. |
| 6 * | 6 * |
| 7 * This library is free software; you can redistribute it and/or | 7 * This library is free software; you can redistribute it and/or |
| 8 * modify it under the terms of the GNU Library General Public | 8 * modify it under the terms of the GNU Library General Public |
| 9 * License as published by the Free Software Foundation; either | 9 * License as published by the Free Software Foundation; either |
| 10 * version 2 of the License, or (at your option) any later version. | 10 * version 2 of the License, or (at your option) any later version. |
| (...skipping 367 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 378 // Alternatively it should be removed as we clarify the meaning of isAtomicI
nlineLevel to imply | 378 // Alternatively it should be removed as we clarify the meaning of isAtomicI
nlineLevel to imply |
| 379 // isInline. | 379 // isInline. |
| 380 bool isInlineBlockOrInlineTable() const final { return isInline() && isAtomi
cInlineLevel(); } | 380 bool isInlineBlockOrInlineTable() const final { return isInline() && isAtomi
cInlineLevel(); } |
| 381 | 381 |
| 382 private: | 382 private: |
| 383 LayoutObjectChildList* virtualChildren() final { return children(); } | 383 LayoutObjectChildList* virtualChildren() final { return children(); } |
| 384 const LayoutObjectChildList* virtualChildren() const final { return children
(); } | 384 const LayoutObjectChildList* virtualChildren() const final { return children
(); } |
| 385 | 385 |
| 386 bool isLayoutBlock() const final { return true; } | 386 bool isLayoutBlock() const final { return true; } |
| 387 | 387 |
| 388 void makeChildrenNonInline(LayoutObject* insertionPoint = nullptr); | |
| 389 | |
| 390 virtual void removeLeftoverAnonymousBlock(LayoutBlock* child); | 388 virtual void removeLeftoverAnonymousBlock(LayoutBlock* child); |
| 391 | 389 |
| 392 void dirtyLinesFromChangedChild(LayoutObject* child) final { m_lineBoxes.dir
tyLinesFromChangedChild(LineLayoutItem(this), LineLayoutItem(child)); } | 390 void dirtyLinesFromChangedChild(LayoutObject* child) final { m_lineBoxes.dir
tyLinesFromChangedChild(LineLayoutItem(this), LineLayoutItem(child)); } |
| 393 | 391 |
| 394 TrackedLayoutBoxListHashSet* positionedObjectsInternal() const; | 392 TrackedLayoutBoxListHashSet* positionedObjectsInternal() const; |
| 395 TrackedLayoutBoxListHashSet* percentHeightDescendantsInternal() const; | 393 TrackedLayoutBoxListHashSet* percentHeightDescendantsInternal() const; |
| 396 | 394 |
| 397 // Returns true if the positioned movement-only layout succeeded. | 395 // Returns true if the positioned movement-only layout succeeded. |
| 398 bool tryLayoutDoingPositionedMovementOnly(); | 396 bool tryLayoutDoingPositionedMovementOnly(); |
| 399 | 397 |
| 400 bool avoidsFloats() const override { return true; } | 398 bool avoidsFloats() const override { return true; } |
| 401 | 399 |
| 402 bool isInSelfHitTestingPhase(HitTestAction hitTestAction) const final | 400 bool isInSelfHitTestingPhase(HitTestAction hitTestAction) const final |
| 403 { | 401 { |
| 404 return hitTestAction == HitTestBlockBackground || hitTestAction == HitTe
stChildBlockBackground; | 402 return hitTestAction == HitTestBlockBackground || hitTestAction == HitTe
stChildBlockBackground; |
| 405 } | 403 } |
| 406 | 404 |
| 407 bool isPointInOverflowControl(HitTestResult&, const LayoutPoint& locationInC
ontainer, const LayoutPoint& accumulatedOffset) const; | 405 bool isPointInOverflowControl(HitTestResult&, const LayoutPoint& locationInC
ontainer, const LayoutPoint& accumulatedOffset) const; |
| 408 | 406 |
| 409 void computeBlockPreferredLogicalWidths(LayoutUnit& minLogicalWidth, LayoutU
nit& maxLogicalWidth) const; | 407 void computeBlockPreferredLogicalWidths(LayoutUnit& minLogicalWidth, LayoutU
nit& maxLogicalWidth) const; |
| 410 | 408 |
| 411 void childBecameNonInline(LayoutObject* child) final; | |
| 412 | |
| 413 bool isSelectionRoot() const; | 409 bool isSelectionRoot() const; |
| 414 | 410 |
| 415 public: | 411 public: |
| 416 bool hasCursorCaret() const; | 412 bool hasCursorCaret() const; |
| 417 bool hasDragCaret() const; | 413 bool hasDragCaret() const; |
| 418 bool hasCaret() const { return hasCursorCaret() || hasDragCaret(); } | 414 bool hasCaret() const { return hasCursorCaret() || hasDragCaret(); } |
| 419 | 415 |
| 420 private: | 416 private: |
| 421 LayoutRect localCaretRect(InlineBox*, int caretOffset, LayoutUnit* extraWidt
hToEndOfLine = nullptr) final; | 417 LayoutRect localCaretRect(InlineBox*, int caretOffset, LayoutUnit* extraWidt
hToEndOfLine = nullptr) final; |
| 422 bool isInlineBoxWrapperActuallyChild() const; | 418 bool isInlineBoxWrapperActuallyChild() const; |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 467 unsigned m_beingDestroyed : 1; | 463 unsigned m_beingDestroyed : 1; |
| 468 unsigned m_hasMarkupTruncation : 1; | 464 unsigned m_hasMarkupTruncation : 1; |
| 469 unsigned m_widthAvailableToChildrenChanged : 1; | 465 unsigned m_widthAvailableToChildrenChanged : 1; |
| 470 unsigned m_heightAvailableToChildrenChanged : 1; | 466 unsigned m_heightAvailableToChildrenChanged : 1; |
| 471 unsigned m_isSelfCollapsing : 1; // True if margin-before and margin-after a
re adjoining. | 467 unsigned m_isSelfCollapsing : 1; // True if margin-before and margin-after a
re adjoining. |
| 472 unsigned m_descendantsWithFloatsMarkedForLayout : 1; | 468 unsigned m_descendantsWithFloatsMarkedForLayout : 1; |
| 473 | 469 |
| 474 unsigned m_hasPositionedObjects : 1; | 470 unsigned m_hasPositionedObjects : 1; |
| 475 unsigned m_hasPercentHeightDescendants : 1; | 471 unsigned m_hasPercentHeightDescendants : 1; |
| 476 | 472 |
| 477 // LayoutRubyBase objects need to be able to split and merge, moving their c
hildren around | |
| 478 // (calling moveChildTo, moveAllChildrenTo, and makeChildrenNonInline). | |
| 479 friend class LayoutRubyBase; | |
| 480 | |
| 481 // FIXME: This is temporary as we move code that accesses block flow | 473 // FIXME: This is temporary as we move code that accesses block flow |
| 482 // member variables out of LayoutBlock and into LayoutBlockFlow. | 474 // member variables out of LayoutBlock and into LayoutBlockFlow. |
| 483 friend class LayoutBlockFlow; | 475 friend class LayoutBlockFlow; |
| 484 }; | 476 }; |
| 485 | 477 |
| 486 DEFINE_LAYOUT_OBJECT_TYPE_CASTS(LayoutBlock, isLayoutBlock()); | 478 DEFINE_LAYOUT_OBJECT_TYPE_CASTS(LayoutBlock, isLayoutBlock()); |
| 487 | 479 |
| 488 } // namespace blink | 480 } // namespace blink |
| 489 | 481 |
| 490 #endif // LayoutBlock_h | 482 #endif // LayoutBlock_h |
| OLD | NEW |