OLD | NEW |
---|---|
1 /* | 1 /* |
2 * Copyright (C) 2000 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 2000 Lars Knoll (knoll@kde.org) |
3 * (C) 2000 Antti Koivisto (koivisto@kde.org) | 3 * (C) 2000 Antti Koivisto (koivisto@kde.org) |
4 * (C) 2000 Dirk Mueller (mueller@kde.org) | 4 * (C) 2000 Dirk Mueller (mueller@kde.org) |
5 * (C) 2004 Allan Sandfeld Jensen (kde@carewolf.com) | 5 * (C) 2004 Allan Sandfeld Jensen (kde@carewolf.com) |
6 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2012 Apple Inc. All r ights reserved. | 6 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2012 Apple Inc. All r ights reserved. |
7 * Copyright (C) 2009 Google Inc. All rights reserved. | 7 * Copyright (C) 2009 Google Inc. All rights reserved. |
8 * | 8 * |
9 * This library is free software; you can redistribute it and/or | 9 * This library is free software; you can redistribute it and/or |
10 * modify it under the terms of the GNU Library General Public | 10 * modify it under the terms of the GNU Library General Public |
(...skipping 752 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
763 // This function should be used for any invalidation as it would correctly | 763 // This function should be used for any invalidation as it would correctly |
764 // walk the containing block chain. See e.g. markContainerChainForLayout. | 764 // walk the containing block chain. See e.g. markContainerChainForLayout. |
765 // It is also used for correctly sizing absolutely positioned elements | 765 // It is also used for correctly sizing absolutely positioned elements |
766 // (point 3 above). | 766 // (point 3 above). |
767 // | 767 // |
768 // If |paintInvalidationContainer| and |paintInvalidationContainerSkipped| | 768 // If |paintInvalidationContainer| and |paintInvalidationContainerSkipped| |
769 // are not null, on return *paintInvalidationContainerSkipped is true if | 769 // are not null, on return *paintInvalidationContainerSkipped is true if |
770 // the layoutObject returned is an ancestor of |paintInvalidationContainer|. | 770 // the layoutObject returned is an ancestor of |paintInvalidationContainer|. |
771 LayoutObject* container(const LayoutBoxModelObject* paintInvalidationContain er = nullptr, bool* paintInvalidationContainerSkipped = nullptr) const; | 771 LayoutObject* container(const LayoutBoxModelObject* paintInvalidationContain er = nullptr, bool* paintInvalidationContainerSkipped = nullptr) const; |
772 LayoutObject* containerCrossingFrameBoundaries() const; | 772 LayoutObject* containerCrossingFrameBoundaries() const; |
773 // Finds the container as if this object is a fixed position element. | |
chrishtr
2015/10/30 18:28:18
Is it ever called for an object which is not fixed
Xianzhu
2015/10/30 19:15:28
Now LayoutBlock::styleWillChange() calls this to f
| |
773 LayoutBlock* containerForFixedPosition(const LayoutBoxModelObject* paintInva lidationContainer = nullptr, bool* paintInvalidationContainerSkipped = nullptr) const; | 774 LayoutBlock* containerForFixedPosition(const LayoutBoxModelObject* paintInva lidationContainer = nullptr, bool* paintInvalidationContainerSkipped = nullptr) const; |
774 LayoutBlock* containingBlockForAbsolutePosition() const; | 775 LayoutBlock* containingBlockForAbsolutePosition() const; |
775 | 776 |
776 virtual LayoutObject* hoverAncestor() const { return parent(); } | 777 virtual LayoutObject* hoverAncestor() const { return parent(); } |
777 | 778 |
778 Element* offsetParent() const; | 779 Element* offsetParent() const; |
779 | 780 |
780 void markContainerChainForLayout(bool scheduleRelayout = true, SubtreeLayout Scope* = nullptr); | 781 void markContainerChainForLayout(bool scheduleRelayout = true, SubtreeLayout Scope* = nullptr); |
781 void setNeedsLayout(LayoutInvalidationReasonForTracing, MarkingBehavior = Ma rkContainerChain, SubtreeLayoutScope* = nullptr); | 782 void setNeedsLayout(LayoutInvalidationReasonForTracing, MarkingBehavior = Ma rkContainerChain, SubtreeLayoutScope* = nullptr); |
782 void setNeedsLayoutAndFullPaintInvalidation(LayoutInvalidationReasonForTraci ng, MarkingBehavior = MarkContainerChain, SubtreeLayoutScope* = nullptr); | 783 void setNeedsLayoutAndFullPaintInvalidation(LayoutInvalidationReasonForTraci ng, MarkingBehavior = MarkContainerChain, SubtreeLayoutScope* = nullptr); |
(...skipping 714 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1497 // FIXME: This should be 'markContaingBoxChainForOverflowRecalc when we make LayoutBox | 1498 // FIXME: This should be 'markContaingBoxChainForOverflowRecalc when we make LayoutBox |
1498 // recomputeOverflow-capable. crbug.com/437012 and crbug.com/434700. | 1499 // recomputeOverflow-capable. crbug.com/437012 and crbug.com/434700. |
1499 inline void markContainingBlocksForOverflowRecalc(); | 1500 inline void markContainingBlocksForOverflowRecalc(); |
1500 | 1501 |
1501 inline void markContainerChainForPaintInvalidation(); | 1502 inline void markContainerChainForPaintInvalidation(); |
1502 | 1503 |
1503 inline void invalidateSelectionIfNeeded(const LayoutBoxModelObject&, PaintIn validationReason); | 1504 inline void invalidateSelectionIfNeeded(const LayoutBoxModelObject&, PaintIn validationReason); |
1504 | 1505 |
1505 inline void invalidateContainerPreferredLogicalWidths(); | 1506 inline void invalidateContainerPreferredLogicalWidths(); |
1506 | 1507 |
1507 void invalidatePaintOfPreviousPaintInvalidationRect(const LayoutBoxModelObje ct& paintInvalidationContainer, PaintInvalidationReason) const; | 1508 void invalidatePaintOfPreviousPaintInvalidationRect(const LayoutBoxModelObje ct& paintInvalidationContainer, PaintInvalidationReason); |
1508 | 1509 |
1509 LayoutRect previousSelectionRectForPaintInvalidation() const; | 1510 LayoutRect previousSelectionRectForPaintInvalidation() const; |
1510 void setPreviousSelectionRectForPaintInvalidation(const LayoutRect&); | 1511 void setPreviousSelectionRectForPaintInvalidation(const LayoutRect&); |
1511 | 1512 |
1512 LayoutObject* containerForAbsolutePosition(const LayoutBoxModelObject* paint InvalidationContainer = nullptr, bool* paintInvalidationContainerSkipped = nullp tr) const; | 1513 LayoutObject* containerForAbsolutePosition(const LayoutBoxModelObject* paint InvalidationContainer = nullptr, bool* paintInvalidationContainerSkipped = nullp tr) const; |
1513 | 1514 |
1514 const LayoutBoxModelObject* enclosingCompositedContainer() const; | 1515 const LayoutBoxModelObject* enclosingCompositedContainer() const; |
1515 | 1516 |
1516 LayoutFlowThread* locateFlowThreadContainingBlock() const; | 1517 LayoutFlowThread* locateFlowThreadContainingBlock() const; |
1517 void removeFromLayoutFlowThreadRecursive(LayoutFlowThread*); | 1518 void removeFromLayoutFlowThreadRecursive(LayoutFlowThread*); |
(...skipping 522 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
2040 void showTree(const blink::LayoutObject*); | 2041 void showTree(const blink::LayoutObject*); |
2041 void showLineTree(const blink::LayoutObject*); | 2042 void showLineTree(const blink::LayoutObject*); |
2042 void showLayoutTree(const blink::LayoutObject* object1); | 2043 void showLayoutTree(const blink::LayoutObject* object1); |
2043 // We don't make object2 an optional parameter so that showLayoutTree | 2044 // We don't make object2 an optional parameter so that showLayoutTree |
2044 // can be called from gdb easily. | 2045 // can be called from gdb easily. |
2045 void showLayoutTree(const blink::LayoutObject* object1, const blink::LayoutObjec t* object2); | 2046 void showLayoutTree(const blink::LayoutObject* object1, const blink::LayoutObjec t* object2); |
2046 | 2047 |
2047 #endif | 2048 #endif |
2048 | 2049 |
2049 #endif // LayoutObject_h | 2050 #endif // LayoutObject_h |
OLD | NEW |