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 1018 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1029 { | 1029 { |
1030 m_bitfields.setShouldDoFullPaintInvalidationIfSelfPaintingLayer(b); | 1030 m_bitfields.setShouldDoFullPaintInvalidationIfSelfPaintingLayer(b); |
1031 | 1031 |
1032 if (b) | 1032 if (b) |
1033 markContainingBlockChainForPaintInvalidation(); | 1033 markContainingBlockChainForPaintInvalidation(); |
1034 } | 1034 } |
1035 | 1035 |
1036 bool onlyNeededPositionedMovementLayout() const { return m_bitfields.onlyNee
dedPositionedMovementLayout(); } | 1036 bool onlyNeededPositionedMovementLayout() const { return m_bitfields.onlyNee
dedPositionedMovementLayout(); } |
1037 void setOnlyNeededPositionedMovementLayout(bool b) { m_bitfields.setOnlyNeed
edPositionedMovementLayout(b); } | 1037 void setOnlyNeededPositionedMovementLayout(bool b) { m_bitfields.setOnlyNeed
edPositionedMovementLayout(b); } |
1038 | 1038 |
1039 void clearPaintInvalidationState(); | 1039 virtual void clearPaintInvalidationState(); |
1040 | 1040 |
1041 // layoutDidGetCalled indicates whether this render object was re-laid-out | 1041 // layoutDidGetCalled indicates whether this render object was re-laid-out |
1042 // since the last call to setLayoutDidGetCalled(false) on this object. | 1042 // since the last call to setLayoutDidGetCalled(false) on this object. |
1043 bool layoutDidGetCalled() const { return m_bitfields.layoutDidGetCalled(); } | 1043 bool layoutDidGetCalled() const { return m_bitfields.layoutDidGetCalled(); } |
1044 void setLayoutDidGetCalled(bool b) { m_bitfields.setLayoutDidGetCalled(b); } | 1044 void setLayoutDidGetCalled(bool b) { m_bitfields.setLayoutDidGetCalled(b); } |
1045 | 1045 |
1046 bool mayNeedPaintInvalidation() const { return m_bitfields.mayNeedPaintInval
idation(); } | 1046 bool mayNeedPaintInvalidation() const { return m_bitfields.mayNeedPaintInval
idation(); } |
1047 void setMayNeedPaintInvalidation(bool b) | 1047 void setMayNeedPaintInvalidation(bool b) |
1048 { | 1048 { |
1049 m_bitfields.setMayNeedPaintInvalidation(b); | 1049 m_bitfields.setMayNeedPaintInvalidation(b); |
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1117 // Add hit-test rects for this renderer only to the provided list. layerOffs
et is the offset | 1117 // Add hit-test rects for this renderer only to the provided list. layerOffs
et is the offset |
1118 // of this renderer within the current layer that should be used for each re
sult. | 1118 // of this renderer within the current layer that should be used for each re
sult. |
1119 virtual void computeSelfHitTestRects(Vector<LayoutRect>&, const LayoutPoint&
layerOffset) const { }; | 1119 virtual void computeSelfHitTestRects(Vector<LayoutRect>&, const LayoutPoint&
layerOffset) const { }; |
1120 | 1120 |
1121 virtual InvalidationReason getPaintInvalidationReason(const RenderLayerModel
Object& paintInvalidationContainer, | 1121 virtual InvalidationReason getPaintInvalidationReason(const RenderLayerModel
Object& paintInvalidationContainer, |
1122 const LayoutRect& oldBounds, const LayoutPoint& oldPositionFromPaintInva
lidationContainer, | 1122 const LayoutRect& oldBounds, const LayoutPoint& oldPositionFromPaintInva
lidationContainer, |
1123 const LayoutRect& newBounds, const LayoutPoint& newPositionFromPaintInva
lidationContainer); | 1123 const LayoutRect& newBounds, const LayoutPoint& newPositionFromPaintInva
lidationContainer); |
1124 void incrementallyInvalidatePaint(const RenderLayerModelObject& paintInvalid
ationContainer, const LayoutRect& oldBounds, const LayoutRect& newBounds); | 1124 void incrementallyInvalidatePaint(const RenderLayerModelObject& paintInvalid
ationContainer, const LayoutRect& oldBounds, const LayoutRect& newBounds); |
1125 void fullyInvalidatePaint(const RenderLayerModelObject& paintInvalidationCon
tainer, InvalidationReason, const LayoutRect& oldBounds, const LayoutRect& newBo
unds); | 1125 void fullyInvalidatePaint(const RenderLayerModelObject& paintInvalidationCon
tainer, InvalidationReason, const LayoutRect& oldBounds, const LayoutRect& newBo
unds); |
1126 | 1126 |
| 1127 #if ENABLE(ASSERT) |
| 1128 virtual bool paintInvalidationStateIsDirty() const |
| 1129 { |
| 1130 return layoutDidGetCalled() || shouldDoFullPaintInvalidation() || should
DoFullPaintInvalidationIfSelfPaintingLayer() |
| 1131 || onlyNeededPositionedMovementLayout() || neededLayoutBecauseOfChil
dren() || mayNeedPaintInvalidation(); |
| 1132 } |
| 1133 #endif |
| 1134 |
1127 private: | 1135 private: |
1128 const RenderLayerModelObject* enclosingCompositedContainer() const; | 1136 const RenderLayerModelObject* enclosingCompositedContainer() const; |
1129 | 1137 |
1130 RenderBlock* containerForFixedPosition(const RenderLayerModelObject* paintIn
validationContainer = 0, bool* paintInvalidationContainerSkipped = 0) const; | 1138 RenderBlock* containerForFixedPosition(const RenderLayerModelObject* paintIn
validationContainer = 0, bool* paintInvalidationContainerSkipped = 0) const; |
1131 | 1139 |
1132 RenderFlowThread* locateFlowThreadContainingBlock() const; | 1140 RenderFlowThread* locateFlowThreadContainingBlock() const; |
1133 void removeFromRenderFlowThread(); | 1141 void removeFromRenderFlowThread(); |
1134 void removeFromRenderFlowThreadRecursive(RenderFlowThread*); | 1142 void removeFromRenderFlowThreadRecursive(RenderFlowThread*); |
1135 | 1143 |
1136 bool hasImmediateNonWhitespaceTextChildOrPropertiesDependentOnColor() const; | 1144 bool hasImmediateNonWhitespaceTextChildOrPropertiesDependentOnColor() const; |
1137 | 1145 |
1138 RenderStyle* cachedFirstLineStyle() const; | 1146 RenderStyle* cachedFirstLineStyle() const; |
1139 StyleDifference adjustStyleDifference(StyleDifference) const; | 1147 StyleDifference adjustStyleDifference(StyleDifference) const; |
1140 | 1148 |
1141 Color selectionColor(int colorProperty) const; | 1149 Color selectionColor(int colorProperty) const; |
1142 | 1150 |
1143 void removeShapeImageClient(ShapeValue*); | 1151 void removeShapeImageClient(ShapeValue*); |
1144 | 1152 |
1145 #if ENABLE(ASSERT) | 1153 #if ENABLE(ASSERT) |
1146 void checkBlockPositionedObjectsNeedLayout(); | 1154 void checkBlockPositionedObjectsNeedLayout(); |
1147 | |
1148 bool paintInvalidationStateIsDirty() const | |
1149 { | |
1150 return layoutDidGetCalled() || shouldDoFullPaintInvalidation() || should
DoFullPaintInvalidationIfSelfPaintingLayer() | |
1151 || onlyNeededPositionedMovementLayout() || neededLayoutBecauseOfChil
dren() || mayNeedPaintInvalidation(); | |
1152 } | |
1153 #endif | 1155 #endif |
1154 const char* invalidationReasonToString(InvalidationReason) const; | 1156 const char* invalidationReasonToString(InvalidationReason) const; |
1155 | 1157 |
1156 void markContainingBlockChainForPaintInvalidation() | 1158 void markContainingBlockChainForPaintInvalidation() |
1157 { | 1159 { |
1158 for (RenderObject* container = this->container(); container && !containe
r->shouldCheckForPaintInvalidation(); container = container->container()) | 1160 for (RenderObject* container = this->container(); container && !containe
r->shouldCheckForPaintInvalidation(); container = container->container()) |
1159 container->setMayNeedPaintInvalidation(true); | 1161 container->setMayNeedPaintInvalidation(true); |
1160 } | 1162 } |
1161 | 1163 |
1162 static bool isAllowedToModifyRenderTreeStructure(Document&); | 1164 static bool isAllowedToModifyRenderTreeStructure(Document&); |
(...skipping 369 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1532 void showTree(const blink::RenderObject*); | 1534 void showTree(const blink::RenderObject*); |
1533 void showLineTree(const blink::RenderObject*); | 1535 void showLineTree(const blink::RenderObject*); |
1534 void showRenderTree(const blink::RenderObject* object1); | 1536 void showRenderTree(const blink::RenderObject* object1); |
1535 // We don't make object2 an optional parameter so that showRenderTree | 1537 // We don't make object2 an optional parameter so that showRenderTree |
1536 // can be called from gdb easily. | 1538 // can be called from gdb easily. |
1537 void showRenderTree(const blink::RenderObject* object1, const blink::RenderObjec
t* object2); | 1539 void showRenderTree(const blink::RenderObject* object1, const blink::RenderObjec
t* object2); |
1538 | 1540 |
1539 #endif | 1541 #endif |
1540 | 1542 |
1541 #endif // RenderObject_h | 1543 #endif // RenderObject_h |
OLD | NEW |