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 119 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
130 // FIXME: Should share code with RenderBox::invalidateTreeAfterLayout(). | 130 // FIXME: Should share code with RenderBox::invalidateTreeAfterLayout(). |
131 ASSERT(!needsLayout()); | 131 ASSERT(!needsLayout()); |
132 | 132 |
133 if (!shouldCheckForPaintInvalidationAfterLayout()) | 133 if (!shouldCheckForPaintInvalidationAfterLayout()) |
134 return; | 134 return; |
135 | 135 |
136 ForceHorriblySlowRectMapping slowRectMapping(&paintInvalidationState); | 136 ForceHorriblySlowRectMapping slowRectMapping(&paintInvalidationState); |
137 | 137 |
138 const LayoutRect oldPaintInvalidationRect = previousPaintInvalidationRect(); | 138 const LayoutRect oldPaintInvalidationRect = previousPaintInvalidationRect(); |
139 const LayoutPoint oldPositionFromPaintInvalidationContainer = previousPositi onFromPaintInvalidationContainer(); | 139 const LayoutPoint oldPositionFromPaintInvalidationContainer = previousPositi onFromPaintInvalidationContainer(); |
140 ASSERT(paintInvalidationState.paintInvalidationContainer() == containerForPa intInvalidation()); | 140 ASSERT(paintInvalidationState.paintInvalidationContainer() == containerForPa intInvalidation()); |
Xianzhu
2014/07/08 17:53:39
I'm wondering why we are allowing comparison betwe
leviw_travelin_and_unemployed
2014/07/08 18:39:17
You're right. That seems wrong. How about fixing i
| |
141 setPreviousPaintInvalidationRect(boundsRectForPaintInvalidation(&paintInvali dationState.paintInvalidationContainer(), &paintInvalidationState)); | 141 setPreviousPaintInvalidationRect(boundsRectForPaintInvalidation(&paintInvali dationState.paintInvalidationContainer(), &paintInvalidationState)); |
142 setPreviousPositionFromPaintInvalidationContainer(RenderLayer::positionFromP aintInvalidationContainer(this, &paintInvalidationState.paintInvalidationContain er(), &paintInvalidationState)); | 142 setPreviousPositionFromPaintInvalidationContainer(RenderLayer::positionFromP aintInvalidationContainer(this, &paintInvalidationState.paintInvalidationContain er(), &paintInvalidationState)); |
143 | 143 |
144 // If an ancestor container had its transform changed, then we just | 144 // If an ancestor container had its transform changed, then we just |
145 // need to update the RenderSVGModelObject's repaint rect above. The invalid ation | 145 // 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 | 146 // will be handled by the container where the transform changed. This essent ially |
147 // means that we prune the entire branch for performance. | 147 // means that we prune the entire branch for performance. |
148 if (!SVGRenderSupport::parentTransformDidChange(this)) | 148 if (!SVGRenderSupport::parentTransformDidChange(this)) |
149 return; | 149 return; |
150 | 150 |
151 // If we are set to do a full paint invalidation that means the RenderView w ill be | 151 // 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 | 152 // 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. | 153 // renderers as they'll be covered by the RenderView. |
154 if (view()->doingFullRepaint()) { | 154 if (view()->doingFullRepaint()) { |
155 RenderObject::invalidateTreeAfterLayout(paintInvalidationState); | 155 RenderObject::invalidateTreeAfterLayout(paintInvalidationState); |
156 return; | 156 return; |
157 } | 157 } |
158 | 158 |
159 invalidatePaintIfNeeded(containerForPaintInvalidation(), oldPaintInvalidatio nRect, oldPositionFromPaintInvalidationContainer); | 159 invalidatePaintIfNeeded(paintInvalidationState.paintInvalidationContainer(), oldPaintInvalidationRect, oldPositionFromPaintInvalidationContainer); |
160 | 160 |
161 RenderObject::invalidateTreeAfterLayout(paintInvalidationState); | 161 RenderObject::invalidateTreeAfterLayout(paintInvalidationState); |
162 } | 162 } |
163 | 163 |
164 } // namespace WebCore | 164 } // namespace WebCore |
OLD | NEW |