| Index: Source/core/rendering/RenderLayerRepainter.cpp
|
| diff --git a/Source/core/rendering/RenderLayerRepainter.cpp b/Source/core/rendering/RenderLayerRepainter.cpp
|
| index 9bd861e957872ccbd4f5b474121e1d90ed16d095..5f49e563350920a0d0b73ff364d386aeb45aa2ce 100644
|
| --- a/Source/core/rendering/RenderLayerRepainter.cpp
|
| +++ b/Source/core/rendering/RenderLayerRepainter.cpp
|
| @@ -206,38 +206,12 @@ void RenderLayerRepainter::setBackingNeedsRepaintInRect(const LayoutRect& r)
|
| view->repaintViewRectangle(absRect);
|
| return;
|
| }
|
| - if (m_renderer.compositingState() == PaintsIntoGroupedBacking) {
|
| - LayoutRect updatedRect(r);
|
| -
|
| - ASSERT(m_renderer.layer());
|
| - ASSERT(m_renderer.layer()->enclosingTransformedAncestor());
|
| - ASSERT(m_renderer.layer()->enclosingTransformedAncestor()->renderer());
|
| -
|
| - // FIXME: this defensive code should not have to exist. None of these pointers should ever be 0. See crbug.com/370410.
|
| - RenderLayerModelObject* transformedAncestor = 0;
|
| - if (RenderLayer* ancestor = m_renderer.layer()->enclosingTransformedAncestor())
|
| - transformedAncestor = ancestor->renderer();
|
| - if (!transformedAncestor)
|
| - return;
|
| -
|
| - // If the transformedAncestor is actually the RenderView, we might get
|
| - // confused and think that we can use LayoutState. Ideally, we'd made
|
| - // LayoutState work for all composited layers as well, but until then
|
| - // we need to disable LayoutState for squashed layers.
|
| - LayoutStateDisabler layoutStateDisabler(*transformedAncestor);
|
| -
|
| - // This code adjusts the repaint rectangle to be in the space of the transformed ancestor of the grouped (i.e. squashed)
|
| - // layer. This is because all layers that squash together need to repaint w.r.t. a single container that is
|
| - // an ancestor of all of them, in order to properly take into account any local transforms etc.
|
| - // FIXME: remove this special-case code that works around the repainting code structure.
|
| - m_renderer.computeRectForRepaint(transformedAncestor, updatedRect);
|
| - updatedRect.moveBy(-m_renderer.layer()->groupedMapping()->squashingOffsetFromTransformedAncestor());
|
| -
|
| - IntRect repaintRect = pixelSnappedIntRect(updatedRect);
|
| + IntRect repaintRect = pixelSnappedIntRect(r);
|
| + // FIXME: generalize accessors to backing GraphicsLayers so that this code is squashing-agnostic.
|
| + if (m_renderer.groupedMapping()) {
|
| if (GraphicsLayer* squashingLayer = m_renderer.groupedMapping()->squashingLayer())
|
| squashingLayer->setNeedsDisplayInRect(repaintRect);
|
| } else {
|
| - IntRect repaintRect = pixelSnappedIntRect(r);
|
| m_renderer.compositedLayerMapping()->setContentsNeedDisplayInRect(repaintRect);
|
| }
|
| }
|
| @@ -246,7 +220,6 @@ void RenderLayerRepainter::setFilterBackendNeedsRepaintingInRect(const LayoutRec
|
| {
|
| if (rect.isEmpty())
|
| return;
|
| -
|
| LayoutRect rectForRepaint = rect;
|
| m_renderer.style()->filterOutsets().expandRect(rectForRepaint);
|
|
|
|
|