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 15 matching lines...) Expand all Loading... |
26 | 26 |
27 namespace blink { | 27 namespace blink { |
28 | 28 |
29 inline SVGGElement::SVGGElement(Document& document, | 29 inline SVGGElement::SVGGElement(Document& document, |
30 ConstructionType constructionType) | 30 ConstructionType constructionType) |
31 : SVGGraphicsElement(SVGNames::gTag, document, constructionType) {} | 31 : SVGGraphicsElement(SVGNames::gTag, document, constructionType) {} |
32 | 32 |
33 DEFINE_NODE_FACTORY(SVGGElement) | 33 DEFINE_NODE_FACTORY(SVGGElement) |
34 | 34 |
35 LayoutObject* SVGGElement::createLayoutObject(const ComputedStyle& style) { | 35 LayoutObject* SVGGElement::createLayoutObject(const ComputedStyle& style) { |
36 // SVG 1.1 testsuite explicitely uses constructs like <g display="none"><linea
rGradient> | 36 // SVG 1.1 testsuite explicitely uses constructs like |
37 // We still have to create layoutObjects for the <g> & <linearGradient> elemen
t, though the | 37 // <g display="none"><linearGradient> |
38 // subtree may be hidden - we only want the resource layoutObjects to exist so
they can be | 38 // We still have to create layoutObjects for the <g> & <linearGradient> |
39 // referenced from somewhere else. | 39 // element, though the subtree may be hidden - we only want the resource |
| 40 // layoutObjects to exist so they can be referenced from somewhere else. |
40 if (style.display() == EDisplay::None) | 41 if (style.display() == EDisplay::None) |
41 return new LayoutSVGHiddenContainer(this); | 42 return new LayoutSVGHiddenContainer(this); |
42 | 43 |
43 return new LayoutSVGTransformableContainer(this); | 44 return new LayoutSVGTransformableContainer(this); |
44 } | 45 } |
45 | 46 |
46 bool SVGGElement::layoutObjectIsNeeded(const ComputedStyle&) { | 47 bool SVGGElement::layoutObjectIsNeeded(const ComputedStyle&) { |
47 // Unlike SVGElement::layoutObjectIsNeeded(), we still create layoutObjects, e
ven if | 48 // Unlike SVGElement::layoutObjectIsNeeded(), we still create layoutObjects, |
48 // display is set to 'none' - which is special to SVG <g> container elements. | 49 // even if display is set to 'none' - which is special to SVG <g> container |
| 50 // elements. |
49 return parentOrShadowHostElement() && | 51 return parentOrShadowHostElement() && |
50 parentOrShadowHostElement()->isSVGElement(); | 52 parentOrShadowHostElement()->isSVGElement(); |
51 } | 53 } |
52 | 54 |
53 } // namespace blink | 55 } // namespace blink |
OLD | NEW |