| 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. | 6 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2012 Apple Inc. |
| 7 * All rights reserved. | 7 * All rights reserved. |
| 8 * Copyright (C) 2009 Google Inc. All rights reserved. | 8 * Copyright (C) 2009 Google Inc. All rights reserved. |
| 9 * | 9 * |
| 10 * This library is free software; you can redistribute it and/or | 10 * This library is free software; you can redistribute it and/or |
| (...skipping 1627 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1638 const LayoutPoint& paintOffset() const { return m_paintOffset; } | 1638 const LayoutPoint& paintOffset() const { return m_paintOffset; } |
| 1639 | 1639 |
| 1640 PaintInvalidationReason fullPaintInvalidationReason() const { | 1640 PaintInvalidationReason fullPaintInvalidationReason() const { |
| 1641 return m_bitfields.fullPaintInvalidationReason(); | 1641 return m_bitfields.fullPaintInvalidationReason(); |
| 1642 } | 1642 } |
| 1643 bool shouldDoFullPaintInvalidation() const { | 1643 bool shouldDoFullPaintInvalidation() const { |
| 1644 return m_bitfields.fullPaintInvalidationReason() != PaintInvalidationNone; | 1644 return m_bitfields.fullPaintInvalidationReason() != PaintInvalidationNone; |
| 1645 } | 1645 } |
| 1646 void setShouldDoFullPaintInvalidation( | 1646 void setShouldDoFullPaintInvalidation( |
| 1647 PaintInvalidationReason = PaintInvalidationFull); | 1647 PaintInvalidationReason = PaintInvalidationFull); |
| 1648 void setShouldDoFullPaintInvalidationWithoutGeometryChange( | |
| 1649 PaintInvalidationReason = PaintInvalidationFull); | |
| 1650 void clearShouldDoFullPaintInvalidation() { | 1648 void clearShouldDoFullPaintInvalidation() { |
| 1651 m_bitfields.setFullPaintInvalidationReason(PaintInvalidationNone); | 1649 m_bitfields.setFullPaintInvalidationReason(PaintInvalidationNone); |
| 1652 } | 1650 } |
| 1653 | 1651 |
| 1654 void clearPaintInvalidationFlags(); | 1652 void clearPaintInvalidationFlags(); |
| 1655 | 1653 |
| 1656 bool mayNeedPaintInvalidation() const { | 1654 bool mayNeedPaintInvalidation() const { |
| 1657 return m_bitfields.mayNeedPaintInvalidation(); | 1655 return m_bitfields.mayNeedPaintInvalidation(); |
| 1658 } | 1656 } |
| 1659 void setMayNeedPaintInvalidation(); | 1657 void setMayNeedPaintInvalidation(); |
| 1660 void setMayNeedPaintInvalidationWithoutGeometryChange(); | |
| 1661 | 1658 |
| 1662 bool mayNeedPaintInvalidationSubtree() const { | 1659 bool mayNeedPaintInvalidationSubtree() const { |
| 1663 return m_bitfields.mayNeedPaintInvalidationSubtree(); | 1660 return m_bitfields.mayNeedPaintInvalidationSubtree(); |
| 1664 } | 1661 } |
| 1665 void setMayNeedPaintInvalidationSubtree(); | 1662 void setMayNeedPaintInvalidationSubtree(); |
| 1666 | 1663 |
| 1667 bool needsPaintOffsetAndVisualRectUpdate() const { | |
| 1668 return m_bitfields.needsPaintOffsetAndVisualRectUpdate(); | |
| 1669 } | |
| 1670 | |
| 1671 bool mayNeedPaintInvalidationAnimatedBackgroundImage() const { | 1664 bool mayNeedPaintInvalidationAnimatedBackgroundImage() const { |
| 1672 return m_bitfields.mayNeedPaintInvalidationAnimatedBackgroundImage(); | 1665 return m_bitfields.mayNeedPaintInvalidationAnimatedBackgroundImage(); |
| 1673 } | 1666 } |
| 1674 void setMayNeedPaintInvalidationAnimatedBackgroundImage(); | 1667 void setMayNeedPaintInvalidationAnimatedBackgroundImage(); |
| 1675 | 1668 |
| 1676 bool shouldInvalidateSelection() const { | 1669 bool shouldInvalidateSelection() const { |
| 1677 return m_bitfields.shouldInvalidateSelection(); | 1670 return m_bitfields.shouldInvalidateSelection(); |
| 1678 } | 1671 } |
| 1679 void setShouldInvalidateSelection(); | 1672 void setShouldInvalidateSelection(); |
| 1680 | 1673 |
| 1681 bool shouldCheckForPaintInvalidationWithPaintInvalidationState( | 1674 bool shouldCheckForPaintInvalidationWithPaintInvalidationState( |
| 1682 const PaintInvalidationState&) const; | 1675 const PaintInvalidationState&) const; |
| 1683 | 1676 |
| 1684 bool shouldCheckForPaintInvalidation() const { | 1677 bool shouldCheckForPaintInvalidation() const { |
| 1685 return mayNeedPaintInvalidation() || shouldDoFullPaintInvalidation(); | 1678 return mayNeedPaintInvalidation() || shouldDoFullPaintInvalidation() || |
| 1679 shouldInvalidateSelection() || |
| 1680 m_bitfields.childShouldCheckForPaintInvalidation(); |
| 1686 } | 1681 } |
| 1687 | 1682 |
| 1688 virtual LayoutRect viewRect() const; | 1683 virtual LayoutRect viewRect() const; |
| 1689 | 1684 |
| 1690 // New version to replace the above old version. | 1685 // New version to replace the above old version. |
| 1691 virtual PaintInvalidationReason invalidatePaintIfNeeded( | 1686 virtual PaintInvalidationReason invalidatePaintIfNeeded( |
| 1692 const PaintInvalidatorContext&) const; | 1687 const PaintInvalidatorContext&) const; |
| 1693 | 1688 |
| 1694 // When this object is invalidated for paint, this method is called to | 1689 // When this object is invalidated for paint, this method is called to |
| 1695 // invalidate any DisplayItemClients owned by this object, including the | 1690 // invalidate any DisplayItemClients owned by this object, including the |
| (...skipping 316 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2012 // layerOffset is the offset of this layoutObject within the current layer | 2007 // layerOffset is the offset of this layoutObject within the current layer |
| 2013 // that should be used for each result. | 2008 // that should be used for each result. |
| 2014 virtual void computeSelfHitTestRects(Vector<LayoutRect>&, | 2009 virtual void computeSelfHitTestRects(Vector<LayoutRect>&, |
| 2015 const LayoutPoint& layerOffset) const {} | 2010 const LayoutPoint& layerOffset) const {} |
| 2016 | 2011 |
| 2017 void setVisualRect(const LayoutRect& rect) { m_visualRect = rect; } | 2012 void setVisualRect(const LayoutRect& rect) { m_visualRect = rect; } |
| 2018 | 2013 |
| 2019 #if DCHECK_IS_ON() | 2014 #if DCHECK_IS_ON() |
| 2020 virtual bool paintInvalidationStateIsDirty() const { | 2015 virtual bool paintInvalidationStateIsDirty() const { |
| 2021 return backgroundChangedSinceLastPaintInvalidation() || | 2016 return backgroundChangedSinceLastPaintInvalidation() || |
| 2022 shouldCheckForPaintInvalidation() || shouldInvalidateSelection() || | 2017 shouldCheckForPaintInvalidation(); |
| 2023 needsPaintOffsetAndVisualRectUpdate(); | |
| 2024 } | 2018 } |
| 2025 #endif | 2019 #endif |
| 2026 | 2020 |
| 2027 // Called before paint invalidation. | 2021 // Called before paint invalidation. |
| 2028 virtual void ensureIsReadyForPaintInvalidation() { DCHECK(!needsLayout()); } | 2022 virtual void ensureIsReadyForPaintInvalidation() { DCHECK(!needsLayout()); } |
| 2029 | 2023 |
| 2030 // This function walks the descendants of |this|, following a | 2024 // This function walks the descendants of |this|, following a |
| 2031 // layout ordering. | 2025 // layout ordering. |
| 2032 // | 2026 // |
| 2033 // The ordering is important for PaintInvalidationState, as it requires to be | 2027 // The ordering is important for PaintInvalidationState, as it requires to be |
| (...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2098 | 2092 |
| 2099 // Walk up the parent chain and find the first scrolling block to disable | 2093 // Walk up the parent chain and find the first scrolling block to disable |
| 2100 // scroll anchoring on. | 2094 // scroll anchoring on. |
| 2101 void setScrollAnchorDisablingStyleChangedOnAncestor(); | 2095 void setScrollAnchorDisablingStyleChangedOnAncestor(); |
| 2102 | 2096 |
| 2103 // FIXME: This should be 'markContaingBoxChainForOverflowRecalc when we make | 2097 // FIXME: This should be 'markContaingBoxChainForOverflowRecalc when we make |
| 2104 // LayoutBox recomputeOverflow-capable. crbug.com/437012 and crbug.com/434700. | 2098 // LayoutBox recomputeOverflow-capable. crbug.com/437012 and crbug.com/434700. |
| 2105 inline void markAncestorsForOverflowRecalcIfNeeded(); | 2099 inline void markAncestorsForOverflowRecalcIfNeeded(); |
| 2106 | 2100 |
| 2107 inline void markAncestorsForPaintInvalidation(); | 2101 inline void markAncestorsForPaintInvalidation(); |
| 2108 inline void setNeedsPaintOffsetAndVisualRectUpdate(); | |
| 2109 | 2102 |
| 2110 inline void invalidateContainerPreferredLogicalWidths(); | 2103 inline void invalidateContainerPreferredLogicalWidths(); |
| 2111 | 2104 |
| 2112 void invalidatePaintIncludingNonSelfPaintingLayerDescendantsInternal( | 2105 void invalidatePaintIncludingNonSelfPaintingLayerDescendantsInternal( |
| 2113 const LayoutBoxModelObject& paintInvalidationContainer); | 2106 const LayoutBoxModelObject& paintInvalidationContainer); |
| 2114 | 2107 |
| 2115 LayoutObject* containerForAbsolutePosition(AncestorSkipInfo* = nullptr) const; | 2108 LayoutObject* containerForAbsolutePosition(AncestorSkipInfo* = nullptr) const; |
| 2116 | 2109 |
| 2117 const LayoutBoxModelObject* enclosingCompositedContainer() const; | 2110 const LayoutBoxModelObject* enclosingCompositedContainer() const; |
| 2118 | 2111 |
| (...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2195 // of the memory constraints on layout objects. | 2188 // of the memory constraints on layout objects. |
| 2196 LayoutObjectBitfields(Node* node) | 2189 LayoutObjectBitfields(Node* node) |
| 2197 : m_selfNeedsLayout(false), | 2190 : m_selfNeedsLayout(false), |
| 2198 m_needsPositionedMovementLayout(false), | 2191 m_needsPositionedMovementLayout(false), |
| 2199 m_normalChildNeedsLayout(false), | 2192 m_normalChildNeedsLayout(false), |
| 2200 m_posChildNeedsLayout(false), | 2193 m_posChildNeedsLayout(false), |
| 2201 m_needsSimplifiedNormalFlowLayout(false), | 2194 m_needsSimplifiedNormalFlowLayout(false), |
| 2202 m_selfNeedsOverflowRecalcAfterStyleChange(false), | 2195 m_selfNeedsOverflowRecalcAfterStyleChange(false), |
| 2203 m_childNeedsOverflowRecalcAfterStyleChange(false), | 2196 m_childNeedsOverflowRecalcAfterStyleChange(false), |
| 2204 m_preferredLogicalWidthsDirty(false), | 2197 m_preferredLogicalWidthsDirty(false), |
| 2198 m_childShouldCheckForPaintInvalidation(false), |
| 2205 m_mayNeedPaintInvalidation(false), | 2199 m_mayNeedPaintInvalidation(false), |
| 2206 m_mayNeedPaintInvalidationSubtree(false), | 2200 m_mayNeedPaintInvalidationSubtree(false), |
| 2207 m_mayNeedPaintInvalidationAnimatedBackgroundImage(false), | 2201 m_mayNeedPaintInvalidationAnimatedBackgroundImage(false), |
| 2208 m_needsPaintOffsetAndVisualRectUpdate(false), | |
| 2209 m_shouldInvalidateSelection(false), | 2202 m_shouldInvalidateSelection(false), |
| 2210 m_floating(false), | 2203 m_floating(false), |
| 2211 m_isAnonymous(!node), | 2204 m_isAnonymous(!node), |
| 2212 m_isText(false), | 2205 m_isText(false), |
| 2213 m_isBox(false), | 2206 m_isBox(false), |
| 2214 m_isInline(true), | 2207 m_isInline(true), |
| 2215 m_isAtomicInlineLevel(false), | 2208 m_isAtomicInlineLevel(false), |
| 2216 m_horizontalWritingMode(true), | 2209 m_horizontalWritingMode(true), |
| 2217 m_hasLayer(false), | 2210 m_hasLayer(false), |
| 2218 m_hasOverflowClip(false), | 2211 m_hasOverflowClip(false), |
| (...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2297 ADD_BOOLEAN_BITFIELD(childNeedsOverflowRecalcAfterStyleChange, | 2290 ADD_BOOLEAN_BITFIELD(childNeedsOverflowRecalcAfterStyleChange, |
| 2298 ChildNeedsOverflowRecalcAfterStyleChange); | 2291 ChildNeedsOverflowRecalcAfterStyleChange); |
| 2299 | 2292 |
| 2300 // This boolean marks preferred logical widths for lazy recomputation. | 2293 // This boolean marks preferred logical widths for lazy recomputation. |
| 2301 // | 2294 // |
| 2302 // See INTRINSIC SIZES / PREFERRED LOGICAL WIDTHS above about those | 2295 // See INTRINSIC SIZES / PREFERRED LOGICAL WIDTHS above about those |
| 2303 // widths. | 2296 // widths. |
| 2304 ADD_BOOLEAN_BITFIELD(preferredLogicalWidthsDirty, | 2297 ADD_BOOLEAN_BITFIELD(preferredLogicalWidthsDirty, |
| 2305 PreferredLogicalWidthsDirty); | 2298 PreferredLogicalWidthsDirty); |
| 2306 | 2299 |
| 2300 ADD_BOOLEAN_BITFIELD(childShouldCheckForPaintInvalidation, |
| 2301 ChildShouldCheckForPaintInvalidation); |
| 2307 ADD_BOOLEAN_BITFIELD(mayNeedPaintInvalidation, MayNeedPaintInvalidation); | 2302 ADD_BOOLEAN_BITFIELD(mayNeedPaintInvalidation, MayNeedPaintInvalidation); |
| 2308 ADD_BOOLEAN_BITFIELD(mayNeedPaintInvalidationSubtree, | 2303 ADD_BOOLEAN_BITFIELD(mayNeedPaintInvalidationSubtree, |
| 2309 MayNeedPaintInvalidationSubtree); | 2304 MayNeedPaintInvalidationSubtree); |
| 2310 ADD_BOOLEAN_BITFIELD(mayNeedPaintInvalidationAnimatedBackgroundImage, | 2305 ADD_BOOLEAN_BITFIELD(mayNeedPaintInvalidationAnimatedBackgroundImage, |
| 2311 MayNeedPaintInvalidationAnimatedBackgroundImage); | 2306 MayNeedPaintInvalidationAnimatedBackgroundImage); |
| 2312 ADD_BOOLEAN_BITFIELD(needsPaintOffsetAndVisualRectUpdate, | |
| 2313 NeedsPaintOffsetAndVisualRectUpdate); | |
| 2314 ADD_BOOLEAN_BITFIELD(shouldInvalidateSelection, ShouldInvalidateSelection); | 2307 ADD_BOOLEAN_BITFIELD(shouldInvalidateSelection, ShouldInvalidateSelection); |
| 2315 | 2308 |
| 2316 // This boolean is the cached value of 'float' | 2309 // This boolean is the cached value of 'float' |
| 2317 // (see ComputedStyle::isFloating). | 2310 // (see ComputedStyle::isFloating). |
| 2318 ADD_BOOLEAN_BITFIELD(floating, Floating); | 2311 ADD_BOOLEAN_BITFIELD(floating, Floating); |
| 2319 | 2312 |
| 2320 ADD_BOOLEAN_BITFIELD(isAnonymous, IsAnonymous); | 2313 ADD_BOOLEAN_BITFIELD(isAnonymous, IsAnonymous); |
| 2321 ADD_BOOLEAN_BITFIELD(isText, IsText); | 2314 ADD_BOOLEAN_BITFIELD(isText, IsText); |
| 2322 ADD_BOOLEAN_BITFIELD(isBox, IsBox); | 2315 ADD_BOOLEAN_BITFIELD(isBox, IsBox); |
| 2323 | 2316 |
| (...skipping 458 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2782 CORE_EXPORT void showLineTree(const blink::LayoutObject*); | 2775 CORE_EXPORT void showLineTree(const blink::LayoutObject*); |
| 2783 CORE_EXPORT void showLayoutTree(const blink::LayoutObject* object1); | 2776 CORE_EXPORT void showLayoutTree(const blink::LayoutObject* object1); |
| 2784 // We don't make object2 an optional parameter so that showLayoutTree | 2777 // We don't make object2 an optional parameter so that showLayoutTree |
| 2785 // can be called from gdb easily. | 2778 // can be called from gdb easily. |
| 2786 CORE_EXPORT void showLayoutTree(const blink::LayoutObject* object1, | 2779 CORE_EXPORT void showLayoutTree(const blink::LayoutObject* object1, |
| 2787 const blink::LayoutObject* object2); | 2780 const blink::LayoutObject* object2); |
| 2788 | 2781 |
| 2789 #endif | 2782 #endif |
| 2790 | 2783 |
| 2791 #endif // LayoutObject_h | 2784 #endif // LayoutObject_h |
| OLD | NEW |