| 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 1731 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1742 } | 1742 } |
| 1743 void setHasPreviousSelectionVisualRect(bool b) { | 1743 void setHasPreviousSelectionVisualRect(bool b) { |
| 1744 m_layoutObject.m_bitfields.setHasPreviousSelectionVisualRect(b); | 1744 m_layoutObject.m_bitfields.setHasPreviousSelectionVisualRect(b); |
| 1745 } | 1745 } |
| 1746 void setHasPreviousBoxGeometries(bool b) { | 1746 void setHasPreviousBoxGeometries(bool b) { |
| 1747 m_layoutObject.m_bitfields.setHasPreviousBoxGeometries(b); | 1747 m_layoutObject.m_bitfields.setHasPreviousBoxGeometries(b); |
| 1748 } | 1748 } |
| 1749 void setPreviousBackgroundObscured(bool b) { | 1749 void setPreviousBackgroundObscured(bool b) { |
| 1750 m_layoutObject.setPreviousBackgroundObscured(b); | 1750 m_layoutObject.setPreviousBackgroundObscured(b); |
| 1751 } | 1751 } |
| 1752 void updatePreviousOutlineMayBeAffectedByDescendants() { |
| 1753 m_layoutObject.setPreviousOutlineMayBeAffectedByDescendants( |
| 1754 m_layoutObject.outlineMayBeAffectedByDescendants()); |
| 1755 } |
| 1752 | 1756 |
| 1753 void clearPreviousVisualRects() { | 1757 void clearPreviousVisualRects() { |
| 1754 m_layoutObject.clearPreviousVisualRects(); | 1758 m_layoutObject.clearPreviousVisualRects(); |
| 1755 } | 1759 } |
| 1756 void setNeedsPaintPropertyUpdate() { | 1760 void setNeedsPaintPropertyUpdate() { |
| 1757 m_layoutObject.setNeedsPaintPropertyUpdate(); | 1761 m_layoutObject.setNeedsPaintPropertyUpdate(); |
| 1758 } | 1762 } |
| 1763 |
| 1759 #if DCHECK_IS_ON() | 1764 #if DCHECK_IS_ON() |
| 1760 // Same as setNeedsPaintPropertyUpdate() but does not mark ancestors as | 1765 // Same as setNeedsPaintPropertyUpdate() but does not mark ancestors as |
| 1761 // having a descendant needing a paint property update. | 1766 // having a descendant needing a paint property update. |
| 1762 void setOnlyThisNeedsPaintPropertyUpdateForTesting() { | 1767 void setOnlyThisNeedsPaintPropertyUpdateForTesting() { |
| 1763 m_layoutObject.m_bitfields.setNeedsPaintPropertyUpdate(true); | 1768 m_layoutObject.m_bitfields.setNeedsPaintPropertyUpdate(true); |
| 1764 } | 1769 } |
| 1765 void clearNeedsPaintPropertyUpdateForTesting() { | 1770 void clearNeedsPaintPropertyUpdateForTesting() { |
| 1766 m_layoutObject.m_bitfields.setNeedsPaintPropertyUpdate(false); | 1771 m_layoutObject.m_bitfields.setNeedsPaintPropertyUpdate(false); |
| 1767 } | 1772 } |
| 1768 #endif | 1773 #endif |
| (...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1864 return m_bitfields.hasPreviousBoxGeometries(); | 1869 return m_bitfields.hasPreviousBoxGeometries(); |
| 1865 } | 1870 } |
| 1866 | 1871 |
| 1867 bool backgroundChangedSinceLastPaintInvalidation() const { | 1872 bool backgroundChangedSinceLastPaintInvalidation() const { |
| 1868 return m_bitfields.backgroundChangedSinceLastPaintInvalidation(); | 1873 return m_bitfields.backgroundChangedSinceLastPaintInvalidation(); |
| 1869 } | 1874 } |
| 1870 void setBackgroundChangedSinceLastPaintInvalidation() { | 1875 void setBackgroundChangedSinceLastPaintInvalidation() { |
| 1871 m_bitfields.setBackgroundChangedSinceLastPaintInvalidation(true); | 1876 m_bitfields.setBackgroundChangedSinceLastPaintInvalidation(true); |
| 1872 } | 1877 } |
| 1873 | 1878 |
| 1879 bool outlineMayBeAffectedByDescendants() const { |
| 1880 return m_bitfields.outlineMayBeAffectedByDescendants(); |
| 1881 } |
| 1882 bool previousOutlineMayBeAffectedByDescendants() const { |
| 1883 return m_bitfields.previousOutlineMayBeAffectedByDescendants(); |
| 1884 } |
| 1885 |
| 1874 protected: | 1886 protected: |
| 1875 enum LayoutObjectType { | 1887 enum LayoutObjectType { |
| 1876 LayoutObjectBr, | 1888 LayoutObjectBr, |
| 1877 LayoutObjectCanvas, | 1889 LayoutObjectCanvas, |
| 1878 LayoutObjectFieldset, | 1890 LayoutObjectFieldset, |
| 1879 LayoutObjectCounter, | 1891 LayoutObjectCounter, |
| 1880 LayoutObjectDetailsMarker, | 1892 LayoutObjectDetailsMarker, |
| 1881 LayoutObjectEmbeddedObject, | 1893 LayoutObjectEmbeddedObject, |
| 1882 LayoutObjectFileUploadControl, | 1894 LayoutObjectFileUploadControl, |
| 1883 LayoutObjectFrame, | 1895 LayoutObjectFrame, |
| (...skipping 158 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2042 // LayoutFlowThread. | 2054 // LayoutFlowThread. |
| 2043 void removeFromLayoutFlowThread(); | 2055 void removeFromLayoutFlowThread(); |
| 2044 | 2056 |
| 2045 bool containsInlineWithOutlineAndContinuation() const { | 2057 bool containsInlineWithOutlineAndContinuation() const { |
| 2046 return m_bitfields.containsInlineWithOutlineAndContinuation(); | 2058 return m_bitfields.containsInlineWithOutlineAndContinuation(); |
| 2047 } | 2059 } |
| 2048 void setContainsInlineWithOutlineAndContinuation(bool b) { | 2060 void setContainsInlineWithOutlineAndContinuation(bool b) { |
| 2049 m_bitfields.setContainsInlineWithOutlineAndContinuation(b); | 2061 m_bitfields.setContainsInlineWithOutlineAndContinuation(b); |
| 2050 } | 2062 } |
| 2051 | 2063 |
| 2064 void setOutlineMayBeAffectedByDescendants(bool b) { |
| 2065 m_bitfields.setOutlineMayBeAffectedByDescendants(b); |
| 2066 } |
| 2067 void setPreviousOutlineMayBeAffectedByDescendants(bool b) { |
| 2068 m_bitfields.setPreviousOutlineMayBeAffectedByDescendants(b); |
| 2069 } |
| 2070 |
| 2052 private: | 2071 private: |
| 2053 // Adjusts a visual rect in the space of |m_previousVisualRect| to be in the | 2072 // Adjusts a visual rect in the space of |m_previousVisualRect| to be in the |
| 2054 // space of the |paintInvalidationContainer|, if needed. They can be different | 2073 // space of the |paintInvalidationContainer|, if needed. They can be different |
| 2055 // only if |paintInvalidationContainer| is a composited scroller. | 2074 // only if |paintInvalidationContainer| is a composited scroller. |
| 2056 void adjustVisualRectForCompositedScrolling( | 2075 void adjustVisualRectForCompositedScrolling( |
| 2057 LayoutRect&, | 2076 LayoutRect&, |
| 2058 const LayoutBoxModelObject& paintInvalidationContainer) const; | 2077 const LayoutBoxModelObject& paintInvalidationContainer) const; |
| 2059 | 2078 |
| 2060 FloatQuad localToAncestorQuadInternal(const FloatQuad&, | 2079 FloatQuad localToAncestorQuadInternal(const FloatQuad&, |
| 2061 const LayoutBoxModelObject* ancestor, | 2080 const LayoutBoxModelObject* ancestor, |
| (...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2208 m_isScrollAnchorObject(false), | 2227 m_isScrollAnchorObject(false), |
| 2209 m_scrollAnchorDisablingStyleChanged(false), | 2228 m_scrollAnchorDisablingStyleChanged(false), |
| 2210 m_hasBoxDecorationBackground(false), | 2229 m_hasBoxDecorationBackground(false), |
| 2211 m_hasPreviousLocationInBacking(false), | 2230 m_hasPreviousLocationInBacking(false), |
| 2212 m_hasPreviousSelectionVisualRect(false), | 2231 m_hasPreviousSelectionVisualRect(false), |
| 2213 m_hasPreviousBoxGeometries(false), | 2232 m_hasPreviousBoxGeometries(false), |
| 2214 m_needsPaintPropertyUpdate(true), | 2233 m_needsPaintPropertyUpdate(true), |
| 2215 m_subtreeNeedsPaintPropertyUpdate(true), | 2234 m_subtreeNeedsPaintPropertyUpdate(true), |
| 2216 m_descendantNeedsPaintPropertyUpdate(true), | 2235 m_descendantNeedsPaintPropertyUpdate(true), |
| 2217 m_backgroundChangedSinceLastPaintInvalidation(false), | 2236 m_backgroundChangedSinceLastPaintInvalidation(false), |
| 2237 m_outlineMayBeAffectedByDescendants(false), |
| 2238 m_previousOutlineMayBeAffectedByDescendants(false), |
| 2218 m_positionedState(IsStaticallyPositioned), | 2239 m_positionedState(IsStaticallyPositioned), |
| 2219 m_selectionState(SelectionNone), | 2240 m_selectionState(SelectionNone), |
| 2220 m_backgroundObscurationState(BackgroundObscurationStatusInvalid), | 2241 m_backgroundObscurationState(BackgroundObscurationStatusInvalid), |
| 2221 m_fullPaintInvalidationReason(PaintInvalidationNone) {} | 2242 m_fullPaintInvalidationReason(PaintInvalidationNone) {} |
| 2222 | 2243 |
| 2223 // Self needs layout means that this layout object is marked for a full | 2244 // Self needs layout means that this layout object is marked for a full |
| 2224 // layout. This is the default layout but it is expensive as it recomputes | 2245 // layout. This is the default layout but it is expensive as it recomputes |
| 2225 // everything. For CSS boxes, this includes the width (laying out the line | 2246 // everything. For CSS boxes, this includes the width (laying out the line |
| 2226 // boxes again), the margins (due to block collapsing margins), the | 2247 // boxes again), the margins (due to block collapsing margins), the |
| 2227 // positions, the height and the potential overflow. | 2248 // positions, the height and the potential overflow. |
| (...skipping 162 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2390 ADD_BOOLEAN_BITFIELD(subtreeNeedsPaintPropertyUpdate, | 2411 ADD_BOOLEAN_BITFIELD(subtreeNeedsPaintPropertyUpdate, |
| 2391 SubtreeNeedsPaintPropertyUpdate) | 2412 SubtreeNeedsPaintPropertyUpdate) |
| 2392 // Whether the paint properties of a descendant need to be updated. For more | 2413 // Whether the paint properties of a descendant need to be updated. For more |
| 2393 // details, see LayoutObject::descendantNeedsPaintPropertyUpdate(). | 2414 // details, see LayoutObject::descendantNeedsPaintPropertyUpdate(). |
| 2394 ADD_BOOLEAN_BITFIELD(descendantNeedsPaintPropertyUpdate, | 2415 ADD_BOOLEAN_BITFIELD(descendantNeedsPaintPropertyUpdate, |
| 2395 DescendantNeedsPaintPropertyUpdate); | 2416 DescendantNeedsPaintPropertyUpdate); |
| 2396 | 2417 |
| 2397 ADD_BOOLEAN_BITFIELD(backgroundChangedSinceLastPaintInvalidation, | 2418 ADD_BOOLEAN_BITFIELD(backgroundChangedSinceLastPaintInvalidation, |
| 2398 BackgroundChangedSinceLastPaintInvalidation); | 2419 BackgroundChangedSinceLastPaintInvalidation); |
| 2399 | 2420 |
| 2421 // Whether shape of outline may be affected by any descendants. This is |
| 2422 // updated before paint invalidation, checked during paint invalidation. |
| 2423 ADD_BOOLEAN_BITFIELD(outlineMayBeAffectedByDescendants, |
| 2424 OutlineMayBeAffectedByDescendants); |
| 2425 // The outlineMayBeAffectedByDescendants status of the last paint |
| 2426 // invalidation. |
| 2427 ADD_BOOLEAN_BITFIELD(previousOutlineMayBeAffectedByDescendants, |
| 2428 PreviousOutlineMayBeAffectedByDescendants); |
| 2429 |
| 2400 protected: | 2430 protected: |
| 2401 // Use protected to avoid warning about unused variable. | 2431 // Use protected to avoid warning about unused variable. |
| 2402 unsigned m_unusedBits : 6; | 2432 unsigned m_unusedBits : 4; |
| 2403 | 2433 |
| 2404 private: | 2434 private: |
| 2405 // This is the cached 'position' value of this object | 2435 // This is the cached 'position' value of this object |
| 2406 // (see ComputedStyle::position). | 2436 // (see ComputedStyle::position). |
| 2407 unsigned m_positionedState : 2; // PositionedState | 2437 unsigned m_positionedState : 2; // PositionedState |
| 2408 unsigned m_selectionState : 3; // SelectionState | 2438 unsigned m_selectionState : 3; // SelectionState |
| 2409 // Mutable for getter which lazily update this field. | 2439 // Mutable for getter which lazily update this field. |
| 2410 mutable unsigned | 2440 mutable unsigned |
| 2411 m_backgroundObscurationState : 2; // BackgroundObscurationState | 2441 m_backgroundObscurationState : 2; // BackgroundObscurationState |
| 2412 unsigned m_fullPaintInvalidationReason : 5; // PaintInvalidationReason | 2442 unsigned m_fullPaintInvalidationReason : 5; // PaintInvalidationReason |
| (...skipping 327 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2740 CORE_EXPORT void showLineTree(const blink::LayoutObject*); | 2770 CORE_EXPORT void showLineTree(const blink::LayoutObject*); |
| 2741 CORE_EXPORT void showLayoutTree(const blink::LayoutObject* object1); | 2771 CORE_EXPORT void showLayoutTree(const blink::LayoutObject* object1); |
| 2742 // We don't make object2 an optional parameter so that showLayoutTree | 2772 // We don't make object2 an optional parameter so that showLayoutTree |
| 2743 // can be called from gdb easily. | 2773 // can be called from gdb easily. |
| 2744 CORE_EXPORT void showLayoutTree(const blink::LayoutObject* object1, | 2774 CORE_EXPORT void showLayoutTree(const blink::LayoutObject* object1, |
| 2745 const blink::LayoutObject* object2); | 2775 const blink::LayoutObject* object2); |
| 2746 | 2776 |
| 2747 #endif | 2777 #endif |
| 2748 | 2778 |
| 2749 #endif // LayoutObject_h | 2779 #endif // LayoutObject_h |
| OLD | NEW |