| 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 2170 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2181 // performance. | 2181 // performance. |
| 2182 // | 2182 // |
| 2183 // This class is an artifact of the WebKit era where LayoutObject wasn't | 2183 // This class is an artifact of the WebKit era where LayoutObject wasn't |
| 2184 // allowed to grow and each sub-class was strictly monitored for memory | 2184 // allowed to grow and each sub-class was strictly monitored for memory |
| 2185 // increase. Our measurements indicate that the size of LayoutObject and | 2185 // increase. Our measurements indicate that the size of LayoutObject and |
| 2186 // subsequent classes do not impact memory or speed in a significant | 2186 // subsequent classes do not impact memory or speed in a significant |
| 2187 // manner. This is based on growing LayoutObject in | 2187 // manner. This is based on growing LayoutObject in |
| 2188 // https://codereview.chromium.org/44673003 and subsequent relaxations | 2188 // https://codereview.chromium.org/44673003 and subsequent relaxations |
| 2189 // of the memory constraints on layout objects. | 2189 // of the memory constraints on layout objects. |
| 2190 LayoutObjectBitfields(Node* node) | 2190 LayoutObjectBitfields(Node* node) |
| 2191 : m_selfNeedsLayout(false), | 2191 : m_SelfNeedsLayout(false), |
| 2192 m_needsPositionedMovementLayout(false), | 2192 m_NeedsPositionedMovementLayout(false), |
| 2193 m_normalChildNeedsLayout(false), | 2193 m_NormalChildNeedsLayout(false), |
| 2194 m_posChildNeedsLayout(false), | 2194 m_PosChildNeedsLayout(false), |
| 2195 m_needsSimplifiedNormalFlowLayout(false), | 2195 m_NeedsSimplifiedNormalFlowLayout(false), |
| 2196 m_selfNeedsOverflowRecalcAfterStyleChange(false), | 2196 m_SelfNeedsOverflowRecalcAfterStyleChange(false), |
| 2197 m_childNeedsOverflowRecalcAfterStyleChange(false), | 2197 m_ChildNeedsOverflowRecalcAfterStyleChange(false), |
| 2198 m_preferredLogicalWidthsDirty(false), | 2198 m_PreferredLogicalWidthsDirty(false), |
| 2199 m_childShouldCheckForPaintInvalidation(false), | 2199 m_ChildShouldCheckForPaintInvalidation(false), |
| 2200 m_mayNeedPaintInvalidation(false), | 2200 m_MayNeedPaintInvalidation(false), |
| 2201 m_mayNeedPaintInvalidationSubtree(false), | 2201 m_MayNeedPaintInvalidationSubtree(false), |
| 2202 m_mayNeedPaintInvalidationAnimatedBackgroundImage(false), | 2202 m_MayNeedPaintInvalidationAnimatedBackgroundImage(false), |
| 2203 m_shouldInvalidateSelection(false), | 2203 m_ShouldInvalidateSelection(false), |
| 2204 m_floating(false), | 2204 m_Floating(false), |
| 2205 m_isAnonymous(!node), | 2205 m_IsAnonymous(!node), |
| 2206 m_isText(false), | 2206 m_IsText(false), |
| 2207 m_isBox(false), | 2207 m_IsBox(false), |
| 2208 m_isInline(true), | 2208 m_IsInline(true), |
| 2209 m_isAtomicInlineLevel(false), | 2209 m_IsAtomicInlineLevel(false), |
| 2210 m_horizontalWritingMode(true), | 2210 m_HorizontalWritingMode(true), |
| 2211 m_hasLayer(false), | 2211 m_HasLayer(false), |
| 2212 m_hasOverflowClip(false), | 2212 m_HasOverflowClip(false), |
| 2213 m_hasTransformRelatedProperty(false), | 2213 m_HasTransformRelatedProperty(false), |
| 2214 m_hasReflection(false), | 2214 m_HasReflection(false), |
| 2215 m_hasCounterNodeMap(false), | 2215 m_HasCounterNodeMap(false), |
| 2216 m_everHadLayout(false), | 2216 m_EverHadLayout(false), |
| 2217 m_ancestorLineBoxDirty(false), | 2217 m_AncestorLineBoxDirty(false), |
| 2218 m_isInsideFlowThread(false), | 2218 m_IsInsideFlowThread(false), |
| 2219 m_subtreeChangeListenerRegistered(false), | 2219 m_SubtreeChangeListenerRegistered(false), |
| 2220 m_notifiedOfSubtreeChange(false), | 2220 m_NotifiedOfSubtreeChange(false), |
| 2221 m_consumesSubtreeChangeNotification(false), | 2221 m_ConsumesSubtreeChangeNotification(false), |
| 2222 m_childrenInline(false), | 2222 m_ChildrenInline(false), |
| 2223 m_containsInlineWithOutlineAndContinuation(false), | 2223 m_ContainsInlineWithOutlineAndContinuation(false), |
| 2224 m_alwaysCreateLineBoxesForLayoutInline(false), | 2224 m_AlwaysCreateLineBoxesForLayoutInline(false), |
| 2225 m_previousBackgroundObscured(false), | 2225 m_PreviousBackgroundObscured(false), |
| 2226 m_isBackgroundAttachmentFixedObject(false), | 2226 m_IsBackgroundAttachmentFixedObject(false), |
| 2227 m_isScrollAnchorObject(false), | 2227 m_IsScrollAnchorObject(false), |
| 2228 m_scrollAnchorDisablingStyleChanged(false), | 2228 m_ScrollAnchorDisablingStyleChanged(false), |
| 2229 m_hasBoxDecorationBackground(false), | 2229 m_HasBoxDecorationBackground(false), |
| 2230 m_hasPreviousLocationInBacking(false), | 2230 m_HasPreviousLocationInBacking(false), |
| 2231 m_hasPreviousSelectionVisualRect(false), | 2231 m_HasPreviousSelectionVisualRect(false), |
| 2232 m_hasPreviousBoxGeometries(false), | 2232 m_HasPreviousBoxGeometries(false), |
| 2233 m_needsPaintPropertyUpdate(true), | 2233 m_NeedsPaintPropertyUpdate(true), |
| 2234 m_subtreeNeedsPaintPropertyUpdate(true), | 2234 m_SubtreeNeedsPaintPropertyUpdate(true), |
| 2235 m_descendantNeedsPaintPropertyUpdate(true), | 2235 m_DescendantNeedsPaintPropertyUpdate(true), |
| 2236 m_backgroundChangedSinceLastPaintInvalidation(false), | 2236 m_BackgroundChangedSinceLastPaintInvalidation(false), |
| 2237 m_outlineMayBeAffectedByDescendants(false), | 2237 positioned_state_(kIsStaticallyPositioned), |
| 2238 m_previousOutlineMayBeAffectedByDescendants(false), | 2238 selection_state_(kSelectionNone), |
| 2239 m_positionedState(IsStaticallyPositioned), | 2239 background_obscuration_state_(kBackgroundObscurationStatusInvalid), |
| 2240 m_selectionState(SelectionNone), | 2240 full_paint_invalidation_reason_(kPaintInvalidationNone) {} |
| 2241 m_backgroundObscurationState(BackgroundObscurationStatusInvalid), | |
| 2242 m_fullPaintInvalidationReason(PaintInvalidationNone) {} | |
| 2243 | 2241 |
| 2244 // Self needs layout means that this layout object is marked for a full | 2242 // Self needs layout means that this layout object is marked for a full |
| 2245 // layout. This is the default layout but it is expensive as it recomputes | 2243 // layout. This is the default layout but it is expensive as it recomputes |
| 2246 // everything. For CSS boxes, this includes the width (laying out the line | 2244 // everything. For CSS boxes, this includes the width (laying out the line |
| 2247 // boxes again), the margins (due to block collapsing margins), the | 2245 // boxes again), the margins (due to block collapsing margins), the |
| 2248 // positions, the height and the potential overflow. | 2246 // positions, the height and the potential overflow. |
| 2249 ADD_BOOLEAN_BITFIELD(selfNeedsLayout, SelfNeedsLayout); | 2247 ADD_BOOLEAN_BITFIELD(selfNeedsLayout, SelfNeedsLayout); |
| 2250 | 2248 |
| 2251 // A positioned movement layout is a specialized type of layout used on | 2249 // A positioned movement layout is a specialized type of layout used on |
| 2252 // positioned objects that only visually moved. This layout is used when | 2250 // positioned objects that only visually moved. This layout is used when |
| (...skipping 517 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2770 CORE_EXPORT void showLineTree(const blink::LayoutObject*); | 2768 CORE_EXPORT void showLineTree(const blink::LayoutObject*); |
| 2771 CORE_EXPORT void showLayoutTree(const blink::LayoutObject* object1); | 2769 CORE_EXPORT void showLayoutTree(const blink::LayoutObject* object1); |
| 2772 // We don't make object2 an optional parameter so that showLayoutTree | 2770 // We don't make object2 an optional parameter so that showLayoutTree |
| 2773 // can be called from gdb easily. | 2771 // can be called from gdb easily. |
| 2774 CORE_EXPORT void showLayoutTree(const blink::LayoutObject* object1, | 2772 CORE_EXPORT void showLayoutTree(const blink::LayoutObject* object1, |
| 2775 const blink::LayoutObject* object2); | 2773 const blink::LayoutObject* object2); |
| 2776 | 2774 |
| 2777 #endif | 2775 #endif |
| 2778 | 2776 |
| 2779 #endif // LayoutObject_h | 2777 #endif // LayoutObject_h |
| OLD | NEW |