| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2007 Eric Seidel <eric@webkit.org> | 2 * Copyright (C) 2007 Eric Seidel <eric@webkit.org> |
| 3 * | 3 * |
| 4 * This library is free software; you can redistribute it and/or | 4 * This library is free software; you can redistribute it and/or |
| 5 * modify it under the terms of the GNU Library General Public | 5 * modify it under the terms of the GNU Library General Public |
| 6 * License as published by the Free Software Foundation; either | 6 * License as published by the Free Software Foundation; either |
| 7 * version 2 of the License, or (at your option) any later version. | 7 * version 2 of the License, or (at your option) any later version. |
| 8 * | 8 * |
| 9 * This library is distributed in the hope that it will be useful, | 9 * This library is distributed in the hope that it will be useful, |
| 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of | 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| (...skipping 24 matching lines...) Expand all Loading... |
| 35 { | 35 { |
| 36 } | 36 } |
| 37 | 37 |
| 38 RenderSVGGradientStop::~RenderSVGGradientStop() | 38 RenderSVGGradientStop::~RenderSVGGradientStop() |
| 39 { | 39 { |
| 40 } | 40 } |
| 41 | 41 |
| 42 void RenderSVGGradientStop::styleDidChange(StyleDifference diff, const RenderSty
le* oldStyle) | 42 void RenderSVGGradientStop::styleDidChange(StyleDifference diff, const RenderSty
le* oldStyle) |
| 43 { | 43 { |
| 44 RenderObject::styleDidChange(diff, oldStyle); | 44 RenderObject::styleDidChange(diff, oldStyle); |
| 45 if (diff.hasNoChange()) | 45 if (diff == StyleDifferenceEqual) |
| 46 return; | 46 return; |
| 47 | 47 |
| 48 // <stop> elements should only be allowed to make renderers under gradient e
lements | 48 // <stop> elements should only be allowed to make renderers under gradient e
lements |
| 49 // but I can imagine a few cases we might not be catching, so let's not cras
h if our parent isn't a gradient. | 49 // but I can imagine a few cases we might not be catching, so let's not cras
h if our parent isn't a gradient. |
| 50 SVGGradientElement* gradient = gradientElement(); | 50 SVGGradientElement* gradient = gradientElement(); |
| 51 if (!gradient) | 51 if (!gradient) |
| 52 return; | 52 return; |
| 53 | 53 |
| 54 RenderObject* renderer = gradient->renderer(); | 54 RenderObject* renderer = gradient->renderer(); |
| 55 if (!renderer) | 55 if (!renderer) |
| 56 return; | 56 return; |
| 57 | 57 |
| 58 RenderSVGResourceContainer* container = toRenderSVGResourceContainer(rendere
r); | 58 RenderSVGResourceContainer* container = toRenderSVGResourceContainer(rendere
r); |
| 59 container->removeAllClientsFromCache(); | 59 container->removeAllClientsFromCache(); |
| 60 } | 60 } |
| 61 | 61 |
| 62 void RenderSVGGradientStop::layout() | 62 void RenderSVGGradientStop::layout() |
| 63 { | 63 { |
| 64 clearNeedsLayout(); | 64 clearNeedsLayout(); |
| 65 } | 65 } |
| 66 | 66 |
| 67 SVGGradientElement* RenderSVGGradientStop::gradientElement() const | 67 SVGGradientElement* RenderSVGGradientStop::gradientElement() const |
| 68 { | 68 { |
| 69 ContainerNode* parentNode = node()->parentNode(); | 69 ContainerNode* parentNode = node()->parentNode(); |
| 70 ASSERT(parentNode); | 70 ASSERT(parentNode); |
| 71 return isSVGGradientElement(*parentNode) ? toSVGGradientElement(parentNode)
: 0; | 71 return isSVGGradientElement(*parentNode) ? toSVGGradientElement(parentNode)
: 0; |
| 72 } | 72 } |
| 73 | 73 |
| 74 } | 74 } |
| OLD | NEW |