ClipRects* PaintLayerClipper::getClipRects(const ClipRectsContext& context) const { if (ClipRects* result = clipRectsIfCached(context)) return result; // Note that it's important that we call getClipRects on our parent // before we call calculateClipRects so that calculateClipRects will hit // the cache. ClipRects* parentClipRects = 0; if (context.rootLayer != m_layoutObject.layer() && m_layoutObject.layer()->parent()) parentClipRects = m_layoutObject.layer()->parent()->clipper().getClipRects(context); RefPtr<ClipRects> clipRects = ClipRects::create(); calculateClipRects(context, *clipRects); return storeClipRectsInCache(context, parentClipRects, *clipRects); }
ClipRects* RenderLayerClipper::getClipRects(const ClipRectsContext& context) const { if (ClipRects* result = clipRectsIfCached(context)) return result; // Note that it's important that we call getClipRects on our parent // before we call calculateClipRects so that calculateClipRects will hit // the cache. ClipRects* parentClipRects = 0; if (context.rootLayer != m_renderer.layer() && m_renderer.layer()->parent()) parentClipRects = m_renderer.layer()->parent()->clipper().getClipRects(context); ClipRects clipRects; calculateClipRects(context, clipRects); return storeClipRectsInCache(context, parentClipRects, clipRects); }