Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(51)

Side by Side Diff: third_party/WebKit/Source/core/layout/LayoutObject.h

Issue 1833493003: Remove ForceHorriblySlowRectMapping (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@pi
Patch Set: Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 782 matching lines...) Expand 10 before | Expand all | Expand 10 after
793 // computePositionedLogicalHeight have to use container(). 793 // computePositionedLogicalHeight have to use container().
794 // 794 //
795 // This function should be used for any invalidation as it would correctly 795 // This function should be used for any invalidation as it would correctly
796 // walk the containing block chain. See e.g. markContainerChainForLayout. 796 // walk the containing block chain. See e.g. markContainerChainForLayout.
797 // It is also used for correctly sizing absolutely positioned elements 797 // It is also used for correctly sizing absolutely positioned elements
798 // (point 3 above). 798 // (point 3 above).
799 // 799 //
800 // If |ancestor| and |ancestorSkipped| are not null, on return *ancestorSkip ped 800 // If |ancestor| and |ancestorSkipped| are not null, on return *ancestorSkip ped
801 // is true if the layoutObject returned is an ancestor of |ancestor|. 801 // is true if the layoutObject returned is an ancestor of |ancestor|.
802 LayoutObject* container(const LayoutBoxModelObject* ancestor = nullptr, bool * ancestorSkipped = nullptr) const; 802 LayoutObject* container(const LayoutBoxModelObject* ancestor = nullptr, bool * ancestorSkipped = nullptr) const;
803 LayoutObject* containerCrossingFrameBoundaries() const;
804 // Finds the container as if this object is fixed-position. 803 // Finds the container as if this object is fixed-position.
805 LayoutBlock* containerForFixedPosition(const LayoutBoxModelObject* ancestor = nullptr, bool* ancestorSkipped = nullptr) const; 804 LayoutBlock* containerForFixedPosition(const LayoutBoxModelObject* ancestor = nullptr, bool* ancestorSkipped = nullptr) const;
806 // Finds the containing block as if this object is absolute-position. 805 // Finds the containing block as if this object is absolute-position.
807 LayoutBlock* containingBlockForAbsolutePosition() const; 806 LayoutBlock* containingBlockForAbsolutePosition() const;
808 807
809 virtual LayoutObject* hoverAncestor() const { return parent(); } 808 virtual LayoutObject* hoverAncestor() const { return parent(); }
810 809
811 Element* offsetParent() const; 810 Element* offsetParent() const;
812 811
813 void markContainerChainForLayout(bool scheduleRelayout = true); 812 void markContainerChainForLayout(bool scheduleRelayout = true);
(...skipping 791 matching lines...) Expand 10 before | Expand all | Expand 10 after
1605 void updateFillImages(const FillLayer* oldLayers, const FillLayer& newLayers ); 1604 void updateFillImages(const FillLayer* oldLayers, const FillLayer& newLayers );
1606 1605
1607 void setNeedsOverflowRecalcAfterStyleChange(); 1606 void setNeedsOverflowRecalcAfterStyleChange();
1608 1607
1609 void markContainerChainForLayout(bool scheduleRelayout, SubtreeLayoutScope*) ; 1608 void markContainerChainForLayout(bool scheduleRelayout, SubtreeLayoutScope*) ;
1610 1609
1611 // FIXME: This should be 'markContaingBoxChainForOverflowRecalc when we make LayoutBox 1610 // FIXME: This should be 'markContaingBoxChainForOverflowRecalc when we make LayoutBox
1612 // recomputeOverflow-capable. crbug.com/437012 and crbug.com/434700. 1611 // recomputeOverflow-capable. crbug.com/437012 and crbug.com/434700.
1613 inline void markContainingBlocksForOverflowRecalc(); 1612 inline void markContainingBlocksForOverflowRecalc();
1614 1613
1615 inline void markContainerChainForPaintInvalidation(); 1614 inline void markAncestorsForPaintInvalidation();
1616 1615
1617 inline void invalidateSelectionIfNeeded(const LayoutBoxModelObject& paintInv alidationContainer, const PaintInvalidationState&, PaintInvalidationReason); 1616 inline void invalidateSelectionIfNeeded(const LayoutBoxModelObject& paintInv alidationContainer, const PaintInvalidationState&, PaintInvalidationReason);
1618 1617
1619 inline void invalidateContainerPreferredLogicalWidths(); 1618 inline void invalidateContainerPreferredLogicalWidths();
1620 1619
1621 void invalidatePaintIncludingNonSelfPaintingLayerDescendantsInternal(const L ayoutBoxModelObject& paintInvalidationContainer); 1620 void invalidatePaintIncludingNonSelfPaintingLayerDescendantsInternal(const L ayoutBoxModelObject& paintInvalidationContainer);
1622 1621
1623 // The caller should ensure the enclosing layer has been setNeedsRepaint bef ore calling this function. 1622 // The caller should ensure the enclosing layer has been setNeedsRepaint bef ore calling this function.
1624 void invalidatePaintOfPreviousPaintInvalidationRect(const LayoutBoxModelObje ct& paintInvalidationContainer, PaintInvalidationReason); 1623 void invalidatePaintOfPreviousPaintInvalidationRect(const LayoutBoxModelObje ct& paintInvalidationContainer, PaintInvalidationReason);
1625 1624
(...skipping 18 matching lines...) Expand all
1644 void checkBlockPositionedObjectsNeedLayout(); 1643 void checkBlockPositionedObjectsNeedLayout();
1645 #endif 1644 #endif
1646 1645
1647 bool isTextOrSVGChild() const { return isText() || (isSVG() && !isSVGRoot()) ; } 1646 bool isTextOrSVGChild() const { return isText() || (isSVG() && !isSVGRoot()) ; }
1648 1647
1649 static bool isAllowedToModifyLayoutTreeStructure(Document&); 1648 static bool isAllowedToModifyLayoutTreeStructure(Document&);
1650 1649
1651 // The passed rect is mutated into the coordinate space of the paint invalid ation container. 1650 // The passed rect is mutated into the coordinate space of the paint invalid ation container.
1652 const LayoutBoxModelObject* invalidatePaintRectangleInternal(const LayoutRec t&) const; 1651 const LayoutBoxModelObject* invalidatePaintRectangleInternal(const LayoutRec t&) const;
1653 1652
1653 LayoutObject* parentCrossingFrameBoundaries() const;
1654
1654 static LayoutPoint uninitializedPaintOffset() { return LayoutPoint(LayoutUni t::max(), LayoutUnit::max()); } 1655 static LayoutPoint uninitializedPaintOffset() { return LayoutPoint(LayoutUni t::max(), LayoutUnit::max()); }
1655 1656
1656 RefPtr<ComputedStyle> m_style; 1657 RefPtr<ComputedStyle> m_style;
1657 1658
1658 // Oilpan: This untraced pointer to the owning Node is considered safe. 1659 // Oilpan: This untraced pointer to the owning Node is considered safe.
1659 UntracedMember<Node> m_node; 1660 UntracedMember<Node> m_node;
1660 1661
1661 LayoutObject* m_parent; 1662 LayoutObject* m_parent;
1662 LayoutObject* m_previous; 1663 LayoutObject* m_previous;
1663 LayoutObject* m_next; 1664 LayoutObject* m_next;
(...skipping 508 matching lines...) Expand 10 before | Expand all | Expand 10 after
2172 void showTree(const blink::LayoutObject*); 2173 void showTree(const blink::LayoutObject*);
2173 void showLineTree(const blink::LayoutObject*); 2174 void showLineTree(const blink::LayoutObject*);
2174 void showLayoutTree(const blink::LayoutObject* object1); 2175 void showLayoutTree(const blink::LayoutObject* object1);
2175 // We don't make object2 an optional parameter so that showLayoutTree 2176 // We don't make object2 an optional parameter so that showLayoutTree
2176 // can be called from gdb easily. 2177 // can be called from gdb easily.
2177 void showLayoutTree(const blink::LayoutObject* object1, const blink::LayoutObjec t* object2); 2178 void showLayoutTree(const blink::LayoutObject* object1, const blink::LayoutObjec t* object2);
2178 2179
2179 #endif 2180 #endif
2180 2181
2181 #endif // LayoutObject_h 2182 #endif // LayoutObject_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698