| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) Research In Motion Limited 2010. All rights reserved. | 2 * Copyright (C) Research In Motion Limited 2010. All rights reserved. |
| 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 29 matching lines...) Expand all Loading... |
| 40 namespace blink { | 40 namespace blink { |
| 41 | 41 |
| 42 using namespace SVGNames; | 42 using namespace SVGNames; |
| 43 | 43 |
| 44 SVGResources::SVGResources() : m_linkedResource(nullptr) {} | 44 SVGResources::SVGResources() : m_linkedResource(nullptr) {} |
| 45 | 45 |
| 46 static HashSet<AtomicString>& clipperFilterMaskerTags() { | 46 static HashSet<AtomicString>& clipperFilterMaskerTags() { |
| 47 DEFINE_STATIC_LOCAL( | 47 DEFINE_STATIC_LOCAL( |
| 48 HashSet<AtomicString>, s_tagList, | 48 HashSet<AtomicString>, s_tagList, |
| 49 ({ | 49 ({ |
| 50 // "container elements": http://www.w3.org/TR/SVG11/intro.html#TermCon
tainerElement | 50 // "container elements": |
| 51 // "graphics elements" : http://www.w3.org/TR/SVG11/intro.html#TermGra
phicsElement | 51 // http://www.w3.org/TR/SVG11/intro.html#TermContainerElement |
| 52 // "graphics elements" : |
| 53 // http://www.w3.org/TR/SVG11/intro.html#TermGraphicsElement |
| 52 aTag.localName(), circleTag.localName(), ellipseTag.localName(), | 54 aTag.localName(), circleTag.localName(), ellipseTag.localName(), |
| 53 gTag.localName(), imageTag.localName(), lineTag.localName(), | 55 gTag.localName(), imageTag.localName(), lineTag.localName(), |
| 54 markerTag.localName(), maskTag.localName(), pathTag.localName(), | 56 markerTag.localName(), maskTag.localName(), pathTag.localName(), |
| 55 polygonTag.localName(), polylineTag.localName(), rectTag.localName(), | 57 polygonTag.localName(), polylineTag.localName(), rectTag.localName(), |
| 56 svgTag.localName(), textTag.localName(), useTag.localName(), | 58 svgTag.localName(), textTag.localName(), useTag.localName(), |
| 57 // Not listed in the definitions is the clipPath element, the SVG spec
says though: | 59 // Not listed in the definitions is the clipPath element, the SVG spec |
| 58 // The "clipPath" element or any of its children can specify property
"clip-path". | 60 // says though: |
| 59 // So we have to add clipPathTag here, otherwhise clip-path on clipPat
h will fail. | 61 // The "clipPath" element or any of its children can specify property |
| 60 // (Already mailed SVG WG, waiting for a solution) | 62 // "clip-path". |
| 63 // So we have to add clipPathTag here, otherwhise clip-path on |
| 64 // clipPath will fail. (Already mailed SVG WG, waiting for a solution) |
| 61 clipPathTag.localName(), | 65 clipPathTag.localName(), |
| 62 // Not listed in the definitions are the text content elements, though
filter/clipper/masker on tspan/text/.. is allowed. | 66 // Not listed in the definitions are the text content elements, though |
| 67 // filter/clipper/masker on tspan/text/.. is allowed. |
| 63 // (Already mailed SVG WG, waiting for a solution) | 68 // (Already mailed SVG WG, waiting for a solution) |
| 64 textPathTag.localName(), tspanTag.localName(), | 69 textPathTag.localName(), tspanTag.localName(), |
| 65 // Not listed in the definitions is the foreignObject element, but cli
p-path | 70 // Not listed in the definitions is the foreignObject element, but |
| 66 // is a supported attribute. | 71 // clip-path is a supported attribute. |
| 67 foreignObjectTag.localName(), | 72 foreignObjectTag.localName(), |
| 68 // Elements that we ignore, as it doesn't make any sense. | 73 // Elements that we ignore, as it doesn't make any sense. |
| 69 // defs, pattern, switch (FIXME: Mail SVG WG about these) | 74 // defs, pattern, switch (FIXME: Mail SVG WG about these) |
| 70 // symbol (is converted to a svg element, when referenced by use, we c
an safely ignore it.) | 75 // symbol (is converted to a svg element, when referenced by use, we |
| 76 // can safely ignore it.) |
| 71 })); | 77 })); |
| 72 return s_tagList; | 78 return s_tagList; |
| 73 } | 79 } |
| 74 | 80 |
| 75 bool SVGResources::supportsMarkers(const SVGElement& element) { | 81 bool SVGResources::supportsMarkers(const SVGElement& element) { |
| 76 DEFINE_STATIC_LOCAL(HashSet<AtomicString>, s_tagList, | 82 DEFINE_STATIC_LOCAL(HashSet<AtomicString>, s_tagList, |
| 77 ({ | 83 ({ |
| 78 lineTag.localName(), pathTag.localName(), | 84 lineTag.localName(), pathTag.localName(), |
| 79 polygonTag.localName(), polylineTag.localName(), | 85 polygonTag.localName(), polylineTag.localName(), |
| 80 })); | 86 })); |
| (...skipping 586 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 667 stroke->element()); | 673 stroke->element()); |
| 668 } | 674 } |
| 669 | 675 |
| 670 if (m_linkedResource) | 676 if (m_linkedResource) |
| 671 fprintf(stderr, " |-> xlink:href : %p (node=%p)\n", m_linkedResource, | 677 fprintf(stderr, " |-> xlink:href : %p (node=%p)\n", m_linkedResource, |
| 672 m_linkedResource->element()); | 678 m_linkedResource->element()); |
| 673 } | 679 } |
| 674 #endif | 680 #endif |
| 675 | 681 |
| 676 } // namespace blink | 682 } // namespace blink |
| OLD | NEW |