OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2004, 2005, 2008 Nikolas Zimmermann <zimmermann@kde.org> | 2 * Copyright (C) 2004, 2005, 2008 Nikolas Zimmermann <zimmermann@kde.org> |
3 * Copyright (C) 2004, 2005, 2007 Rob Buis <buis@kde.org> | 3 * Copyright (C) 2004, 2005, 2007 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) 2010 Apple Inc. All rights reserved. | 5 * Copyright (C) 2010 Apple Inc. All rights reserved. |
6 * | 6 * |
7 * This library is free software; you can redistribute it and/or | 7 * This library is free software; you can redistribute it and/or |
8 * modify it under the terms of the GNU Library General Public | 8 * modify it under the terms of the GNU Library General Public |
9 * License as published by the Free Software Foundation; either | 9 * License as published by the Free Software Foundation; either |
10 * version 2 of the License, or (at your option) any later version. | 10 * version 2 of the License, or (at your option) any later version. |
(...skipping 21 matching lines...) Expand all Loading... |
32 #include "EventNames.h" | 32 #include "EventNames.h" |
33 #include "Frame.h" | 33 #include "Frame.h" |
34 #include "FrameLoader.h" | 34 #include "FrameLoader.h" |
35 #include "FrameLoaderTypes.h" | 35 #include "FrameLoaderTypes.h" |
36 #include "HTMLAnchorElement.h" | 36 #include "HTMLAnchorElement.h" |
37 #include "HTMLParserIdioms.h" | 37 #include "HTMLParserIdioms.h" |
38 #include "KeyboardEvent.h" | 38 #include "KeyboardEvent.h" |
39 #include "MouseEvent.h" | 39 #include "MouseEvent.h" |
40 #include "PlatformMouseEvent.h" | 40 #include "PlatformMouseEvent.h" |
41 #include "RenderSVGInline.h" | 41 #include "RenderSVGInline.h" |
| 42 #include "RenderSVGText.h" |
42 #include "RenderSVGTransformableContainer.h" | 43 #include "RenderSVGTransformableContainer.h" |
43 #include "ResourceRequest.h" | 44 #include "ResourceRequest.h" |
44 #include "SVGElementInstance.h" | 45 #include "SVGElementInstance.h" |
45 #include "SVGNames.h" | 46 #include "SVGNames.h" |
46 #include "SVGSMILElement.h" | 47 #include "SVGSMILElement.h" |
47 #include "XLinkNames.h" | 48 #include "XLinkNames.h" |
48 | 49 |
49 namespace WebCore { | 50 namespace WebCore { |
50 | 51 |
51 // Animated property definitions | 52 // Animated property definitions |
(...skipping 177 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
229 // http://www.w3.org/2003/01/REC-SVG11-20030114-errata#linking-text-environm
ent | 230 // http://www.w3.org/2003/01/REC-SVG11-20030114-errata#linking-text-environm
ent |
230 // The 'a' element may contain any element that its parent may contain, exce
pt itself. | 231 // The 'a' element may contain any element that its parent may contain, exce
pt itself. |
231 if (child->hasTagName(SVGNames::aTag)) | 232 if (child->hasTagName(SVGNames::aTag)) |
232 return false; | 233 return false; |
233 if (parentNode() && parentNode()->isSVGElement()) | 234 if (parentNode() && parentNode()->isSVGElement()) |
234 return parentNode()->childShouldCreateRenderer(child); | 235 return parentNode()->childShouldCreateRenderer(child); |
235 | 236 |
236 return SVGElement::childShouldCreateRenderer(child); | 237 return SVGElement::childShouldCreateRenderer(child); |
237 } | 238 } |
238 | 239 |
| 240 void SVGAElement::childrenChanged(bool changedByParser, Node* beforeChange, Node
* afterChange, int childCountDelta) |
| 241 { |
| 242 SVGStyledTransformableElement::childrenChanged(changedByParser, beforeChange
, afterChange, childCountDelta); |
| 243 |
| 244 if (changedByParser || !renderer()) |
| 245 return; |
| 246 |
| 247 // Invalidate the TextPosition cache in SVGTextLayoutAttributesBuilder as it
may now point |
| 248 // to no-longer existing SVGTextPositioningElements and thus needs to be reb
uilt. |
| 249 if (RenderSVGText* textRenderer = RenderSVGText::locateRenderSVGTextAncestor
(renderer())) |
| 250 textRenderer->textDOMChanged(); |
| 251 } |
| 252 |
239 } // namespace WebCore | 253 } // namespace WebCore |
240 | 254 |
241 #endif // ENABLE(SVG) | 255 #endif // ENABLE(SVG) |
OLD | NEW |