Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(288)

Side by Side Diff: Source/core/svg/SVGFontFaceSrcElement.cpp

Issue 192133002: Use isSVG*Element() helpers more in SVG code (Part 1) (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « Source/core/svg/SVGFontFaceFormatElement.cpp ('k') | Source/core/svg/SVGFontFaceUriElement.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2007 Eric Seidel <eric@webkit.org> 2 * Copyright (C) 2007 Eric Seidel <eric@webkit.org>
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
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Library General Public License for more details. 12 * Library General Public License for more details.
13 * 13 *
14 * You should have received a copy of the GNU Library General Public License 14 * You should have received a copy of the GNU Library General Public License
15 * along with this library; see the file COPYING.LIB. If not, write to 15 * along with this library; see the file COPYING.LIB. If not, write to
16 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 16 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
17 * Boston, MA 02110-1301, USA. 17 * Boston, MA 02110-1301, USA.
18 */ 18 */
19 19
20 #include "config.h" 20 #include "config.h"
21 21
22 #if ENABLE(SVG_FONTS) 22 #if ENABLE(SVG_FONTS)
23 #include "core/svg/SVGFontFaceSrcElement.h" 23 #include "core/svg/SVGFontFaceSrcElement.h"
24 24
25 #include "SVGNames.h" 25 #include "SVGNames.h"
26 #include "core/css/CSSFontFaceSrcValue.h" 26 #include "core/css/CSSFontFaceSrcValue.h"
27 #include "core/css/CSSValueList.h" 27 #include "core/css/CSSValueList.h"
28 #include "core/dom/ElementTraversal.h"
28 #include "core/svg/SVGFontFaceElement.h" 29 #include "core/svg/SVGFontFaceElement.h"
29 #include "core/svg/SVGFontFaceNameElement.h" 30 #include "core/svg/SVGFontFaceNameElement.h"
30 #include "core/svg/SVGFontFaceUriElement.h" 31 #include "core/svg/SVGFontFaceUriElement.h"
31 32
32 namespace WebCore { 33 namespace WebCore {
33 34
34 using namespace SVGNames; 35 using namespace SVGNames;
35 36
36 inline SVGFontFaceSrcElement::SVGFontFaceSrcElement(Document& document) 37 inline SVGFontFaceSrcElement::SVGFontFaceSrcElement(Document& document)
37 : SVGElement(font_face_srcTag, document) 38 : SVGElement(font_face_srcTag, document)
38 { 39 {
39 ScriptWrappable::init(this); 40 ScriptWrappable::init(this);
40 } 41 }
41 42
42 PassRefPtr<SVGFontFaceSrcElement> SVGFontFaceSrcElement::create(Document& docume nt) 43 PassRefPtr<SVGFontFaceSrcElement> SVGFontFaceSrcElement::create(Document& docume nt)
43 { 44 {
44 return adoptRef(new SVGFontFaceSrcElement(document)); 45 return adoptRef(new SVGFontFaceSrcElement(document));
45 } 46 }
46 47
47 PassRefPtrWillBeRawPtr<CSSValueList> SVGFontFaceSrcElement::srcValue() const 48 PassRefPtrWillBeRawPtr<CSSValueList> SVGFontFaceSrcElement::srcValue() const
48 { 49 {
49 RefPtrWillBeRawPtr<CSSValueList> list = CSSValueList::createCommaSeparated() ; 50 RefPtrWillBeRawPtr<CSSValueList> list = CSSValueList::createCommaSeparated() ;
50 for (Node* child = firstChild(); child; child = child->nextSibling()) { 51 for (SVGElement* element = Traversal<SVGElement>::firstChild(*this); element ; element = Traversal<SVGElement>::nextSibling(*element)) {
51 RefPtrWillBeRawPtr<CSSFontFaceSrcValue> srcValue; 52 RefPtrWillBeRawPtr<CSSFontFaceSrcValue> srcValue;
52 if (child->hasTagName(font_face_uriTag)) 53 if (isSVGFontFaceUriElement(*element))
53 srcValue = toSVGFontFaceUriElement(child)->srcValue(); 54 srcValue = toSVGFontFaceUriElement(*element).srcValue();
54 else if (child->hasTagName(font_face_nameTag)) 55 else if (isSVGFontFaceNameElement(*element))
55 srcValue = toSVGFontFaceNameElement(child)->srcValue(); 56 srcValue = toSVGFontFaceNameElement(*element).srcValue();
56 57
57 if (srcValue && srcValue->resource().length()) 58 if (srcValue && srcValue->resource().length())
58 list->append(srcValue); 59 list->append(srcValue);
59 } 60 }
60 return list; 61 return list;
61 } 62 }
62 63
63 void SVGFontFaceSrcElement::childrenChanged(bool changedByParser, Node* beforeCh ange, Node* afterChange, int childCountDelta) 64 void SVGFontFaceSrcElement::childrenChanged(bool changedByParser, Node* beforeCh ange, Node* afterChange, int childCountDelta)
64 { 65 {
65 SVGElement::childrenChanged(changedByParser, beforeChange, afterChange, chil dCountDelta); 66 SVGElement::childrenChanged(changedByParser, beforeChange, afterChange, chil dCountDelta);
66 if (parentNode() && parentNode()->hasTagName(font_faceTag)) 67 if (isSVGFontFaceElement(parentNode()))
67 toSVGFontFaceElement(parentNode())->rebuildFontFace(); 68 toSVGFontFaceElement(*parentNode()).rebuildFontFace();
68 } 69 }
69 70
70 } 71 }
71 72
72 #endif // ENABLE(SVG_FONTS) 73 #endif // ENABLE(SVG_FONTS)
OLDNEW
« no previous file with comments | « Source/core/svg/SVGFontFaceFormatElement.cpp ('k') | Source/core/svg/SVGFontFaceUriElement.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698