| 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 124 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 135 return; | 135 return; |
| 136 | 136 |
| 137 LayoutStateDisabler layoutStateDisabler(*this); | 137 LayoutStateDisabler layoutStateDisabler(*this); |
| 138 | 138 |
| 139 const LayoutRect oldPaintInvalidationRect = previousPaintInvalidationRect(); | 139 const LayoutRect oldPaintInvalidationRect = previousPaintInvalidationRect(); |
| 140 const LayoutPoint oldPositionFromPaintInvalidationContainer = previousPositi
onFromPaintInvalidationContainer(); | 140 const LayoutPoint oldPositionFromPaintInvalidationContainer = previousPositi
onFromPaintInvalidationContainer(); |
| 141 const RenderLayerModelObject& newPaintInvalidationContainer = *containerForR
epaint(); | 141 const RenderLayerModelObject& newPaintInvalidationContainer = *containerForR
epaint(); |
| 142 setPreviousPaintInvalidationRect(clippedOverflowRectForRepaint(&newPaintInva
lidationContainer)); | 142 setPreviousPaintInvalidationRect(clippedOverflowRectForRepaint(&newPaintInva
lidationContainer)); |
| 143 setPreviousPositionFromPaintInvalidationContainer(positionFromRepaintContain
er(&newPaintInvalidationContainer)); | 143 setPreviousPositionFromPaintInvalidationContainer(positionFromRepaintContain
er(&newPaintInvalidationContainer)); |
| 144 | 144 |
| 145 // If an ancestor container had its transform changed, then we just |
| 146 // need to update the RenderSVGModelObject's repaint rect above. The invalid
ation |
| 147 // will be handled by the container where the transform changed. This essent
ially |
| 148 // means that we prune the entire branch for performance. |
| 149 if (!SVGRenderSupport::parentTransformDidChange(this)) |
| 150 return; |
| 151 |
| 145 // If we are set to do a full paint invalidation that means the RenderView w
ill be | 152 // If we are set to do a full paint invalidation that means the RenderView w
ill be |
| 146 // issue paint invalidations. We can then skip issuing of paint invalidation
s for the child | 153 // issue paint invalidations. We can then skip issuing of paint invalidation
s for the child |
| 147 // renderers as they'll be covered by the RenderView. | 154 // renderers as they'll be covered by the RenderView. |
| 148 if (view()->doingFullRepaint()) { | 155 if (view()->doingFullRepaint()) { |
| 149 RenderObject::invalidateTreeAfterLayout(newPaintInvalidationContainer); | 156 RenderObject::invalidateTreeAfterLayout(newPaintInvalidationContainer); |
| 150 return; | 157 return; |
| 151 } | 158 } |
| 152 | 159 |
| 153 const LayoutRect& newPaintInvalidationRect = previousPaintInvalidationRect()
; | 160 const LayoutRect& newPaintInvalidationRect = previousPaintInvalidationRect()
; |
| 154 const LayoutPoint& newPositionFromPaintInvalidationContainer = previousPosit
ionFromPaintInvalidationContainer(); | 161 const LayoutPoint& newPositionFromPaintInvalidationContainer = previousPosit
ionFromPaintInvalidationContainer(); |
| 155 repaintAfterLayoutIfNeeded(containerForRepaint(), | 162 repaintAfterLayoutIfNeeded(containerForRepaint(), |
| 156 shouldDoFullPaintInvalidationAfterLayout(), oldPaintInvalidationRect, ol
dPositionFromPaintInvalidationContainer, | 163 shouldDoFullPaintInvalidationAfterLayout(), oldPaintInvalidationRect, ol
dPositionFromPaintInvalidationContainer, |
| 157 &newPaintInvalidationRect, &newPositionFromPaintInvalidationContainer); | 164 &newPaintInvalidationRect, &newPositionFromPaintInvalidationContainer); |
| 158 | 165 |
| 159 RenderObject::invalidateTreeAfterLayout(newPaintInvalidationContainer); | 166 RenderObject::invalidateTreeAfterLayout(newPaintInvalidationContainer); |
| 160 } | 167 } |
| 161 | 168 |
| 162 } // namespace WebCore | 169 } // namespace WebCore |
| OLD | NEW |