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 833 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
844 // Actually do the paint invalidate of rect r for this object which has been
computed in the coordinate space | 844 // Actually do the paint invalidate of rect r for this object which has been
computed in the coordinate space |
845 // of the GraphicsLayer backing of |paintInvalidationContainer|. Note that t
his coordinaten space is not the same | 845 // of the GraphicsLayer backing of |paintInvalidationContainer|. Note that t
his coordinaten space is not the same |
846 // as the local coordinate space of |paintInvalidationContainer| in the pres
ence of layer squashing. | 846 // as the local coordinate space of |paintInvalidationContainer| in the pres
ence of layer squashing. |
847 // If |paintInvalidationContainer| is 0, invalidate paints via the view. | 847 // If |paintInvalidationContainer| is 0, invalidate paints via the view. |
848 // FIXME: |paintInvalidationContainer| should never be 0. See crbug.com/3636
99. | 848 // FIXME: |paintInvalidationContainer| should never be 0. See crbug.com/3636
99. |
849 void invalidatePaintUsingContainer(const RenderLayerModelObject* paintInvali
dationContainer, const LayoutRect&, PaintInvalidationReason) const; | 849 void invalidatePaintUsingContainer(const RenderLayerModelObject* paintInvali
dationContainer, const LayoutRect&, PaintInvalidationReason) const; |
850 | 850 |
851 // Invalidate the paint of a specific subrectangle within a given object. Th
e rect |r| is in the object's coordinate space. | 851 // Invalidate the paint of a specific subrectangle within a given object. Th
e rect |r| is in the object's coordinate space. |
852 void invalidatePaintRectangle(const LayoutRect&) const; | 852 void invalidatePaintRectangle(const LayoutRect&) const; |
853 | 853 |
854 void invalidateSelectionIfNeeded(const RenderLayerModelObject&); | 854 void invalidateSelectionIfNeeded(const RenderLayerModelObject&, PaintInvalid
ationReason); |
855 | 855 |
856 // Walk the tree after layout issuing paint invalidations for renderers that
have changed or moved, updating bounds that have changed, and clearing paint in
validation state. | 856 // Walk the tree after layout issuing paint invalidations for renderers that
have changed or moved, updating bounds that have changed, and clearing paint in
validation state. |
857 virtual void invalidateTreeIfNeeded(const PaintInvalidationState&); | 857 virtual void invalidateTreeIfNeeded(const PaintInvalidationState&); |
858 | 858 |
859 virtual void invalidatePaintForOverflow(); | 859 virtual void invalidatePaintForOverflow(); |
860 void invalidatePaintForOverflowIfNeeded(); | 860 void invalidatePaintForOverflowIfNeeded(); |
861 | 861 |
862 void invalidatePaintIncludingNonCompositingDescendants(); | 862 void invalidatePaintIncludingNonCompositingDescendants(); |
863 | 863 |
864 // Returns the rect that should have paint invalidated whenever this object
changes. The rect is in the view's | 864 // Returns the rect that should have paint invalidated whenever this object
changes. The rect is in the view's |
(...skipping 322 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1187 m_bitfields.setLayoutDidGetCalledSinceLastFrame(true); | 1187 m_bitfields.setLayoutDidGetCalledSinceLastFrame(true); |
1188 | 1188 |
1189 // Make sure our parent is marked as needing invalidation. | 1189 // Make sure our parent is marked as needing invalidation. |
1190 // This would be unneeded if we allowed sub-tree invalidation (akin to s
ub-tree layouts). | 1190 // This would be unneeded if we allowed sub-tree invalidation (akin to s
ub-tree layouts). |
1191 markContainingBlockChainForPaintInvalidation(); | 1191 markContainingBlockChainForPaintInvalidation(); |
1192 } | 1192 } |
1193 void clearLayoutDidGetCalledSinceLastFrame() { m_bitfields.setLayoutDidGetCa
lledSinceLastFrame(false); } | 1193 void clearLayoutDidGetCalledSinceLastFrame() { m_bitfields.setLayoutDidGetCa
lledSinceLastFrame(false); } |
1194 | 1194 |
1195 void invalidatePaintIncludingNonCompositingDescendantsInternal(const RenderL
ayerModelObject* repaintContainer); | 1195 void invalidatePaintIncludingNonCompositingDescendantsInternal(const RenderL
ayerModelObject* repaintContainer); |
1196 | 1196 |
| 1197 LayoutRect previousSelectionRectForPaintInvalidation() const; |
| 1198 void setPreviousSelectionRectForPaintInvalidation(const LayoutRect&); |
| 1199 |
1197 const RenderLayerModelObject* enclosingCompositedContainer() const; | 1200 const RenderLayerModelObject* enclosingCompositedContainer() const; |
1198 | 1201 |
1199 RenderFlowThread* locateFlowThreadContainingBlock() const; | 1202 RenderFlowThread* locateFlowThreadContainingBlock() const; |
1200 void removeFromRenderFlowThread(); | 1203 void removeFromRenderFlowThread(); |
1201 void removeFromRenderFlowThreadRecursive(RenderFlowThread*); | 1204 void removeFromRenderFlowThreadRecursive(RenderFlowThread*); |
1202 | 1205 |
1203 RenderStyle* cachedFirstLineStyle() const; | 1206 RenderStyle* cachedFirstLineStyle() const; |
1204 StyleDifference adjustStyleDifference(StyleDifference) const; | 1207 StyleDifference adjustStyleDifference(StyleDifference) const; |
1205 | 1208 |
1206 Color selectionColor(int colorProperty) const; | 1209 Color selectionColor(int colorProperty) const; |
(...skipping 175 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1382 void setIsDragging(bool b) { m_bitfields.setIsDragging(b); } | 1385 void setIsDragging(bool b) { m_bitfields.setIsDragging(b); } |
1383 void setEverHadLayout(bool b) { m_bitfields.setEverHadLayout(b); } | 1386 void setEverHadLayout(bool b) { m_bitfields.setEverHadLayout(b); } |
1384 void setShouldInvalidateOverflowForPaint(bool b) { m_bitfields.setShouldInva
lidateOverflowForPaint(b); } | 1387 void setShouldInvalidateOverflowForPaint(bool b) { m_bitfields.setShouldInva
lidateOverflowForPaint(b); } |
1385 void setSelfNeedsOverflowRecalcAfterStyleChange(bool b) { m_bitfields.setSel
fNeedsOverflowRecalcAfterStyleChange(b); } | 1388 void setSelfNeedsOverflowRecalcAfterStyleChange(bool b) { m_bitfields.setSel
fNeedsOverflowRecalcAfterStyleChange(b); } |
1386 void setChildNeedsOverflowRecalcAfterStyleChange(bool b) { m_bitfields.setCh
ildNeedsOverflowRecalcAfterStyleChange(b); } | 1389 void setChildNeedsOverflowRecalcAfterStyleChange(bool b) { m_bitfields.setCh
ildNeedsOverflowRecalcAfterStyleChange(b); } |
1387 | 1390 |
1388 private: | 1391 private: |
1389 // Store state between styleWillChange and styleDidChange | 1392 // Store state between styleWillChange and styleDidChange |
1390 static bool s_affectsParentBlock; | 1393 static bool s_affectsParentBlock; |
1391 | 1394 |
1392 // This stores the paint invalidation rect from the previous layout. | 1395 // This stores the paint invalidation rect from the previous frame. |
1393 LayoutRect m_previousPaintInvalidationRect; | 1396 LayoutRect m_previousPaintInvalidationRect; |
1394 | 1397 |
1395 // This stores the position in the paint invalidation backing's coordinate. | 1398 // This stores the position in the paint invalidation backing's coordinate. |
1396 // It is used to detect renderer shifts that forces a full invalidation. | 1399 // It is used to detect renderer shifts that forces a full invalidation. |
1397 LayoutPoint m_previousPositionFromPaintInvalidationBacking; | 1400 LayoutPoint m_previousPositionFromPaintInvalidationBacking; |
1398 | 1401 |
1399 static unsigned s_instanceCount; | 1402 static unsigned s_instanceCount; |
1400 }; | 1403 }; |
1401 | 1404 |
1402 // FIXME: remove this once the render object lifecycle ASSERTS are no longer hit
. | 1405 // FIXME: remove this once the render object lifecycle ASSERTS are no longer hit
. |
(...skipping 208 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1611 void showTree(const blink::RenderObject*); | 1614 void showTree(const blink::RenderObject*); |
1612 void showLineTree(const blink::RenderObject*); | 1615 void showLineTree(const blink::RenderObject*); |
1613 void showRenderTree(const blink::RenderObject* object1); | 1616 void showRenderTree(const blink::RenderObject* object1); |
1614 // We don't make object2 an optional parameter so that showRenderTree | 1617 // We don't make object2 an optional parameter so that showRenderTree |
1615 // can be called from gdb easily. | 1618 // can be called from gdb easily. |
1616 void showRenderTree(const blink::RenderObject* object1, const blink::RenderObjec
t* object2); | 1619 void showRenderTree(const blink::RenderObject* object1, const blink::RenderObjec
t* object2); |
1617 | 1620 |
1618 #endif | 1621 #endif |
1619 | 1622 |
1620 #endif // RenderObject_h | 1623 #endif // RenderObject_h |
OLD | NEW |