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

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

Issue 169103002: Drop [LegacyImplementedInBaseClass] from SVGURIReference IDL interface (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 10 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
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2004, 2005, 2006, 2007 Nikolas Zimmermann <zimmermann@kde.org> 2 * Copyright (C) 2004, 2005, 2006, 2007 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 * Copyright (C) 2006 Samuel Weinig <sam.weinig@gmail.com> 4 * Copyright (C) 2006 Samuel Weinig <sam.weinig@gmail.com>
5 * Copyright (C) 2009 Dirk Schulze <krit@webkit.org> 5 * Copyright (C) 2009 Dirk Schulze <krit@webkit.org>
6 * Copyright (C) Research In Motion Limited 2010. All rights reserved. 6 * Copyright (C) Research In Motion Limited 2010. All rights reserved.
7 * 7 *
8 * This library is free software; you can redistribute it and/or 8 * This library is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Library General Public 9 * modify it under the terms of the GNU Library General Public
10 * License as published by the Free Software Foundation; either 10 * License as published by the Free Software Foundation; either
(...skipping 25 matching lines...) Expand all
36 DEFINE_ANIMATED_ENUMERATION(SVGFilterElement, SVGNames::filterUnitsAttr, FilterU nits, filterUnits, SVGUnitTypes::SVGUnitType) 36 DEFINE_ANIMATED_ENUMERATION(SVGFilterElement, SVGNames::filterUnitsAttr, FilterU nits, filterUnits, SVGUnitTypes::SVGUnitType)
37 DEFINE_ANIMATED_ENUMERATION(SVGFilterElement, SVGNames::primitiveUnitsAttr, Prim itiveUnits, primitiveUnits, SVGUnitTypes::SVGUnitType) 37 DEFINE_ANIMATED_ENUMERATION(SVGFilterElement, SVGNames::primitiveUnitsAttr, Prim itiveUnits, primitiveUnits, SVGUnitTypes::SVGUnitType)
38 38
39 BEGIN_REGISTER_ANIMATED_PROPERTIES(SVGFilterElement) 39 BEGIN_REGISTER_ANIMATED_PROPERTIES(SVGFilterElement)
40 REGISTER_LOCAL_ANIMATED_PROPERTY(filterUnits) 40 REGISTER_LOCAL_ANIMATED_PROPERTY(filterUnits)
41 REGISTER_LOCAL_ANIMATED_PROPERTY(primitiveUnits) 41 REGISTER_LOCAL_ANIMATED_PROPERTY(primitiveUnits)
42 END_REGISTER_ANIMATED_PROPERTIES 42 END_REGISTER_ANIMATED_PROPERTIES
43 43
44 inline SVGFilterElement::SVGFilterElement(Document& document) 44 inline SVGFilterElement::SVGFilterElement(Document& document)
45 : SVGElement(SVGNames::filterTag, document) 45 : SVGElement(SVGNames::filterTag, document)
46 , SVGURIReference(this)
46 , m_x(SVGAnimatedLength::create(this, SVGNames::xAttr, SVGLength::create(Len gthModeWidth))) 47 , m_x(SVGAnimatedLength::create(this, SVGNames::xAttr, SVGLength::create(Len gthModeWidth)))
47 , m_y(SVGAnimatedLength::create(this, SVGNames::yAttr, SVGLength::create(Len gthModeHeight))) 48 , m_y(SVGAnimatedLength::create(this, SVGNames::yAttr, SVGLength::create(Len gthModeHeight)))
48 , m_width(SVGAnimatedLength::create(this, SVGNames::widthAttr, SVGLength::cr eate(LengthModeWidth))) 49 , m_width(SVGAnimatedLength::create(this, SVGNames::widthAttr, SVGLength::cr eate(LengthModeWidth)))
49 , m_height(SVGAnimatedLength::create(this, SVGNames::heightAttr, SVGLength:: create(LengthModeHeight))) 50 , m_height(SVGAnimatedLength::create(this, SVGNames::heightAttr, SVGLength:: create(LengthModeHeight)))
50 , m_href(SVGAnimatedString::create(this, XLinkNames::hrefAttr, SVGString::cr eate()))
51 , m_filterRes(SVGAnimatedIntegerOptionalInteger::create(this, SVGNames::filt erResAttr)) 51 , m_filterRes(SVGAnimatedIntegerOptionalInteger::create(this, SVGNames::filt erResAttr))
52 , m_filterUnits(SVGUnitTypes::SVG_UNIT_TYPE_OBJECTBOUNDINGBOX) 52 , m_filterUnits(SVGUnitTypes::SVG_UNIT_TYPE_OBJECTBOUNDINGBOX)
53 , m_primitiveUnits(SVGUnitTypes::SVG_UNIT_TYPE_USERSPACEONUSE) 53 , m_primitiveUnits(SVGUnitTypes::SVG_UNIT_TYPE_USERSPACEONUSE)
54 { 54 {
55 ScriptWrappable::init(this); 55 ScriptWrappable::init(this);
56 56
57 // Spec: If the x/y attribute is not specified, the effect is as if a value of "-10%" were specified. 57 // Spec: If the x/y attribute is not specified, the effect is as if a value of "-10%" were specified.
58 // Spec: If the width/height attribute is not specified, the effect is as if a value of "120%" were specified. 58 // Spec: If the width/height attribute is not specified, the effect is as if a value of "120%" were specified.
59 m_x->setDefaultValueAsString("-10%"); 59 m_x->setDefaultValueAsString("-10%");
60 m_y->setDefaultValueAsString("-10%"); 60 m_y->setDefaultValueAsString("-10%");
61 m_width->setDefaultValueAsString("120%"); 61 m_width->setDefaultValueAsString("120%");
62 m_height->setDefaultValueAsString("120%"); 62 m_height->setDefaultValueAsString("120%");
63 63
64 addToPropertyMap(m_x); 64 addToPropertyMap(m_x);
65 addToPropertyMap(m_y); 65 addToPropertyMap(m_y);
66 addToPropertyMap(m_width); 66 addToPropertyMap(m_width);
67 addToPropertyMap(m_height); 67 addToPropertyMap(m_height);
68 addToPropertyMap(m_href);
69 addToPropertyMap(m_filterRes); 68 addToPropertyMap(m_filterRes);
70 registerAnimatedPropertiesForSVGFilterElement(); 69 registerAnimatedPropertiesForSVGFilterElement();
71 } 70 }
72 71
73 PassRefPtr<SVGFilterElement> SVGFilterElement::create(Document& document) 72 PassRefPtr<SVGFilterElement> SVGFilterElement::create(Document& document)
74 { 73 {
75 return adoptRef(new SVGFilterElement(document)); 74 return adoptRef(new SVGFilterElement(document));
76 } 75 }
77 76
78 void SVGFilterElement::setFilterRes(unsigned x, unsigned y) 77 void SVGFilterElement::setFilterRes(unsigned x, unsigned y)
(...skipping 18 matching lines...) Expand all
97 supportedAttributes.add(SVGNames::heightAttr); 96 supportedAttributes.add(SVGNames::heightAttr);
98 supportedAttributes.add(SVGNames::filterResAttr); 97 supportedAttributes.add(SVGNames::filterResAttr);
99 } 98 }
100 return supportedAttributes.contains<SVGAttributeHashTranslator>(attrName); 99 return supportedAttributes.contains<SVGAttributeHashTranslator>(attrName);
101 } 100 }
102 101
103 void SVGFilterElement::parseAttribute(const QualifiedName& name, const AtomicStr ing& value) 102 void SVGFilterElement::parseAttribute(const QualifiedName& name, const AtomicStr ing& value)
104 { 103 {
105 SVGParsingError parseError = NoError; 104 SVGParsingError parseError = NoError;
106 105
107 if (!isSupportedAttribute(name)) 106 if (!isSupportedAttribute(name)) {
108 SVGElement::parseAttribute(name, value); 107 SVGElement::parseAttribute(name, value);
109 else if (name == SVGNames::filterUnitsAttr) { 108 } else if (name == SVGNames::filterUnitsAttr) {
110 SVGUnitTypes::SVGUnitType propertyValue = SVGPropertyTraits<SVGUnitTypes ::SVGUnitType>::fromString(value); 109 SVGUnitTypes::SVGUnitType propertyValue = SVGPropertyTraits<SVGUnitTypes ::SVGUnitType>::fromString(value);
111 if (propertyValue > 0) 110 if (propertyValue > 0)
112 setFilterUnitsBaseValue(propertyValue); 111 setFilterUnitsBaseValue(propertyValue);
113 } else if (name == SVGNames::primitiveUnitsAttr) { 112 } else if (name == SVGNames::primitiveUnitsAttr) {
114 SVGUnitTypes::SVGUnitType propertyValue = SVGPropertyTraits<SVGUnitTypes ::SVGUnitType>::fromString(value); 113 SVGUnitTypes::SVGUnitType propertyValue = SVGPropertyTraits<SVGUnitTypes ::SVGUnitType>::fromString(value);
115 if (propertyValue > 0) 114 if (propertyValue > 0)
116 setPrimitiveUnitsBaseValue(propertyValue); 115 setPrimitiveUnitsBaseValue(propertyValue);
117 } else if (name == SVGNames::xAttr) 116 } else if (name == SVGNames::xAttr) {
118 m_x->setBaseValueAsString(value, AllowNegativeLengths, parseError); 117 m_x->setBaseValueAsString(value, AllowNegativeLengths, parseError);
119 else if (name == SVGNames::yAttr) 118 } else if (name == SVGNames::yAttr) {
120 m_y->setBaseValueAsString(value, AllowNegativeLengths, parseError); 119 m_y->setBaseValueAsString(value, AllowNegativeLengths, parseError);
121 else if (name == SVGNames::widthAttr) 120 } else if (name == SVGNames::widthAttr) {
122 m_width->setBaseValueAsString(value, ForbidNegativeLengths, parseError); 121 m_width->setBaseValueAsString(value, ForbidNegativeLengths, parseError);
123 else if (name == SVGNames::heightAttr) 122 } else if (name == SVGNames::heightAttr) {
124 m_height->setBaseValueAsString(value, ForbidNegativeLengths, parseError) ; 123 m_height->setBaseValueAsString(value, ForbidNegativeLengths, parseError) ;
125 else if (name == SVGNames::filterResAttr) 124 } else if (name == SVGNames::filterResAttr) {
126 m_filterRes->setBaseValueAsString(value, parseError); 125 m_filterRes->setBaseValueAsString(value, parseError);
127 else if (name.matches(XLinkNames::hrefAttr)) 126 } else if (SVGURIReference::parseAttribute(name, value, parseError)) {
128 m_href->setBaseValueAsString(value, parseError); 127 } else {
129 else
130 ASSERT_NOT_REACHED(); 128 ASSERT_NOT_REACHED();
129 }
131 130
132 reportAttributeParsingError(parseError, name, value); 131 reportAttributeParsingError(parseError, name, value);
133 } 132 }
134 133
135 void SVGFilterElement::svgAttributeChanged(const QualifiedName& attrName) 134 void SVGFilterElement::svgAttributeChanged(const QualifiedName& attrName)
136 { 135 {
137 if (!isSupportedAttribute(attrName)) { 136 if (!isSupportedAttribute(attrName)) {
138 SVGElement::svgAttributeChanged(attrName); 137 SVGElement::svgAttributeChanged(attrName);
139 return; 138 return;
140 } 139 }
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
189 m_clientsToAdd.add(client); 188 m_clientsToAdd.add(client);
190 } 189 }
191 190
192 void SVGFilterElement::removeClient(Node* client) 191 void SVGFilterElement::removeClient(Node* client)
193 { 192 {
194 ASSERT(client); 193 ASSERT(client);
195 m_clientsToAdd.remove(client); 194 m_clientsToAdd.remove(client);
196 } 195 }
197 196
198 } 197 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698