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

Side by Side Diff: Source/core/rendering/compositing/CompositedLayerMapping.cpp

Issue 309093002: Issue repaints before and after changing the squashing assignment of a RenderLayer. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Merged. Created 6 years, 6 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
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2009, 2010, 2011 Apple Inc. All rights reserved. 2 * Copyright (C) 2009, 2010, 2011 Apple 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 5 * modification, are permitted provided that the following conditions
6 * are met: 6 * are met:
7 * 1. Redistributions of source code must retain the above copyright 7 * 1. Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer. 8 * notice, this list of conditions and the following disclaimer.
9 * 2. Redistributions in binary form must reproduce the above copyright 9 * 2. Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the 10 * notice, this list of conditions and the following disclaimer in the
(...skipping 2164 matching lines...) Expand 10 before | Expand all | Expand 10 after
2175 // NOTE: composited bounds are updated elsewhere 2175 // NOTE: composited bounds are updated elsewhere
2176 // NOTE: offsetFromRenderer is updated elsewhere 2176 // NOTE: offsetFromRenderer is updated elsewhere
2177 paintInfo.paintingPhase = GraphicsLayerPaintAllWithOverflowClip; 2177 paintInfo.paintingPhase = GraphicsLayerPaintAllWithOverflowClip;
2178 paintInfo.isBackgroundLayer = false; 2178 paintInfo.isBackgroundLayer = false;
2179 2179
2180 // Change tracking on squashing layers: at the first sign of something chang ed, just invalidate the layer. 2180 // Change tracking on squashing layers: at the first sign of something chang ed, just invalidate the layer.
2181 // FIXME: Perhaps we can find a tighter more clever mechanism later. 2181 // FIXME: Perhaps we can find a tighter more clever mechanism later.
2182 bool updatedAssignment = false; 2182 bool updatedAssignment = false;
2183 if (nextSquashedLayerIndex < m_squashedLayers.size()) { 2183 if (nextSquashedLayerIndex < m_squashedLayers.size()) {
2184 if (!paintInfo.isEquivalentForSquashing(m_squashedLayers[nextSquashedLay erIndex])) { 2184 if (!paintInfo.isEquivalentForSquashing(m_squashedLayers[nextSquashedLay erIndex])) {
2185 compositor()->repaintOnCompositingChange(squashedLayer);
2185 updatedAssignment = true; 2186 updatedAssignment = true;
2186 m_squashedLayers[nextSquashedLayerIndex] = paintInfo; 2187 m_squashedLayers[nextSquashedLayerIndex] = paintInfo;
2187 } 2188 }
2188 } else { 2189 } else {
2190 compositor()->repaintOnCompositingChange(squashedLayer);
2189 m_squashedLayers.append(paintInfo); 2191 m_squashedLayers.append(paintInfo);
2190 updatedAssignment = true; 2192 updatedAssignment = true;
2191 } 2193 }
2192 squashedLayer->setGroupedMapping(this); 2194 squashedLayer->setGroupedMapping(this);
2193 return updatedAssignment; 2195 return updatedAssignment;
2194 } 2196 }
2195 2197
2196 void CompositedLayerMapping::removeRenderLayerFromSquashingGraphicsLayer(const R enderLayer* layer) 2198 void CompositedLayerMapping::removeRenderLayerFromSquashingGraphicsLayer(const R enderLayer* layer)
2197 { 2199 {
2198 size_t layerIndex = kNotFound; 2200 size_t layerIndex = kNotFound;
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
2253 } else if (graphicsLayer == m_scrollingContentsLayer.get()) { 2255 } else if (graphicsLayer == m_scrollingContentsLayer.get()) {
2254 name = "Scrolling Contents Layer"; 2256 name = "Scrolling Contents Layer";
2255 } else { 2257 } else {
2256 ASSERT_NOT_REACHED(); 2258 ASSERT_NOT_REACHED();
2257 } 2259 }
2258 2260
2259 return name; 2261 return name;
2260 } 2262 }
2261 2263
2262 } // namespace WebCore 2264 } // namespace WebCore
OLDNEW
« no previous file with comments | « Source/core/rendering/RenderLayerRepainter.cpp ('k') | Source/core/rendering/compositing/CompositingLayerAssigner.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698