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

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: Add markdown, etc. 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 777 matching lines...) Expand 10 before | Expand all | Expand 10 after
788 // computePositionedLogicalHeight have to use container(). 788 // computePositionedLogicalHeight have to use container().
789 // 789 //
790 // This function should be used for any invalidation as it would correctly 790 // This function should be used for any invalidation as it would correctly
791 // walk the containing block chain. See e.g. markContainerChainForLayout. 791 // walk the containing block chain. See e.g. markContainerChainForLayout.
792 // It is also used for correctly sizing absolutely positioned elements 792 // It is also used for correctly sizing absolutely positioned elements
793 // (point 3 above). 793 // (point 3 above).
794 // 794 //
795 // If |ancestor| and |ancestorSkipped| are not null, on return *ancestorSkip ped 795 // If |ancestor| and |ancestorSkipped| are not null, on return *ancestorSkip ped
796 // is true if the layoutObject returned is an ancestor of |ancestor|. 796 // is true if the layoutObject returned is an ancestor of |ancestor|.
797 LayoutObject* container(const LayoutBoxModelObject* ancestor = nullptr, bool * ancestorSkipped = nullptr) const; 797 LayoutObject* container(const LayoutBoxModelObject* ancestor = nullptr, bool * ancestorSkipped = nullptr) const;
798 LayoutObject* containerCrossingFrameBoundaries() const;
799 // Finds the container as if this object is fixed-position. 798 // Finds the container as if this object is fixed-position.
800 LayoutBlock* containerForFixedPosition(const LayoutBoxModelObject* ancestor = nullptr, bool* ancestorSkipped = nullptr) const; 799 LayoutBlock* containerForFixedPosition(const LayoutBoxModelObject* ancestor = nullptr, bool* ancestorSkipped = nullptr) const;
801 // Finds the containing block as if this object is absolute-position. 800 // Finds the containing block as if this object is absolute-position.
802 LayoutBlock* containingBlockForAbsolutePosition() const; 801 LayoutBlock* containingBlockForAbsolutePosition() const;
803 802
804 virtual LayoutObject* hoverAncestor() const { return parent(); } 803 virtual LayoutObject* hoverAncestor() const { return parent(); }
805 804
806 Element* offsetParent() const; 805 Element* offsetParent() const;
807 806
808 void markContainerChainForLayout(bool scheduleRelayout = true); 807 void markContainerChainForLayout(bool scheduleRelayout = true);
(...skipping 791 matching lines...) Expand 10 before | Expand all | Expand 10 after
1600 void updateFillImages(const FillLayer* oldLayers, const FillLayer& newLayers ); 1599 void updateFillImages(const FillLayer* oldLayers, const FillLayer& newLayers );
1601 1600
1602 void setNeedsOverflowRecalcAfterStyleChange(); 1601 void setNeedsOverflowRecalcAfterStyleChange();
1603 1602
1604 void markContainerChainForLayout(bool scheduleRelayout, SubtreeLayoutScope*) ; 1603 void markContainerChainForLayout(bool scheduleRelayout, SubtreeLayoutScope*) ;
1605 1604
1606 // FIXME: This should be 'markContaingBoxChainForOverflowRecalc when we make LayoutBox 1605 // FIXME: This should be 'markContaingBoxChainForOverflowRecalc when we make LayoutBox
1607 // recomputeOverflow-capable. crbug.com/437012 and crbug.com/434700. 1606 // recomputeOverflow-capable. crbug.com/437012 and crbug.com/434700.
1608 inline void markContainingBlocksForOverflowRecalc(); 1607 inline void markContainingBlocksForOverflowRecalc();
1609 1608
1610 inline void markContainerChainForPaintInvalidation(); 1609 inline void markAncestorsForPaintInvalidation();
1611 1610
1612 inline void invalidateSelectionIfNeeded(const LayoutBoxModelObject& paintInv alidationContainer, const PaintInvalidationState&, PaintInvalidationReason); 1611 inline void invalidateSelectionIfNeeded(const LayoutBoxModelObject& paintInv alidationContainer, const PaintInvalidationState&, PaintInvalidationReason);
1613 1612
1614 inline void invalidateContainerPreferredLogicalWidths(); 1613 inline void invalidateContainerPreferredLogicalWidths();
1615 1614
1616 void invalidatePaintIncludingNonSelfPaintingLayerDescendantsInternal(const L ayoutBoxModelObject& paintInvalidationContainer); 1615 void invalidatePaintIncludingNonSelfPaintingLayerDescendantsInternal(const L ayoutBoxModelObject& paintInvalidationContainer);
1617 1616
1618 // The caller should ensure the enclosing layer has been setNeedsRepaint bef ore calling this function. 1617 // The caller should ensure the enclosing layer has been setNeedsRepaint bef ore calling this function.
1619 void invalidatePaintOfPreviousPaintInvalidationRect(const LayoutBoxModelObje ct& paintInvalidationContainer, PaintInvalidationReason); 1618 void invalidatePaintOfPreviousPaintInvalidationRect(const LayoutBoxModelObje ct& paintInvalidationContainer, PaintInvalidationReason);
1620 1619
(...skipping 18 matching lines...) Expand all
1639 void checkBlockPositionedObjectsNeedLayout(); 1638 void checkBlockPositionedObjectsNeedLayout();
1640 #endif 1639 #endif
1641 1640
1642 bool isTextOrSVGChild() const { return isText() || (isSVG() && !isSVGRoot()) ; } 1641 bool isTextOrSVGChild() const { return isText() || (isSVG() && !isSVGRoot()) ; }
1643 1642
1644 static bool isAllowedToModifyLayoutTreeStructure(Document&); 1643 static bool isAllowedToModifyLayoutTreeStructure(Document&);
1645 1644
1646 // The passed rect is mutated into the coordinate space of the paint invalid ation container. 1645 // The passed rect is mutated into the coordinate space of the paint invalid ation container.
1647 const LayoutBoxModelObject* invalidatePaintRectangleInternal(const LayoutRec t&) const; 1646 const LayoutBoxModelObject* invalidatePaintRectangleInternal(const LayoutRec t&) const;
1648 1647
1648 LayoutObject* parentCrossingFrameBoundaries() const;
1649
1649 static LayoutPoint uninitializedPaintOffset() { return LayoutPoint(LayoutUni t::max(), LayoutUnit::max()); } 1650 static LayoutPoint uninitializedPaintOffset() { return LayoutPoint(LayoutUni t::max(), LayoutUnit::max()); }
1650 1651
1651 RefPtr<ComputedStyle> m_style; 1652 RefPtr<ComputedStyle> m_style;
1652 1653
1653 // Oilpan: This untraced pointer to the owning Node is considered safe. 1654 // Oilpan: This untraced pointer to the owning Node is considered safe.
1654 RawPtrWillBeUntracedMember<Node> m_node; 1655 RawPtrWillBeUntracedMember<Node> m_node;
1655 1656
1656 LayoutObject* m_parent; 1657 LayoutObject* m_parent;
1657 LayoutObject* m_previous; 1658 LayoutObject* m_previous;
1658 LayoutObject* m_next; 1659 LayoutObject* m_next;
(...skipping 508 matching lines...) Expand 10 before | Expand all | Expand 10 after
2167 void showTree(const blink::LayoutObject*); 2168 void showTree(const blink::LayoutObject*);
2168 void showLineTree(const blink::LayoutObject*); 2169 void showLineTree(const blink::LayoutObject*);
2169 void showLayoutTree(const blink::LayoutObject* object1); 2170 void showLayoutTree(const blink::LayoutObject* object1);
2170 // We don't make object2 an optional parameter so that showLayoutTree 2171 // We don't make object2 an optional parameter so that showLayoutTree
2171 // can be called from gdb easily. 2172 // can be called from gdb easily.
2172 void showLayoutTree(const blink::LayoutObject* object1, const blink::LayoutObjec t* object2); 2173 void showLayoutTree(const blink::LayoutObject* object1, const blink::LayoutObjec t* object2);
2173 2174
2174 #endif 2175 #endif
2175 2176
2176 #endif // LayoutObject_h 2177 #endif // LayoutObject_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698