| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2004, 2005, 2007 Nikolas Zimmermann <zimmermann@kde.org> | 2 * Copyright (C) 2004, 2005, 2007 Nikolas Zimmermann <zimmermann@kde.org> |
| 3 * Copyright (C) 2004, 2005, 2007, 2008, 2009 Rob Buis <buis@kde.org> | 3 * Copyright (C) 2004, 2005, 2007, 2008, 2009 Rob Buis <buis@kde.org> |
| 4 * Copyright (C) 2007 Eric Seidel <eric@webkit.org> | 4 * Copyright (C) 2007 Eric Seidel <eric@webkit.org> |
| 5 * Copyright (C) 2009 Google, Inc. | 5 * Copyright (C) 2009 Google, Inc. |
| 6 * Copyright (C) Research In Motion Limited 2011. All rights reserved. | 6 * Copyright (C) Research In Motion Limited 2011. All rights reserved. |
| 7 * | 7 * |
| 8 * This library is free software; you can redistribute it and/or | 8 * This library is free software; you can redistribute it and/or |
| 9 * modify it under the terms of the GNU Library General Public | 9 * modify it under the terms of the GNU Library General Public |
| 10 * License as published by the Free Software Foundation; either | 10 * License as published by the Free Software Foundation; either |
| (...skipping 281 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 292 childPaintInfo.context->save(); | 292 childPaintInfo.context->save(); |
| 293 | 293 |
| 294 // Apply initial viewport clip - not affected by overflow handling | 294 // Apply initial viewport clip - not affected by overflow handling |
| 295 childPaintInfo.context->clip(pixelSnappedIntRect(overflowClipRect(paintOffse
t, paintInfo.renderRegion))); | 295 childPaintInfo.context->clip(pixelSnappedIntRect(overflowClipRect(paintOffse
t, paintInfo.renderRegion))); |
| 296 | 296 |
| 297 // Convert from container offsets (html renderers) to a relative transform (
svg renderers). | 297 // Convert from container offsets (html renderers) to a relative transform (
svg renderers). |
| 298 // Transform from our paint container's coordinate system to our local coord
s. | 298 // Transform from our paint container's coordinate system to our local coord
s. |
| 299 IntPoint adjustedPaintOffset = roundedIntPoint(paintOffset); | 299 IntPoint adjustedPaintOffset = roundedIntPoint(paintOffset); |
| 300 childPaintInfo.applyTransform(AffineTransform::translation(adjustedPaintOffs
et.x(), adjustedPaintOffset.y()) * localToBorderBoxTransform()); | 300 childPaintInfo.applyTransform(AffineTransform::translation(adjustedPaintOffs
et.x(), adjustedPaintOffset.y()) * localToBorderBoxTransform()); |
| 301 | 301 |
| 302 SVGRenderingContext renderingContext; | 302 // SVGRenderingContext must be destroyed before we restore the childPaintInf
o.context, because a filter may have |
| 303 bool continueRendering = true; | 303 // changed the context and it is only reverted when the SVGRenderingContext
destructor finishes applying the filter. |
| 304 if (childPaintInfo.phase == PaintPhaseForeground) { | 304 { |
| 305 renderingContext.prepareToRenderSVGContent(this, childPaintInfo); | 305 SVGRenderingContext renderingContext; |
| 306 continueRendering = renderingContext.isRenderingPrepared(); | 306 bool continueRendering = true; |
| 307 if (childPaintInfo.phase == PaintPhaseForeground) { |
| 308 renderingContext.prepareToRenderSVGContent(this, childPaintInfo); |
| 309 continueRendering = renderingContext.isRenderingPrepared(); |
| 310 } |
| 311 |
| 312 if (continueRendering) |
| 313 RenderBox::paint(childPaintInfo, LayoutPoint()); |
| 307 } | 314 } |
| 308 | 315 |
| 309 if (continueRendering) | |
| 310 RenderBox::paint(childPaintInfo, LayoutPoint()); | |
| 311 | |
| 312 childPaintInfo.context->restore(); | 316 childPaintInfo.context->restore(); |
| 313 } | 317 } |
| 314 | 318 |
| 315 void RenderSVGRoot::willBeDestroyed() | 319 void RenderSVGRoot::willBeDestroyed() |
| 316 { | 320 { |
| 317 RenderBlock::removePercentHeightDescendant(const_cast<RenderSVGRoot*>(this))
; | 321 RenderBlock::removePercentHeightDescendant(const_cast<RenderSVGRoot*>(this))
; |
| 318 | 322 |
| 319 SVGResourcesCache::clientDestroyed(this); | 323 SVGResourcesCache::clientDestroyed(this); |
| 320 RenderReplaced::willBeDestroyed(); | 324 RenderReplaced::willBeDestroyed(); |
| 321 } | 325 } |
| (...skipping 153 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 475 while (svgRoot && !svgRoot->isSVGRoot()) | 479 while (svgRoot && !svgRoot->isSVGRoot()) |
| 476 svgRoot = svgRoot->parent(); | 480 svgRoot = svgRoot->parent(); |
| 477 if (!svgRoot) | 481 if (!svgRoot) |
| 478 return; | 482 return; |
| 479 static_cast<RenderSVGRoot*>(svgRoot)->m_resourcesNeedingToInvalidateClients.
add(resource); | 483 static_cast<RenderSVGRoot*>(svgRoot)->m_resourcesNeedingToInvalidateClients.
add(resource); |
| 480 } | 484 } |
| 481 | 485 |
| 482 } | 486 } |
| 483 | 487 |
| 484 #endif // ENABLE(SVG) | 488 #endif // ENABLE(SVG) |
| OLD | NEW |