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

Side by Side Diff: Source/core/rendering/RenderObject.h

Issue 403593005: Clear scrollbar damages in time (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: For landing Created 6 years, 4 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 | Annotate | Revision Log
« no previous file with comments | « Source/core/rendering/RenderBox.cpp ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 1018 matching lines...) Expand 10 before | Expand all | Expand 10 after
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
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
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
OLDNEW
« no previous file with comments | « Source/core/rendering/RenderBox.cpp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698