| 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 2211 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2222 // performance. | 2222 // performance. |
| 2223 // | 2223 // |
| 2224 // This class is an artifact of the WebKit era where LayoutObject wasn't | 2224 // This class is an artifact of the WebKit era where LayoutObject wasn't |
| 2225 // allowed to grow and each sub-class was strictly monitored for memory | 2225 // allowed to grow and each sub-class was strictly monitored for memory |
| 2226 // increase. Our measurements indicate that the size of LayoutObject and | 2226 // increase. Our measurements indicate that the size of LayoutObject and |
| 2227 // subsequent classes do not impact memory or speed in a significant | 2227 // subsequent classes do not impact memory or speed in a significant |
| 2228 // manner. This is based on growing LayoutObject in | 2228 // manner. This is based on growing LayoutObject in |
| 2229 // https://codereview.chromium.org/44673003 and subsequent relaxations | 2229 // https://codereview.chromium.org/44673003 and subsequent relaxations |
| 2230 // of the memory constraints on layout objects. | 2230 // of the memory constraints on layout objects. |
| 2231 LayoutObjectBitfields(Node* node) | 2231 LayoutObjectBitfields(Node* node) |
| 2232 : m_selfNeedsLayout(false), | 2232 : m_SelfNeedsLayout(false), |
| 2233 m_needsPositionedMovementLayout(false), | 2233 m_NeedsPositionedMovementLayout(false), |
| 2234 m_normalChildNeedsLayout(false), | 2234 m_NormalChildNeedsLayout(false), |
| 2235 m_posChildNeedsLayout(false), | 2235 m_PosChildNeedsLayout(false), |
| 2236 m_needsSimplifiedNormalFlowLayout(false), | 2236 m_NeedsSimplifiedNormalFlowLayout(false), |
| 2237 m_selfNeedsOverflowRecalcAfterStyleChange(false), | 2237 m_SelfNeedsOverflowRecalcAfterStyleChange(false), |
| 2238 m_childNeedsOverflowRecalcAfterStyleChange(false), | 2238 m_ChildNeedsOverflowRecalcAfterStyleChange(false), |
| 2239 m_preferredLogicalWidthsDirty(false), | 2239 m_PreferredLogicalWidthsDirty(false), |
| 2240 m_mayNeedPaintInvalidation(false), | 2240 m_MayNeedPaintInvalidation(false), |
| 2241 m_mayNeedPaintInvalidationSubtree(false), | 2241 m_MayNeedPaintInvalidationSubtree(false), |
| 2242 m_mayNeedPaintInvalidationAnimatedBackgroundImage(false), | 2242 m_MayNeedPaintInvalidationAnimatedBackgroundImage(false), |
| 2243 m_needsPaintOffsetAndVisualRectUpdate(false), | 2243 m_NeedsPaintOffsetAndVisualRectUpdate(false), |
| 2244 m_shouldInvalidateSelection(false), | 2244 m_ShouldInvalidateSelection(false), |
| 2245 m_floating(false), | 2245 m_Floating(false), |
| 2246 m_isAnonymous(!node), | 2246 m_IsAnonymous(!node), |
| 2247 m_isText(false), | 2247 m_IsText(false), |
| 2248 m_isBox(false), | 2248 m_IsBox(false), |
| 2249 m_isInline(true), | 2249 m_IsInline(true), |
| 2250 m_isAtomicInlineLevel(false), | 2250 m_IsAtomicInlineLevel(false), |
| 2251 m_horizontalWritingMode(true), | 2251 m_HorizontalWritingMode(true), |
| 2252 m_hasLayer(false), | 2252 m_HasLayer(false), |
| 2253 m_hasOverflowClip(false), | 2253 m_HasOverflowClip(false), |
| 2254 m_hasTransformRelatedProperty(false), | 2254 m_HasTransformRelatedProperty(false), |
| 2255 m_hasReflection(false), | 2255 m_HasReflection(false), |
| 2256 m_canContainFixedPositionObjects(false), | 2256 m_CanContainFixedPositionObjects(false), |
| 2257 m_hasCounterNodeMap(false), | 2257 m_HasCounterNodeMap(false), |
| 2258 m_everHadLayout(false), | 2258 m_EverHadLayout(false), |
| 2259 m_ancestorLineBoxDirty(false), | 2259 m_AncestorLineBoxDirty(false), |
| 2260 m_isInsideFlowThread(false), | 2260 m_IsInsideFlowThread(false), |
| 2261 m_subtreeChangeListenerRegistered(false), | 2261 m_SubtreeChangeListenerRegistered(false), |
| 2262 m_notifiedOfSubtreeChange(false), | 2262 m_NotifiedOfSubtreeChange(false), |
| 2263 m_consumesSubtreeChangeNotification(false), | 2263 m_ConsumesSubtreeChangeNotification(false), |
| 2264 m_childrenInline(false), | 2264 m_ChildrenInline(false), |
| 2265 m_containsInlineWithOutlineAndContinuation(false), | 2265 m_ContainsInlineWithOutlineAndContinuation(false), |
| 2266 m_alwaysCreateLineBoxesForLayoutInline(false), | 2266 m_AlwaysCreateLineBoxesForLayoutInline(false), |
| 2267 m_previousBackgroundObscured(false), | 2267 m_PreviousBackgroundObscured(false), |
| 2268 m_isBackgroundAttachmentFixedObject(false), | 2268 m_IsBackgroundAttachmentFixedObject(false), |
| 2269 m_isScrollAnchorObject(false), | 2269 m_IsScrollAnchorObject(false), |
| 2270 m_scrollAnchorDisablingStyleChanged(false), | 2270 m_ScrollAnchorDisablingStyleChanged(false), |
| 2271 m_hasBoxDecorationBackground(false), | 2271 m_HasBoxDecorationBackground(false), |
| 2272 m_hasPreviousLocationInBacking(false), | 2272 m_HasPreviousLocationInBacking(false), |
| 2273 m_hasPreviousSelectionVisualRect(false), | 2273 m_HasPreviousSelectionVisualRect(false), |
| 2274 m_needsPaintPropertyUpdate(true), | 2274 m_NeedsPaintPropertyUpdate(true), |
| 2275 m_subtreeNeedsPaintPropertyUpdate(true), | 2275 m_SubtreeNeedsPaintPropertyUpdate(true), |
| 2276 m_descendantNeedsPaintPropertyUpdate(true), | 2276 m_DescendantNeedsPaintPropertyUpdate(true), |
| 2277 m_backgroundChangedSinceLastPaintInvalidation(false), | 2277 m_BackgroundChangedSinceLastPaintInvalidation(false), |
| 2278 m_outlineMayBeAffectedByDescendants(false), | 2278 m_OutlineMayBeAffectedByDescendants(false), |
| 2279 m_previousOutlineMayBeAffectedByDescendants(false), | 2279 m_PreviousOutlineMayBeAffectedByDescendants(false), |
| 2280 m_positionedState(IsStaticallyPositioned), | 2280 m_PositionedState(IsStaticallyPositioned), |
| 2281 m_selectionState(SelectionNone), | 2281 m_SelectionState(SelectionNone), |
| 2282 m_backgroundObscurationState(BackgroundObscurationStatusInvalid), | 2282 m_BackgroundObscurationState(BackgroundObscurationStatusInvalid), |
| 2283 m_fullPaintInvalidationReason(PaintInvalidationNone) {} | 2283 m_FullPaintInvalidationReason(PaintInvalidationNone) {} |
| 2284 | 2284 |
| 2285 // Self needs layout means that this layout object is marked for a full | 2285 // Self needs layout means that this layout object is marked for a full |
| 2286 // layout. This is the default layout but it is expensive as it recomputes | 2286 // layout. This is the default layout but it is expensive as it recomputes |
| 2287 // everything. For CSS boxes, this includes the width (laying out the line | 2287 // everything. For CSS boxes, this includes the width (laying out the line |
| 2288 // boxes again), the margins (due to block collapsing margins), the | 2288 // boxes again), the margins (due to block collapsing margins), the |
| 2289 // positions, the height and the potential overflow. | 2289 // positions, the height and the potential overflow. |
| 2290 ADD_BOOLEAN_BITFIELD(selfNeedsLayout, SelfNeedsLayout); | 2290 ADD_BOOLEAN_BITFIELD(selfNeedsLayout, SelfNeedsLayout); |
| 2291 | 2291 |
| 2292 // A positioned movement layout is a specialized type of layout used on | 2292 // A positioned movement layout is a specialized type of layout used on |
| 2293 // positioned objects that only visually moved. This layout is used when | 2293 // positioned objects that only visually moved. This layout is used when |
| (...skipping 521 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2815 CORE_EXPORT void showLineTree(const blink::LayoutObject*); | 2815 CORE_EXPORT void showLineTree(const blink::LayoutObject*); |
| 2816 CORE_EXPORT void showLayoutTree(const blink::LayoutObject* object1); | 2816 CORE_EXPORT void showLayoutTree(const blink::LayoutObject* object1); |
| 2817 // We don't make object2 an optional parameter so that showLayoutTree | 2817 // We don't make object2 an optional parameter so that showLayoutTree |
| 2818 // can be called from gdb easily. | 2818 // can be called from gdb easily. |
| 2819 CORE_EXPORT void showLayoutTree(const blink::LayoutObject* object1, | 2819 CORE_EXPORT void showLayoutTree(const blink::LayoutObject* object1, |
| 2820 const blink::LayoutObject* object2); | 2820 const blink::LayoutObject* object2); |
| 2821 | 2821 |
| 2822 #endif | 2822 #endif |
| 2823 | 2823 |
| 2824 #endif // LayoutObject_h | 2824 #endif // LayoutObject_h |
| OLD | NEW |