Index: Source/core/svg/SVGAElement.cpp |
diff --git a/Source/core/svg/SVGAElement.cpp b/Source/core/svg/SVGAElement.cpp |
index 7a37381f818c9a781155de2cb267fbb89b26c584..55101fa14fc5b075c8c6f5ee7fd72d90b7520b36 100644 |
--- a/Source/core/svg/SVGAElement.cpp |
+++ b/Source/core/svg/SVGAElement.cpp |
@@ -221,6 +221,18 @@ bool SVGAElement::isKeyboardFocusable() const |
return false; |
} |
+bool SVGAElement::childShouldCreateRenderer(const Node& child) const |
+{ |
+ // http://www.w3.org/2003/01/REC-SVG11-20030114-errata#linking-text-environment |
+ // The 'a' element may contain any element that its parent may contain, except itself. |
+ if (child.hasTagName(SVGNames::aTag)) |
+ return false; |
+ if (parentNode() && parentNode()->isSVGElement()) |
+ return toSVGElement(parentNode())->childShouldCreateRenderer(child); |
+ |
+ return SVGGraphicsElement::childShouldCreateRenderer(child); |
+} |
+ |
bool SVGAElement::willRespondToMouseClickEvents() |
{ |
return isLink() || SVGGraphicsElement::willRespondToMouseClickEvents(); |