| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (c) 2009, Google Inc. All rights reserved. | 2 * Copyright (c) 2009, Google Inc. All rights reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
| 6 * met: | 6 * met: |
| 7 * | 7 * |
| 8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
| (...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 126 | 126 |
| 127 void RenderSVGModelObject::invalidateTreeIfNeeded(const PaintInvalidationState&
paintInvalidationState) | 127 void RenderSVGModelObject::invalidateTreeIfNeeded(const PaintInvalidationState&
paintInvalidationState) |
| 128 { | 128 { |
| 129 // Note: This is a reduced version of RenderBox::invalidateTreeIfNeeded(). | 129 // Note: This is a reduced version of RenderBox::invalidateTreeIfNeeded(). |
| 130 // FIXME: Should share code with RenderBox::invalidateTreeIfNeeded(). | 130 // FIXME: Should share code with RenderBox::invalidateTreeIfNeeded(). |
| 131 ASSERT(!needsLayout()); | 131 ASSERT(!needsLayout()); |
| 132 | 132 |
| 133 if (!shouldCheckForPaintInvalidation()) | 133 if (!shouldCheckForPaintInvalidation()) |
| 134 return; | 134 return; |
| 135 | 135 |
| 136 invalidatePaintIfNeeded(paintInvalidationState); |
| 137 |
| 138 RenderObject::invalidateTreeIfNeeded(paintInvalidationState); |
| 139 } |
| 140 |
| 141 void RenderSVGModelObject::invalidatePaintIfNeeded(const PaintInvalidationState&
paintInvalidationState) |
| 142 { |
| 136 ForceHorriblySlowRectMapping slowRectMapping(&paintInvalidationState); | 143 ForceHorriblySlowRectMapping slowRectMapping(&paintInvalidationState); |
| 137 | 144 |
| 138 const LayoutRect oldPaintInvalidationRect = previousPaintInvalidationRect(); | 145 const LayoutRect oldPaintInvalidationRect = previousPaintInvalidationRect(); |
| 139 const LayoutPoint oldPositionFromPaintInvalidationContainer = previousPositi
onFromPaintInvalidationContainer(); | 146 const LayoutPoint oldPositionFromPaintInvalidationContainer = previousPositi
onFromPaintInvalidationContainer(); |
| 140 ASSERT(paintInvalidationState.paintInvalidationContainer() == containerForPa
intInvalidation()); | 147 ASSERT(paintInvalidationState.paintInvalidationContainer() == containerForPa
intInvalidation()); |
| 141 setPreviousPaintInvalidationRect(boundsRectForPaintInvalidation(&paintInvali
dationState.paintInvalidationContainer(), &paintInvalidationState)); | 148 setPreviousPaintInvalidationRect(boundsRectForPaintInvalidation(&paintInvali
dationState.paintInvalidationContainer(), &paintInvalidationState)); |
| 142 setPreviousPositionFromPaintInvalidationContainer(RenderLayer::positionFromP
aintInvalidationContainer(this, &paintInvalidationState.paintInvalidationContain
er(), &paintInvalidationState)); | 149 setPreviousPositionFromPaintInvalidationContainer(RenderLayer::positionFromP
aintInvalidationContainer(this, &paintInvalidationState.paintInvalidationContain
er(), &paintInvalidationState)); |
| 143 | 150 |
| 144 // If an ancestor container had its transform changed, then we just | 151 // If an ancestor container had its transform changed, then we just |
| 145 // need to update the RenderSVGModelObject's repaint rect above. The invalid
ation | 152 // need to update the RenderSVGModelObject's repaint rect above. The invalid
ation |
| 146 // will be handled by the container where the transform changed. This essent
ially | 153 // will be handled by the container where the transform changed. This essent
ially |
| 147 // means that we prune the entire branch for performance. | 154 // means that we prune the entire branch for performance. |
| 148 if (!SVGRenderSupport::parentTransformDidChange(this)) | 155 if (!SVGRenderSupport::parentTransformDidChange(this)) |
| 149 return; | 156 return; |
| 150 | 157 |
| 151 // If we are set to do a full paint invalidation that means the RenderView w
ill be | 158 // If we are set to do a full paint invalidation that means the RenderView w
ill be |
| 152 // issue paint invalidations. We can then skip issuing of paint invalidation
s for the child | 159 // issue paint invalidations. We can then skip issuing of paint invalidation
s for the child |
| 153 // renderers as they'll be covered by the RenderView. | 160 // renderers as they'll be covered by the RenderView. |
| 154 if (view()->doingFullRepaint()) { | 161 if (view()->doingFullRepaint()) |
| 155 RenderObject::invalidateTreeIfNeeded(paintInvalidationState); | |
| 156 return; | 162 return; |
| 157 } | |
| 158 | 163 |
| 159 invalidatePaintIfNeeded(paintInvalidationState.paintInvalidationContainer(),
oldPaintInvalidationRect, oldPositionFromPaintInvalidationContainer, paintInval
idationState); | 164 RenderObject::invalidatePaintIfNeeded(paintInvalidationState.paintInvalidati
onContainer(), oldPaintInvalidationRect, oldPositionFromPaintInvalidationContain
er, paintInvalidationState); |
| 160 | |
| 161 RenderObject::invalidateTreeIfNeeded(paintInvalidationState); | |
| 162 } | 165 } |
| 163 | 166 |
| 164 } // namespace blink | 167 } // namespace blink |
| OLD | NEW |