Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(488)

Side by Side Diff: third_party/WebKit/Source/core/layout/LayoutObject.h

Issue 1813383002: Move all fast-path paint invalidation mapping into PaintInvalidationState (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
88 enum MarkingBehavior { 88 enum MarkingBehavior {
89 MarkOnlyThis, 89 MarkOnlyThis,
90 MarkContainerChain, 90 MarkContainerChain,
91 }; 91 };
92 92
93 enum MapCoordinatesMode { 93 enum MapCoordinatesMode {
94 IsFixed = 1 << 0, 94 IsFixed = 1 << 0,
95 UseTransforms = 1 << 1, 95 UseTransforms = 1 << 1,
96 ApplyContainerFlip = 1 << 2, 96 ApplyContainerFlip = 1 << 2,
97 TraverseDocumentBoundaries = 1 << 3, 97 TraverseDocumentBoundaries = 1 << 3,
98 // Disable view clipping and scroll offset adjustment, used when map a rect from a LayoutView's
99 // viewRect space (e.g. viewRect() itself or frame scrollbars).
100 // TODO(wangxianzhu): Remove this when root-layer-scrolls launches.
101 DontApplyFrameScrollOffsetAndClip = 1 << 4,
trchen 2016/03/25 01:08:49 Just had an offline discussion with Xianzhu. I sug
Xianzhu 2016/03/25 16:35:55 Thanks for the input. Renamed to InputIsInFrameCoo
98 }; 102 };
99 typedef unsigned MapCoordinatesFlags; 103 typedef unsigned MapCoordinatesFlags;
100 104
101 enum ScheduleRelayoutBehavior { 105 enum ScheduleRelayoutBehavior {
102 ScheduleRelayout, 106 ScheduleRelayout,
103 DontScheduleRelayout 107 DontScheduleRelayout
104 }; 108 };
105 109
106 const LayoutUnit& caretWidth(); 110 const LayoutUnit& caretWidth();
107 111
(...skipping 208 matching lines...) Expand 10 before | Expand all | Expand 10 after
316 #endif 320 #endif
317 ASSERT_WITH_SECURITY_IMPLICATION(!needsLayout()); 321 ASSERT_WITH_SECURITY_IMPLICATION(!needsLayout());
318 } 322 }
319 323
320 void assertSubtreeIsLaidOut() const 324 void assertSubtreeIsLaidOut() const
321 { 325 {
322 for (const LayoutObject* layoutObject = this; layoutObject; layoutObject = layoutObject->nextInPreOrder()) 326 for (const LayoutObject* layoutObject = this; layoutObject; layoutObject = layoutObject->nextInPreOrder())
323 layoutObject->assertLaidOut(); 327 layoutObject->assertLaidOut();
324 } 328 }
325 329
326 void assertClearedPaintInvalidationState() const 330 void assertClearedPaintInvalidationFlags() const
327 { 331 {
328 #ifndef NDEBUG 332 #ifndef NDEBUG
329 if (paintInvalidationStateIsDirty()) { 333 if (paintInvalidationStateIsDirty()) {
330 showLayoutTreeForThis(); 334 showLayoutTreeForThis();
331 ASSERT_NOT_REACHED(); 335 ASSERT_NOT_REACHED();
332 } 336 }
333 #endif 337 #endif
334 } 338 }
335 339
336 void assertSubtreeClearedPaintInvalidationState() const 340 void assertSubtreeClearedPaintInvalidationFlags() const
337 { 341 {
338 for (const LayoutObject* layoutObject = this; layoutObject; layoutObject = layoutObject->nextInPreOrder()) 342 for (const LayoutObject* layoutObject = this; layoutObject; layoutObject = layoutObject->nextInPreOrder())
339 layoutObject->assertClearedPaintInvalidationState(); 343 layoutObject->assertClearedPaintInvalidationFlags();
340 } 344 }
341 345
342 #endif 346 #endif
343 347
344 // Correct version of !layoutObjectHasNoBoxEffectObsolete(). 348 // Correct version of !layoutObjectHasNoBoxEffectObsolete().
345 bool hasBoxEffect() const 349 bool hasBoxEffect() const
346 { 350 {
347 return hasBoxDecorationBackground() || style()->hasVisualOverflowingEffe ct(); 351 return hasBoxDecorationBackground() || style()->hasVisualOverflowingEffe ct();
348 } 352 }
349 353
(...skipping 634 matching lines...) Expand 10 before | Expand all | Expand 10 after
984 { 988 {
985 return ancestorToLocalQuad(nullptr, quad, mode); 989 return ancestorToLocalQuad(nullptr, quad, mode);
986 } 990 }
987 991
988 // Convert a local quad into the coordinate system of container, taking tran sforms into account. 992 // Convert a local quad into the coordinate system of container, taking tran sforms into account.
989 // If the LayoutBoxModelObject ancestor is non-null, the result will be in t he space of the ancestor. 993 // If the LayoutBoxModelObject ancestor is non-null, the result will be in t he space of the ancestor.
990 // Otherwise: 994 // Otherwise:
991 // If TraverseDocumentBoundaries is specified, the result will be in the s pace of the local root frame. 995 // If TraverseDocumentBoundaries is specified, the result will be in the s pace of the local root frame.
992 // Otherwise, the result will be in the space of the containing frame. 996 // Otherwise, the result will be in the space of the containing frame.
993 FloatQuad localToAncestorQuad(const FloatQuad&, const LayoutBoxModelObject* ancestor, MapCoordinatesFlags = 0, bool* wasFixed = nullptr) const; 997 FloatQuad localToAncestorQuad(const FloatQuad&, const LayoutBoxModelObject* ancestor, MapCoordinatesFlags = 0, bool* wasFixed = nullptr) const;
994 FloatPoint localToAncestorPoint(const FloatPoint&, const LayoutBoxModelObjec t* ancestor, MapCoordinatesFlags = 0, bool* wasFixed = nullptr, const PaintInval idationState* = nullptr) const; 998 FloatPoint localToAncestorPoint(const FloatPoint&, const LayoutBoxModelObjec t* ancestor, MapCoordinatesFlags = 0, bool* wasFixed = nullptr) const;
995 void localToAncestorRects(Vector<LayoutRect>&, const LayoutBoxModelObject* a ncestor, const LayoutPoint& preOffset, const LayoutPoint& postOffset) const; 999 void localToAncestorRects(Vector<LayoutRect>&, const LayoutBoxModelObject* a ncestor, const LayoutPoint& preOffset, const LayoutPoint& postOffset) const;
996 1000
997 // Return the transformation matrix to map points from local to the coordina te system of a container, taking transforms into account. 1001 // Return the transformation matrix to map points from local to the coordina te system of a container, taking transforms into account.
998 // Passing null for |ancestor| behaves the same as localToAncestorQuad. 1002 // Passing null for |ancestor| behaves the same as localToAncestorQuad.
999 TransformationMatrix localToAncestorTransform(const LayoutBoxModelObject* an cestor, MapCoordinatesFlags = 0, bool* wasFixed = nullptr) const; 1003 TransformationMatrix localToAncestorTransform(const LayoutBoxModelObject* an cestor, MapCoordinatesFlags = 0, bool* wasFixed = nullptr) const;
1000 TransformationMatrix localToAbsoluteTransform(MapCoordinatesFlags mode = 0, bool* wasFixed = nullptr) const 1004 TransformationMatrix localToAbsoluteTransform(MapCoordinatesFlags mode = 0, bool* wasFixed = nullptr) const
1001 { 1005 {
1002 return localToAncestorTransform(nullptr, mode, wasFixed); 1006 return localToAncestorTransform(nullptr, mode, wasFixed);
1003 } 1007 }
1004 1008
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
1096 // is responsible for painting this object. The function crosses 1100 // is responsible for painting this object. The function crosses
1097 // frames boundaries so the returned value can be in a 1101 // frames boundaries so the returned value can be in a
1098 // different document. 1102 // different document.
1099 // 1103 //
1100 // This is the container that should be passed to 1104 // This is the container that should be passed to
1101 // the '*forPaintInvalidation' methods. 1105 // the '*forPaintInvalidation' methods.
1102 const LayoutBoxModelObject& containerForPaintInvalidation() const; 1106 const LayoutBoxModelObject& containerForPaintInvalidation() const;
1103 1107
1104 bool isPaintInvalidationContainer() const; 1108 bool isPaintInvalidationContainer() const;
1105 1109
1106 LayoutRect computePaintInvalidationRect()
1107 {
1108 return computePaintInvalidationRect(containerForPaintInvalidation());
1109 }
1110
1111 // Returns the paint invalidation rect for this LayoutObject in the coordina te space of the paint backing (typically a GraphicsLayer) for |paintInvalidation Container|.
1112 LayoutRect computePaintInvalidationRect(const LayoutBoxModelObject& paintInv alidationContainer, const PaintInvalidationState* = nullptr) const;
1113
1114 // Returns the rect bounds needed to invalidate the paint of this object, in the coordinate space of the layoutObject backing of |paintInvalidationContainer |
1115 LayoutRect boundsRectForPaintInvalidation(const LayoutBoxModelObject& paintI nvalidationContainer, const PaintInvalidationState* = nullptr) const;
1116
1117 // Actually do the paint invalidate of rect r for this object which has been computed in the coordinate space 1110 // Actually do the paint invalidate of rect r for this object which has been computed in the coordinate space
1118 // of the GraphicsLayer backing of |paintInvalidationContainer|. Note that t his coordinaten space is not the same 1111 // of the GraphicsLayer backing of |paintInvalidationContainer|. Note that t his coordinaten space is not the same
1119 // as the local coordinate space of |paintInvalidationContainer| in the pres ence of layer squashing. 1112 // as the local coordinate space of |paintInvalidationContainer| in the pres ence of layer squashing.
1120 void invalidatePaintUsingContainer(const LayoutBoxModelObject& paintInvalida tionContainer, const LayoutRect&, PaintInvalidationReason) const; 1113 void invalidatePaintUsingContainer(const LayoutBoxModelObject& paintInvalida tionContainer, const LayoutRect&, PaintInvalidationReason) const;
1121 1114
1122 // Invalidate the paint of a specific subrectangle within a given object. Th e rect is in the object's coordinate space. 1115 // Invalidate the paint of a specific subrectangle within a given object. Th e rect is in the object's coordinate space.
1123 void invalidatePaintRectangle(const LayoutRect&) const; 1116 void invalidatePaintRectangle(const LayoutRect&) const;
1124 void invalidatePaintRectangleNotInvalidatingDisplayItemClients(const LayoutR ect&) const; 1117 void invalidatePaintRectangleNotInvalidatingDisplayItemClients(const LayoutR ect&) const;
1125 1118
1126 // 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. 1119 // 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.
1127 virtual void invalidateTreeIfNeeded(const PaintInvalidationState&); 1120 virtual void invalidateTreeIfNeeded(const PaintInvalidationState&);
1128 1121
1129 // This function only invalidates the visual overflow. 1122 // This function only invalidates the visual overflow.
1130 // 1123 //
1131 // Note that overflow is a box concept but this function 1124 // Note that overflow is a box concept but this function
1132 // is only supported for block-flow. 1125 // is only supported for block-flow.
1133 virtual void invalidatePaintForOverflow(); 1126 virtual void invalidatePaintForOverflow();
1134 void invalidatePaintForOverflowIfNeeded(); 1127 void invalidatePaintForOverflowIfNeeded();
1135 1128
1136 void invalidatePaintIncludingNonCompositingDescendants(); 1129 void invalidatePaintIncludingNonCompositingDescendants();
1137 void invalidatePaintIncludingNonSelfPaintingLayerDescendants(const LayoutBox ModelObject& paintInvalidationContainer); 1130 void invalidatePaintIncludingNonSelfPaintingLayerDescendants(const LayoutBox ModelObject& paintInvalidationContainer);
1138 void setShouldDoFullPaintInvalidationIncludingNonCompositingDescendants(); 1131 void setShouldDoFullPaintInvalidationIncludingNonCompositingDescendants();
1139 1132
1140 // Returns the rect that should have paint invalidated whenever this object changes. The rect is in the view's 1133 // Returns the rect that should have paint invalidated whenever this object changes. The rect is in the view's
1141 // coordinate space. This method deals with outlines and overflow. 1134 // coordinate space. This method deals with outlines and overflow.
1142 virtual LayoutRect absoluteClippedOverflowRect() const; 1135 virtual LayoutRect absoluteClippedOverflowRect() const;
1143 virtual LayoutRect clippedOverflowRectForPaintInvalidation(const LayoutBoxMo delObject* paintInvalidationContainer, const PaintInvalidationState* = nullptr) const; 1136
1137 // Returns the rect that should have paint invalidated whenever this object changes. The rect is in the object's
1138 // local coordinate space.
1139 virtual LayoutRect localOverflowRectForPaintInvalidation() const;
1144 1140
1145 // Given a rect in the object's coordinate space, compute a rect in the coor dinate space of |ancestor|. If 1141 // Given a rect in the object's coordinate space, compute a rect in the coor dinate space of |ancestor|. If
1146 // intermediate containers have clipping or scrolling of any kind, it is app lied; but overflow clipping is *not* 1142 // intermediate containers have clipping or scrolling of any kind, it is app lied; but overflow clipping is *not*
1147 // applied for |ancestor| itself. The output rect is suitable for purposes s uch as paint invalidation. 1143 // applied for |ancestor| itself. The output rect is suitable for purposes s uch as paint invalidation.
1148 virtual void mapToVisibleRectInAncestorSpace(const LayoutBoxModelObject* anc estor, LayoutRect&, const PaintInvalidationState*) const; 1144 virtual void mapToVisibleRectInAncestorSpace(const LayoutBoxModelObject* anc estor, LayoutRect&) const;
1149 1145
1150 // Return the offset to the column in which the specified point (in flow-thr ead coordinates) 1146 // Return the offset to the column in which the specified point (in flow-thr ead coordinates)
1151 // lives. This is used to convert a flow-thread point to a visual point. 1147 // lives. This is used to convert a flow-thread point to a visual point.
1152 virtual LayoutSize columnOffset(const LayoutPoint&) const { return LayoutSiz e(); } 1148 virtual LayoutSize columnOffset(const LayoutPoint&) const { return LayoutSiz e(); }
1153 1149
1154 virtual unsigned length() const { return 1; } 1150 virtual unsigned length() const { return 1; }
1155 1151
1156 bool isFloatingOrOutOfFlowPositioned() const { return (isFloating() || isOut OfFlowPositioned()); } 1152 bool isFloatingOrOutOfFlowPositioned() const { return (isFloating() || isOut OfFlowPositioned()); }
1157 1153
1158 bool isTransparent() const { return style()->hasOpacity(); } 1154 bool isTransparent() const { return style()->hasOpacity(); }
1159 float opacity() const { return style()->opacity(); } 1155 float opacity() const { return style()->opacity(); }
1160 1156
1161 bool hasReflection() const { return m_bitfields.hasReflection(); } 1157 bool hasReflection() const { return m_bitfields.hasReflection(); }
1162 1158
1163 // The current selection state for an object. For blocks, the state refers to the state of the leaf 1159 // The current selection state for an object. For blocks, the state refers to the state of the leaf
1164 // descendants (as described above in the SelectionState enum declaration). 1160 // descendants (as described above in the SelectionState enum declaration).
1165 SelectionState getSelectionState() const { return m_bitfields.getSelectionSt ate(); } 1161 SelectionState getSelectionState() const { return m_bitfields.getSelectionSt ate(); }
1166 virtual void setSelectionState(SelectionState state) { m_bitfields.setSelect ionState(state); } 1162 virtual void setSelectionState(SelectionState state) { m_bitfields.setSelect ionState(state); }
1167 inline void setSelectionStateIfNeeded(SelectionState); 1163 inline void setSelectionStateIfNeeded(SelectionState);
1168 bool canUpdateSelectionOnRootLineBoxes() const; 1164 bool canUpdateSelectionOnRootLineBoxes() const;
1169 1165
1170 // A single rectangle that encompasses all of the selected objects within th is object. Used to determine the tightest 1166 // A single rectangle that encompasses all of the selected objects within th is object. Used to determine the tightest
1171 // possible bounding box for the selection. The rect returned is in the coor dinate space of the paint invalidation container's backing. 1167 // possible bounding box for the selection. The rect returned is in the obje ct's local coordinate space.
1172 virtual LayoutRect selectionRectForPaintInvalidation(const LayoutBoxModelObj ect* /* paintInvalidationContainer */) const { return LayoutRect(); } 1168 virtual LayoutRect localSelectionRect() const { return LayoutRect(); }
1173 1169
1174 // View coordinates means the coordinate space of |view()|. 1170 // View coordinates means the coordinate space of |view()|.
1175 LayoutRect selectionRectInViewCoordinates() const; 1171 LayoutRect selectionRectInViewCoordinates() const;
1176 1172
1177 virtual bool canBeSelectionLeaf() const { return false; } 1173 virtual bool canBeSelectionLeaf() const { return false; }
1178 bool hasSelectedChildren() const { return getSelectionState() != SelectionNo ne; } 1174 bool hasSelectedChildren() const { return getSelectionState() != SelectionNo ne; }
1179 1175
1180 bool isSelectable() const; 1176 bool isSelectable() const;
1181 // Obtains the selection colors that should be used when painting a selectio n. 1177 // Obtains the selection colors that should be used when painting a selectio n.
1182 Color selectionBackgroundColor() const; 1178 Color selectionBackgroundColor() const;
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
1238 if (parent()) 1234 if (parent())
1239 parent()->removeChild(this); 1235 parent()->removeChild(this);
1240 } 1236 }
1241 1237
1242 bool visibleToHitTestRequest(const HitTestRequest& request) const { return s tyle()->visibility() == VISIBLE && (request.ignorePointerEventsNone() || style() ->pointerEvents() != PE_NONE) && !isInert(); } 1238 bool visibleToHitTestRequest(const HitTestRequest& request) const { return s tyle()->visibility() == VISIBLE && (request.ignorePointerEventsNone() || style() ->pointerEvents() != PE_NONE) && !isInert(); }
1243 1239
1244 bool visibleToHitTesting() const { return style()->visibility() == VISIBLE & & style()->pointerEvents() != PE_NONE && !isInert(); } 1240 bool visibleToHitTesting() const { return style()->visibility() == VISIBLE & & style()->pointerEvents() != PE_NONE && !isInert(); }
1245 1241
1246 // Map points and quads through elements, potentially via 3d transforms. You should never need to call these directly; use 1242 // Map points and quads through elements, potentially via 3d transforms. You should never need to call these directly; use
1247 // localToAbsolute/absoluteToLocal methods instead. 1243 // localToAbsolute/absoluteToLocal methods instead.
1248 virtual void mapLocalToAncestor(const LayoutBoxModelObject* ancestor, Transf ormState&, MapCoordinatesFlags = ApplyContainerFlip, bool* wasFixed = nullptr, c onst PaintInvalidationState* = nullptr) const; 1244 virtual void mapLocalToAncestor(const LayoutBoxModelObject* ancestor, Transf ormState&, MapCoordinatesFlags = ApplyContainerFlip, bool* wasFixed = nullptr) c onst;
1249 // If the LayoutBoxModelObject ancestor is non-null, the input quad is in th e space of the ancestor. 1245 // If the LayoutBoxModelObject ancestor is non-null, the input quad is in th e space of the ancestor.
1250 // Otherwise: 1246 // Otherwise:
1251 // If TraverseDocumentBoundaries is specified, the input quad is in the sp ace of the local root frame. 1247 // If TraverseDocumentBoundaries is specified, the input quad is in the sp ace of the local root frame.
1252 // Otherwise, the input quad is in the space of the containing frame. 1248 // Otherwise, the input quad is in the space of the containing frame.
1253 virtual void mapAncestorToLocal(const LayoutBoxModelObject*, TransformState& , MapCoordinatesFlags = ApplyContainerFlip) const; 1249 virtual void mapAncestorToLocal(const LayoutBoxModelObject*, TransformState& , MapCoordinatesFlags = ApplyContainerFlip) const;
1254 void mapAbsoluteToLocalPoint(MapCoordinatesFlags flags, TransformState& tran sformState) const 1250 void mapAbsoluteToLocalPoint(MapCoordinatesFlags flags, TransformState& tran sformState) const
1255 { 1251 {
1256 return mapAncestorToLocal(nullptr, transformState, flags); 1252 return mapAncestorToLocal(nullptr, transformState, flags);
1257 } 1253 }
1258 1254
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after
1355 return paintInvalidationState.forcedSubtreeInvalidationWithinContainer() 1351 return paintInvalidationState.forcedSubtreeInvalidationWithinContainer()
1356 || paintInvalidationState.forcedSubtreeInvalidationRectUpdateWithinC ontainer() 1352 || paintInvalidationState.forcedSubtreeInvalidationRectUpdateWithinC ontainer()
1357 || shouldCheckForPaintInvalidationRegardlessOfPaintInvalidationState (); 1353 || shouldCheckForPaintInvalidationRegardlessOfPaintInvalidationState ();
1358 } 1354 }
1359 1355
1360 bool shouldCheckForPaintInvalidationRegardlessOfPaintInvalidationState() con st 1356 bool shouldCheckForPaintInvalidationRegardlessOfPaintInvalidationState() con st
1361 { 1357 {
1362 return mayNeedPaintInvalidation() || shouldDoFullPaintInvalidation() || shouldInvalidateSelection() || m_bitfields.childShouldCheckForPaintInvalidation( ); 1358 return mayNeedPaintInvalidation() || shouldDoFullPaintInvalidation() || shouldInvalidateSelection() || m_bitfields.childShouldCheckForPaintInvalidation( );
1363 } 1359 }
1364 1360
1365 virtual bool supportsPaintInvalidationStateCachedOffsets() const { return !h asTransformRelatedProperty() && !hasReflection() && !style()->isFlippedBlocksWri tingMode(); }
1366
1367 virtual LayoutRect viewRect() const; 1361 virtual LayoutRect viewRect() const;
1368 1362
1369 void invalidateDisplayItemClient(const DisplayItemClient&) const; 1363 void invalidateDisplayItemClient(const DisplayItemClient&) const;
1370 void invalidateDisplayItemClientsIncludingNonCompositingDescendants(const La youtBoxModelObject* paintInvalidationContainer, PaintInvalidationReason) const; 1364 void invalidateDisplayItemClientsIncludingNonCompositingDescendants(const La youtBoxModelObject* paintInvalidationContainer, PaintInvalidationReason) const;
1371 1365
1372 // Called before anonymousChild.setStyle(). Override to set custom styles fo r the child. 1366 // Called before anonymousChild.setStyle(). Override to set custom styles fo r the child.
1373 virtual void updateAnonymousChildStyle(const LayoutObject& anonymousChild, C omputedStyle& style) const { } 1367 virtual void updateAnonymousChildStyle(const LayoutObject& anonymousChild, C omputedStyle& style) const { }
1374 1368
1375 // Painters can use const methods only, except for these explicitly declared methods. 1369 // Painters can use const methods only, except for these explicitly declared methods.
1376 class MutableForPainting { 1370 class MutableForPainting {
(...skipping 788 matching lines...) Expand 10 before | Expand all | Expand 10 after
2165 void showTree(const blink::LayoutObject*); 2159 void showTree(const blink::LayoutObject*);
2166 void showLineTree(const blink::LayoutObject*); 2160 void showLineTree(const blink::LayoutObject*);
2167 void showLayoutTree(const blink::LayoutObject* object1); 2161 void showLayoutTree(const blink::LayoutObject* object1);
2168 // We don't make object2 an optional parameter so that showLayoutTree 2162 // We don't make object2 an optional parameter so that showLayoutTree
2169 // can be called from gdb easily. 2163 // can be called from gdb easily.
2170 void showLayoutTree(const blink::LayoutObject* object1, const blink::LayoutObjec t* object2); 2164 void showLayoutTree(const blink::LayoutObject* object1, const blink::LayoutObjec t* object2);
2171 2165
2172 #endif 2166 #endif
2173 2167
2174 #endif // LayoutObject_h 2168 #endif // LayoutObject_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698