OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2004, 2005, 2007, 2008 Nikolas Zimmermann <zimmermann@kde.org> | 2 * Copyright (C) 2004, 2005, 2007, 2008 Nikolas Zimmermann <zimmermann@kde.org> |
3 * Copyright (C) 2004, 2005, 2006 Rob Buis <buis@kde.org> | 3 * Copyright (C) 2004, 2005, 2006 Rob Buis <buis@kde.org> |
4 * | 4 * |
5 * This library is free software; you can redistribute it and/or | 5 * This library is free software; you can redistribute it and/or |
6 * modify it under the terms of the GNU Library General Public | 6 * modify it under the terms of the GNU Library General Public |
7 * License as published by the Free Software Foundation; either | 7 * License as published by the Free Software Foundation; either |
8 * version 2 of the License, or (at your option) any later version. | 8 * version 2 of the License, or (at your option) any later version. |
9 * | 9 * |
10 * This library is distributed in the hope that it will be useful, | 10 * This library is distributed in the hope that it will be useful, |
(...skipping 14 matching lines...) Expand all Loading... |
25 #include "core/SVGNames.h" | 25 #include "core/SVGNames.h" |
26 #include "core/rendering/svg/RenderSVGHiddenContainer.h" | 26 #include "core/rendering/svg/RenderSVGHiddenContainer.h" |
27 #include "core/rendering/svg/RenderSVGResource.h" | 27 #include "core/rendering/svg/RenderSVGResource.h" |
28 #include "core/rendering/svg/RenderSVGTransformableContainer.h" | 28 #include "core/rendering/svg/RenderSVGTransformableContainer.h" |
29 | 29 |
30 namespace blink { | 30 namespace blink { |
31 | 31 |
32 inline SVGGElement::SVGGElement(Document& document, ConstructionType constructio
nType) | 32 inline SVGGElement::SVGGElement(Document& document, ConstructionType constructio
nType) |
33 : SVGGraphicsElement(SVGNames::gTag, document, constructionType) | 33 : SVGGraphicsElement(SVGNames::gTag, document, constructionType) |
34 { | 34 { |
35 ScriptWrappable::init(this); | |
36 } | 35 } |
37 | 36 |
38 DEFINE_NODE_FACTORY(SVGGElement) | 37 DEFINE_NODE_FACTORY(SVGGElement) |
39 | 38 |
40 RenderObject* SVGGElement::createRenderer(RenderStyle* style) | 39 RenderObject* SVGGElement::createRenderer(RenderStyle* style) |
41 { | 40 { |
42 // SVG 1.1 testsuite explicitely uses constructs like <g display="none"><lin
earGradient> | 41 // SVG 1.1 testsuite explicitely uses constructs like <g display="none"><lin
earGradient> |
43 // We still have to create renderers for the <g> & <linearGradient> element,
though the | 42 // We still have to create renderers for the <g> & <linearGradient> element,
though the |
44 // subtree may be hidden - we only want the resource renderers to exist so t
hey can be | 43 // subtree may be hidden - we only want the resource renderers to exist so t
hey can be |
45 // referenced from somewhere else. | 44 // referenced from somewhere else. |
46 if (style->display() == NONE) | 45 if (style->display() == NONE) |
47 return new RenderSVGHiddenContainer(this); | 46 return new RenderSVGHiddenContainer(this); |
48 | 47 |
49 return new RenderSVGTransformableContainer(this); | 48 return new RenderSVGTransformableContainer(this); |
50 } | 49 } |
51 | 50 |
52 bool SVGGElement::rendererIsNeeded(const RenderStyle&) | 51 bool SVGGElement::rendererIsNeeded(const RenderStyle&) |
53 { | 52 { |
54 // Unlike SVGElement::rendererIsNeeded(), we still create renderers, even if | 53 // Unlike SVGElement::rendererIsNeeded(), we still create renderers, even if |
55 // display is set to 'none' - which is special to SVG <g> container elements
. | 54 // display is set to 'none' - which is special to SVG <g> container elements
. |
56 return parentOrShadowHostElement() && parentOrShadowHostElement()->isSVGElem
ent(); | 55 return parentOrShadowHostElement() && parentOrShadowHostElement()->isSVGElem
ent(); |
57 } | 56 } |
58 | 57 |
59 } | 58 } |
OLD | NEW |