Chromium Code Reviews| 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. 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 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 110 LayoutRect bounds; | 110 LayoutRect bounds; |
| 111 bool draggable; | 111 bool draggable; |
| 112 }; | 112 }; |
| 113 | 113 |
| 114 typedef WTF::HashMap<const DeprecatedPaintLayer*, Vector<LayoutRect>> LayerHitTe stRects; | 114 typedef WTF::HashMap<const DeprecatedPaintLayer*, Vector<LayoutRect>> LayerHitTe stRects; |
| 115 | 115 |
| 116 #ifndef NDEBUG | 116 #ifndef NDEBUG |
| 117 const int showTreeCharacterOffset = 39; | 117 const int showTreeCharacterOffset = 39; |
| 118 #endif | 118 #endif |
| 119 | 119 |
| 120 class NonLayoutObjectDisplayItemClientWrapper : public DisplayItemClientWrapper { | |
|
pdr.
2015/08/20 22:45:05
I'd prefer not to add this, but it may be needed.
Xianzhu
2015/08/21 00:31:38
In next steps, I'll try to decouple setting of rep
trchen
2015/08/21 00:37:29
It doesn't seem that it is used in this CL. Shall
Xianzhu
2015/08/21 04:54:51
Currently non-LayoutObject clients depend on Displ
| |
| 121 public: | |
| 122 template <typename T> | |
| 123 NonLayoutObjectDisplayItemClientWrapper(const T& client) | |
| 124 : DisplayItemClientWrapper(client) { } | |
| 125 | |
| 126 NonLayoutObjectDisplayItemClientWrapper(const LayoutObject&) = delete; | |
| 127 }; | |
| 128 | |
| 120 // Base class for all layout tree objects. | 129 // Base class for all layout tree objects. |
| 121 class CORE_EXPORT LayoutObject : public ImageResourceClient { | 130 class CORE_EXPORT LayoutObject : public ImageResourceClient { |
| 122 friend class LayoutBlock; | 131 friend class LayoutBlock; |
| 123 friend class LayoutBlockFlow; | 132 friend class LayoutBlockFlow; |
| 124 friend class DeprecatedPaintLayerReflectionInfo; // For setParent | 133 friend class DeprecatedPaintLayerReflectionInfo; // For setParent |
| 125 friend class DeprecatedPaintLayerScrollableArea; // For setParent. | 134 friend class DeprecatedPaintLayerScrollableArea; // For setParent. |
| 126 friend class LayoutObjectChildList; | 135 friend class LayoutObjectChildList; |
| 127 WTF_MAKE_NONCOPYABLE(LayoutObject); | 136 WTF_MAKE_NONCOPYABLE(LayoutObject); |
| 128 public: | 137 public: |
| 129 // Anonymous objects should pass the document as their node, and they will t hen automatically be | 138 // Anonymous objects should pass the document as their node, and they will t hen automatically be |
| (...skipping 720 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 850 | 859 |
| 851 // Returns the rect bounds needed to invalidate the paint of this object, in the coordinate space of the layoutObject backing of |paintInvalidationContainer | | 860 // Returns the rect bounds needed to invalidate the paint of this object, in the coordinate space of the layoutObject backing of |paintInvalidationContainer | |
| 852 LayoutRect boundsRectForPaintInvalidation(const LayoutBoxModelObject* paintI nvalidationContainer, const PaintInvalidationState* = nullptr) const; | 861 LayoutRect boundsRectForPaintInvalidation(const LayoutBoxModelObject* paintI nvalidationContainer, const PaintInvalidationState* = nullptr) const; |
| 853 | 862 |
| 854 // Actually do the paint invalidate of rect r for this object which has been computed in the coordinate space | 863 // Actually do the paint invalidate of rect r for this object which has been computed in the coordinate space |
| 855 // of the GraphicsLayer backing of |paintInvalidationContainer|. Note that t his coordinaten space is not the same | 864 // of the GraphicsLayer backing of |paintInvalidationContainer|. Note that t his coordinaten space is not the same |
| 856 // as the local coordinate space of |paintInvalidationContainer| in the pres ence of layer squashing. | 865 // as the local coordinate space of |paintInvalidationContainer| in the pres ence of layer squashing. |
| 857 void invalidatePaintUsingContainer(const LayoutBoxModelObject& paintInvalida tionContainer, const LayoutRect&, PaintInvalidationReason) const; | 866 void invalidatePaintUsingContainer(const LayoutBoxModelObject& paintInvalida tionContainer, const LayoutRect&, PaintInvalidationReason) const; |
| 858 | 867 |
| 859 // Invalidate the paint of a specific subrectangle within a given object. Th e rect |r| is in the object's coordinate space. | 868 // Invalidate the paint of a specific subrectangle within a given object. Th e rect |r| is in the object's coordinate space. |
| 860 void invalidatePaintRectangle(const LayoutRect&) const; | 869 void invalidatePaintRectangle(const LayoutRect&); |
| 861 void invalidatePaintRectangleNotInvalidatingDisplayItemClients(const LayoutR ect& r) const { invalidatePaintRectangleInternal(r); } | 870 void invalidatePaintRectangleNotInvalidatingDisplayItemClients(const LayoutR ect& r) { invalidatePaintRectangleInternal(r); } |
| 862 | 871 |
| 863 // Walk the tree after layout issuing paint invalidations for layoutObjects that have changed or moved, updating bounds that have changed, and clearing pain t invalidation state. | 872 // Walk the tree after layout issuing paint invalidations for layoutObjects that have changed or moved, updating bounds that have changed, and clearing pain t invalidation state. |
| 864 virtual void invalidateTreeIfNeeded(PaintInvalidationState&); | 873 virtual void invalidateTreeIfNeeded(PaintInvalidationState&); |
| 865 | 874 |
| 866 virtual void invalidatePaintForOverflow(); | 875 virtual void invalidatePaintForOverflow(); |
| 867 void invalidatePaintForOverflowIfNeeded(); | 876 void invalidatePaintForOverflowIfNeeded(); |
| 868 | 877 |
| 869 void invalidatePaintIncludingNonCompositingDescendants(); | 878 void invalidatePaintIncludingNonCompositingDescendants(); |
| 870 void setShouldDoFullPaintInvalidationIncludingNonCompositingDescendants(); | 879 void setShouldDoFullPaintInvalidationIncludingNonCompositingDescendants(); |
| 871 | 880 |
| (...skipping 172 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1044 { | 1053 { |
| 1045 return layoutDidGetCalledSinceLastFrame() || mayNeedPaintInvalidation() || shouldDoFullPaintInvalidation() || shouldInvalidateSelection(); | 1054 return layoutDidGetCalledSinceLastFrame() || mayNeedPaintInvalidation() || shouldDoFullPaintInvalidation() || shouldInvalidateSelection(); |
| 1046 } | 1055 } |
| 1047 | 1056 |
| 1048 virtual bool supportsPaintInvalidationStateCachedOffsets() const { return !h asTransformRelatedProperty() && !hasReflection() && !style()->isFlippedBlocksWri tingMode(); } | 1057 virtual bool supportsPaintInvalidationStateCachedOffsets() const { return !h asTransformRelatedProperty() && !hasReflection() && !style()->isFlippedBlocksWri tingMode(); } |
| 1049 | 1058 |
| 1050 virtual LayoutRect viewRect() const; | 1059 virtual LayoutRect viewRect() const; |
| 1051 | 1060 |
| 1052 DisplayItemClient displayItemClient() const { return toDisplayItemClient(thi s); } | 1061 DisplayItemClient displayItemClient() const { return toDisplayItemClient(thi s); } |
| 1053 | 1062 |
| 1054 void invalidateDisplayItemClient(const DisplayItemClientWrapper&) const; | 1063 void invalidateDisplayItemClient(const NonLayoutObjectDisplayItemClientWrapp er&); |
| 1055 void invalidateDisplayItemClientForNonCompositingDescendants() const { inval idateDisplayItemClientForNonCompositingDescendantsOf(*this); } | 1064 void invalidateDisplayItemClient(LayoutObject&); |
| 1065 void invalidateDisplayItemClientForNonCompositingDescendants() { invalidateD isplayItemClientForNonCompositingDescendantsOf(*this); } | |
| 1056 // A normal object should use invalidateDisplayItemClientForNonCompositingDe scendants() | 1066 // A normal object should use invalidateDisplayItemClientForNonCompositingDe scendants() |
| 1057 // to invalidate its descendants which are painted on the same backing. Howe ver, for | 1067 // to invalidate its descendants which are painted on the same backing. Howe ver, for |
| 1058 // an object (e.g. LayoutScrollbarPart, custom scroll corner, custom resizer ) which is | 1068 // an object (e.g. LayoutScrollbarPart, custom scroll corner, custom resizer ) which is |
| 1059 // not hooked up in the layout tree and not able to find its paint backing, it should | 1069 // not hooked up in the layout tree and not able to find its paint backing, it should |
| 1060 // let its owning layout object call the following function. | 1070 // let its owning layout object call the following function. |
| 1061 // FIXME: should we hook up scrollbar parts in the layout tree? crbug.com/48 4263. | 1071 // FIXME: should we hook up scrollbar parts in the layout tree? crbug.com/48 4263. |
| 1062 void invalidateDisplayItemClientForNonCompositingDescendantsOf(const LayoutO bject&) const; | 1072 void invalidateDisplayItemClientForNonCompositingDescendantsOf(LayoutObject& ); |
| 1073 | |
| 1074 bool selfNeedsRepaint() const { return m_bitfields.selfNeedsRepaint(); } | |
|
pdr.
2015/08/20 22:45:05
Can you add a comment here explaining this a bit?
Xianzhu
2015/08/21 00:31:38
Done.
| |
| 1075 void setNeedsRepaint(); | |
| 1076 bool childNeedsRepaint() const { return m_bitfields.childNeedsRepaint(); } | |
| 1077 bool shouldCheckForRepaint() const { return selfNeedsRepaint() || childNeeds Repaint(); } | |
| 1078 | |
| 1079 // Returns true if all repaint flags of the subtree are cleared. | |
| 1080 bool clearRepaintFlagsRecursively(); | |
|
trchen
2015/08/21 00:37:29
In this CL it seems the return value will always b
Xianzhu
2015/08/21 04:54:51
Will remove the return value first.
Xianzhu
2015/08/21 05:52:45
Done.
| |
| 1063 | 1081 |
| 1064 protected: | 1082 protected: |
| 1065 enum LayoutObjectType { | 1083 enum LayoutObjectType { |
| 1066 LayoutObjectBr, | 1084 LayoutObjectBr, |
| 1067 LayoutObjectCanvas, | 1085 LayoutObjectCanvas, |
| 1068 LayoutObjectFieldset, | 1086 LayoutObjectFieldset, |
| 1069 LayoutObjectCounter, | 1087 LayoutObjectCounter, |
| 1070 LayoutObjectDetailsMarker, | 1088 LayoutObjectDetailsMarker, |
| 1071 LayoutObjectEmbeddedObject, | 1089 LayoutObjectEmbeddedObject, |
| 1072 LayoutObjectFileUploadControl, | 1090 LayoutObjectFileUploadControl, |
| (...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1182 } | 1200 } |
| 1183 #endif | 1201 #endif |
| 1184 | 1202 |
| 1185 virtual void invalidatePaintOfSubtreesIfNeeded(PaintInvalidationState& child PaintInvalidationState); | 1203 virtual void invalidatePaintOfSubtreesIfNeeded(PaintInvalidationState& child PaintInvalidationState); |
| 1186 virtual PaintInvalidationReason invalidatePaintIfNeeded(PaintInvalidationSta te&, const LayoutBoxModelObject& paintInvalidationContainer); | 1204 virtual PaintInvalidationReason invalidatePaintIfNeeded(PaintInvalidationSta te&, const LayoutBoxModelObject& paintInvalidationContainer); |
| 1187 | 1205 |
| 1188 // When this object is invalidated for paint, this method is called to inval idate any DisplayItemClients | 1206 // When this object is invalidated for paint, this method is called to inval idate any DisplayItemClients |
| 1189 // owned by this object, including the object itself, LayoutText/LayoutInlin e line boxes, etc., | 1207 // owned by this object, including the object itself, LayoutText/LayoutInlin e line boxes, etc., |
| 1190 // not including children which will be invalidated normally during invalida teTreeIfNeeded() and | 1208 // not including children which will be invalidated normally during invalida teTreeIfNeeded() and |
| 1191 // parts which are invalidated separately (e.g. scrollbars). | 1209 // parts which are invalidated separately (e.g. scrollbars). |
| 1192 virtual void invalidateDisplayItemClients(const LayoutBoxModelObject& paintI nvalidationContainer) const; | 1210 virtual void invalidateDisplayItemClients(const LayoutBoxModelObject& paintI nvalidationContainer); |
| 1211 | |
| 1212 virtual bool clearRepaintFlagsOfSubtrees(); | |
| 1193 | 1213 |
| 1194 void setIsSlowRepaintObject(bool); | 1214 void setIsSlowRepaintObject(bool); |
| 1195 | 1215 |
| 1196 private: | 1216 private: |
| 1197 const LayoutRect& previousPaintInvalidationRect() const { return m_previousP aintInvalidationRect; } | 1217 const LayoutRect& previousPaintInvalidationRect() const { return m_previousP aintInvalidationRect; } |
| 1198 | 1218 |
| 1199 // Adjusts a paint invalidation rect in the space of |m_previousPaintInvalid ationRect| and |m_previousPositionFromPaintInvalidationBacking| | 1219 // Adjusts a paint invalidation rect in the space of |m_previousPaintInvalid ationRect| and |m_previousPositionFromPaintInvalidationBacking| |
| 1200 // to be in the space of the |paintInvalidationContainer|, | 1220 // to be in the space of the |paintInvalidationContainer|, |
| 1201 // if needed. They can be different only if |paintInvalidationContainer| is a composited scroller. | 1221 // if needed. They can be different only if |paintInvalidationContainer| is a composited scroller. |
| 1202 void adjustInvalidationRectForCompositedScrolling(LayoutRect&, const LayoutB oxModelObject& paintInvalidationContainer) const; | 1222 void adjustInvalidationRectForCompositedScrolling(LayoutRect&, const LayoutB oxModelObject& paintInvalidationContainer) const; |
| (...skipping 10 matching lines...) Expand all Loading... | |
| 1213 void updateFillImages(const FillLayer* oldLayers, const FillLayer& newLayers ); | 1233 void updateFillImages(const FillLayer* oldLayers, const FillLayer& newLayers ); |
| 1214 | 1234 |
| 1215 void setNeedsOverflowRecalcAfterStyleChange(); | 1235 void setNeedsOverflowRecalcAfterStyleChange(); |
| 1216 | 1236 |
| 1217 // FIXME: This should be 'markContaingBoxChainForOverflowRecalc when we make LayoutBox | 1237 // FIXME: This should be 'markContaingBoxChainForOverflowRecalc when we make LayoutBox |
| 1218 // recomputeOverflow-capable. crbug.com/437012 and crbug.com/434700. | 1238 // recomputeOverflow-capable. crbug.com/437012 and crbug.com/434700. |
| 1219 inline void markContainingBlocksForOverflowRecalc(); | 1239 inline void markContainingBlocksForOverflowRecalc(); |
| 1220 | 1240 |
| 1221 inline void markContainerChainForPaintInvalidation(); | 1241 inline void markContainerChainForPaintInvalidation(); |
| 1222 | 1242 |
| 1243 void markContainerChainForRepaint(); | |
| 1244 void setChildNeedsRepaint(); | |
| 1245 | |
| 1223 inline void invalidateSelectionIfNeeded(const LayoutBoxModelObject&, PaintIn validationReason); | 1246 inline void invalidateSelectionIfNeeded(const LayoutBoxModelObject&, PaintIn validationReason); |
| 1224 | 1247 |
| 1225 inline void invalidateContainerPreferredLogicalWidths(); | 1248 inline void invalidateContainerPreferredLogicalWidths(); |
| 1226 | 1249 |
| 1227 void clearMayNeedPaintInvalidation(); | 1250 void clearMayNeedPaintInvalidation(); |
| 1228 | 1251 |
| 1229 void setLayoutDidGetCalledSinceLastFrame(); | 1252 void setLayoutDidGetCalledSinceLastFrame(); |
| 1230 void clearLayoutDidGetCalledSinceLastFrame() { m_bitfields.setLayoutDidGetCa lledSinceLastFrame(false); } | 1253 void clearLayoutDidGetCalledSinceLastFrame() { m_bitfields.setLayoutDidGetCa lledSinceLastFrame(false); } |
| 1231 | 1254 |
| 1232 void invalidatePaintIncludingNonCompositingDescendantsInternal(const LayoutB oxModelObject& repaintContainer); | 1255 void invalidatePaintIncludingNonCompositingDescendantsInternal(const LayoutB oxModelObject& repaintContainer); |
| (...skipping 15 matching lines...) Expand all Loading... | |
| 1248 void removeShapeImageClient(ShapeValue*); | 1271 void removeShapeImageClient(ShapeValue*); |
| 1249 | 1272 |
| 1250 #if ENABLE(ASSERT) | 1273 #if ENABLE(ASSERT) |
| 1251 void checkBlockPositionedObjectsNeedLayout(); | 1274 void checkBlockPositionedObjectsNeedLayout(); |
| 1252 #endif | 1275 #endif |
| 1253 | 1276 |
| 1254 bool isTextOrSVGChild() const { return isText() || (isSVG() && !isSVGRoot()) ; } | 1277 bool isTextOrSVGChild() const { return isText() || (isSVG() && !isSVGRoot()) ; } |
| 1255 | 1278 |
| 1256 static bool isAllowedToModifyLayoutTreeStructure(Document&); | 1279 static bool isAllowedToModifyLayoutTreeStructure(Document&); |
| 1257 | 1280 |
| 1258 const LayoutBoxModelObject* invalidatePaintRectangleInternal(const LayoutRec t&) const; | 1281 const LayoutBoxModelObject* invalidatePaintRectangleInternal(const LayoutRec t&); |
| 1282 | |
| 1283 void invalidateDisplayItemClientInternal(const DisplayItemClientWrapper&); | |
| 1259 | 1284 |
| 1260 RefPtr<ComputedStyle> m_style; | 1285 RefPtr<ComputedStyle> m_style; |
| 1261 | 1286 |
| 1262 // Oilpan: raw pointer back to the owning Node is considered safe. | 1287 // Oilpan: raw pointer back to the owning Node is considered safe. |
| 1263 GC_PLUGIN_IGNORE("http://crbug.com/509911") | 1288 GC_PLUGIN_IGNORE("http://crbug.com/509911") |
| 1264 Node* m_node; | 1289 Node* m_node; |
| 1265 | 1290 |
| 1266 LayoutObject* m_parent; | 1291 LayoutObject* m_parent; |
| 1267 LayoutObject* m_previous; | 1292 LayoutObject* m_previous; |
| 1268 LayoutObject* m_next; | 1293 LayoutObject* m_next; |
| (...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1321 , m_layoutDidGetCalledSinceLastFrame(false) | 1346 , m_layoutDidGetCalledSinceLastFrame(false) |
| 1322 , m_hasPendingResourceUpdate(false) | 1347 , m_hasPendingResourceUpdate(false) |
| 1323 , m_isInsideFlowThread(false) | 1348 , m_isInsideFlowThread(false) |
| 1324 , m_subtreeChangeListenerRegistered(false) | 1349 , m_subtreeChangeListenerRegistered(false) |
| 1325 , m_notifiedOfSubtreeChange(false) | 1350 , m_notifiedOfSubtreeChange(false) |
| 1326 , m_consumesSubtreeChangeNotification(false) | 1351 , m_consumesSubtreeChangeNotification(false) |
| 1327 , m_childrenInline(false) | 1352 , m_childrenInline(false) |
| 1328 , m_alwaysCreateLineBoxesForLayoutInline(false) | 1353 , m_alwaysCreateLineBoxesForLayoutInline(false) |
| 1329 , m_lastBoxDecorationBackgroundObscured(false) | 1354 , m_lastBoxDecorationBackgroundObscured(false) |
| 1330 , m_isSlowRepaintObject(false) | 1355 , m_isSlowRepaintObject(false) |
| 1356 , m_selfNeedsRepaint(false) | |
| 1357 , m_childNeedsRepaint(false) | |
| 1331 , m_positionedState(IsStaticallyPositioned) | 1358 , m_positionedState(IsStaticallyPositioned) |
| 1332 , m_selectionState(SelectionNone) | 1359 , m_selectionState(SelectionNone) |
| 1333 , m_boxDecorationBackgroundState(NoBoxDecorationBackground) | 1360 , m_boxDecorationBackgroundState(NoBoxDecorationBackground) |
| 1334 , m_fullPaintInvalidationReason(PaintInvalidationNone) | 1361 , m_fullPaintInvalidationReason(PaintInvalidationNone) |
| 1335 { | 1362 { |
| 1336 } | 1363 } |
| 1337 | 1364 |
| 1338 // 32 bits have been used in the first word, and 16 in the second. | 1365 // 32 bits have been used in the first word, and 18 in the second. |
| 1339 ADD_BOOLEAN_BITFIELD(selfNeedsLayout, SelfNeedsLayout); | 1366 ADD_BOOLEAN_BITFIELD(selfNeedsLayout, SelfNeedsLayout); |
| 1340 ADD_BOOLEAN_BITFIELD(shouldInvalidateOverflowForPaint, ShouldInvalidateO verflowForPaint); | 1367 ADD_BOOLEAN_BITFIELD(shouldInvalidateOverflowForPaint, ShouldInvalidateO verflowForPaint); |
| 1341 ADD_BOOLEAN_BITFIELD(mayNeedPaintInvalidation, MayNeedPaintInvalidation) ; | 1368 ADD_BOOLEAN_BITFIELD(mayNeedPaintInvalidation, MayNeedPaintInvalidation) ; |
| 1342 ADD_BOOLEAN_BITFIELD(shouldInvalidateSelection, ShouldInvalidateSelectio n); | 1369 ADD_BOOLEAN_BITFIELD(shouldInvalidateSelection, ShouldInvalidateSelectio n); |
| 1343 ADD_BOOLEAN_BITFIELD(neededLayoutBecauseOfChildren, NeededLayoutBecauseO fChildren); | 1370 ADD_BOOLEAN_BITFIELD(neededLayoutBecauseOfChildren, NeededLayoutBecauseO fChildren); |
| 1344 ADD_BOOLEAN_BITFIELD(needsPositionedMovementLayout, NeedsPositionedMovem entLayout); | 1371 ADD_BOOLEAN_BITFIELD(needsPositionedMovementLayout, NeedsPositionedMovem entLayout); |
| 1345 ADD_BOOLEAN_BITFIELD(normalChildNeedsLayout, NormalChildNeedsLayout); | 1372 ADD_BOOLEAN_BITFIELD(normalChildNeedsLayout, NormalChildNeedsLayout); |
| 1346 ADD_BOOLEAN_BITFIELD(posChildNeedsLayout, PosChildNeedsLayout); | 1373 ADD_BOOLEAN_BITFIELD(posChildNeedsLayout, PosChildNeedsLayout); |
| 1347 ADD_BOOLEAN_BITFIELD(needsSimplifiedNormalFlowLayout, NeedsSimplifiedNor malFlowLayout); | 1374 ADD_BOOLEAN_BITFIELD(needsSimplifiedNormalFlowLayout, NeedsSimplifiedNor malFlowLayout); |
| 1348 ADD_BOOLEAN_BITFIELD(preferredLogicalWidthsDirty, PreferredLogicalWidths Dirty); | 1375 ADD_BOOLEAN_BITFIELD(preferredLogicalWidthsDirty, PreferredLogicalWidths Dirty); |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1381 ADD_BOOLEAN_BITFIELD(childrenInline, ChildrenInline); | 1408 ADD_BOOLEAN_BITFIELD(childrenInline, ChildrenInline); |
| 1382 | 1409 |
| 1383 // from LayoutInline | 1410 // from LayoutInline |
| 1384 ADD_BOOLEAN_BITFIELD(alwaysCreateLineBoxesForLayoutInline, AlwaysCreateL ineBoxesForLayoutInline); | 1411 ADD_BOOLEAN_BITFIELD(alwaysCreateLineBoxesForLayoutInline, AlwaysCreateL ineBoxesForLayoutInline); |
| 1385 | 1412 |
| 1386 // For slimming-paint. | 1413 // For slimming-paint. |
| 1387 ADD_BOOLEAN_BITFIELD(lastBoxDecorationBackgroundObscured, LastBoxDecorat ionBackgroundObscured); | 1414 ADD_BOOLEAN_BITFIELD(lastBoxDecorationBackgroundObscured, LastBoxDecorat ionBackgroundObscured); |
| 1388 | 1415 |
| 1389 ADD_BOOLEAN_BITFIELD(isSlowRepaintObject, IsSlowRepaintObject); | 1416 ADD_BOOLEAN_BITFIELD(isSlowRepaintObject, IsSlowRepaintObject); |
| 1390 | 1417 |
| 1418 // For slimming-paint v2. | |
| 1419 // TODO(wangxianzhu): Combine repaint flags with paint invalidation flag s when we remove | |
| 1420 // old paint invalidation code. | |
| 1421 ADD_BOOLEAN_BITFIELD(selfNeedsRepaint, SelfNeedsRepaint); | |
| 1422 ADD_BOOLEAN_BITFIELD(childNeedsRepaint, ChildNeedsRepaint); | |
| 1423 | |
| 1391 private: | 1424 private: |
| 1392 unsigned m_positionedState : 2; // PositionedState | 1425 unsigned m_positionedState : 2; // PositionedState |
| 1393 unsigned m_selectionState : 3; // SelectionState | 1426 unsigned m_selectionState : 3; // SelectionState |
| 1394 unsigned m_boxDecorationBackgroundState : 2; // BoxDecorationBackgroundS tate | 1427 unsigned m_boxDecorationBackgroundState : 2; // BoxDecorationBackgroundS tate |
| 1395 unsigned m_fullPaintInvalidationReason : 5; // PaintInvalidationReason | 1428 unsigned m_fullPaintInvalidationReason : 5; // PaintInvalidationReason |
| 1396 | 1429 |
| 1397 public: | 1430 public: |
| 1398 bool isOutOfFlowPositioned() const { return m_positionedState == IsOutOf FlowPositioned; } | 1431 bool isOutOfFlowPositioned() const { return m_positionedState == IsOutOf FlowPositioned; } |
| 1399 bool isRelPositioned() const { return m_positionedState == IsRelativelyP ositioned; } | 1432 bool isRelPositioned() const { return m_positionedState == IsRelativelyP ositioned; } |
| 1400 bool isStickyPositioned() const { return m_positionedState == IsStickyPo sitioned; } | 1433 bool isStickyPositioned() const { return m_positionedState == IsStickyPo sitioned; } |
| (...skipping 269 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1670 void showTree(const blink::LayoutObject*); | 1703 void showTree(const blink::LayoutObject*); |
| 1671 void showLineTree(const blink::LayoutObject*); | 1704 void showLineTree(const blink::LayoutObject*); |
| 1672 void showLayoutTree(const blink::LayoutObject* object1); | 1705 void showLayoutTree(const blink::LayoutObject* object1); |
| 1673 // We don't make object2 an optional parameter so that showLayoutTree | 1706 // We don't make object2 an optional parameter so that showLayoutTree |
| 1674 // can be called from gdb easily. | 1707 // can be called from gdb easily. |
| 1675 void showLayoutTree(const blink::LayoutObject* object1, const blink::LayoutObjec t* object2); | 1708 void showLayoutTree(const blink::LayoutObject* object1, const blink::LayoutObjec t* object2); |
| 1676 | 1709 |
| 1677 #endif | 1710 #endif |
| 1678 | 1711 |
| 1679 #endif // LayoutObject_h | 1712 #endif // LayoutObject_h |
| OLD | NEW |