| OLD | NEW | 
|---|
| 1 /* | 1 /* | 
| 2  * Copyright (C) 2004, 2005, 2006, 2007, 2008 Nikolas Zimmermann <zimmermann@kde
      .org> | 2  * Copyright (C) 2004, 2005, 2006, 2007, 2008 Nikolas Zimmermann <zimmermann@kde
      .org> | 
| 3  * Copyright (C) 2004, 2005, 2006, 2008 Rob Buis <buis@kde.org> | 3  * Copyright (C) 2004, 2005, 2006, 2008 Rob Buis <buis@kde.org> | 
| 4  * Copyright (C) 2008 Apple Inc. All rights reserved. | 4  * Copyright (C) 2008 Apple Inc. All rights reserved. | 
| 5  * Copyright (C) 2008 Alp Toker <alp@atoker.com> | 5  * Copyright (C) 2008 Alp Toker <alp@atoker.com> | 
| 6  * Copyright (C) 2009 Cameron McCormack <cam@mcc.id.au> | 6  * Copyright (C) 2009 Cameron McCormack <cam@mcc.id.au> | 
| 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 1027 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 1038 | 1038 | 
| 1039 #if ENABLE(ASSERT) | 1039 #if ENABLE(ASSERT) | 
| 1040 bool SVGElement::isAnimatableAttribute(const QualifiedName& name) const | 1040 bool SVGElement::isAnimatableAttribute(const QualifiedName& name) const | 
| 1041 { | 1041 { | 
| 1042     // This static is atomically initialized to dodge a warning about | 1042     // This static is atomically initialized to dodge a warning about | 
| 1043     // a race when dumping debug data for a layer. | 1043     // a race when dumping debug data for a layer. | 
| 1044     DEFINE_THREAD_SAFE_STATIC_LOCAL(HashSet<QualifiedName>, animatableAttributes
      , new HashSet<QualifiedName>()); | 1044     DEFINE_THREAD_SAFE_STATIC_LOCAL(HashSet<QualifiedName>, animatableAttributes
      , new HashSet<QualifiedName>()); | 
| 1045 | 1045 | 
| 1046     if (animatableAttributes.isEmpty()) { | 1046     if (animatableAttributes.isEmpty()) { | 
| 1047         const QualifiedName* const animatableAttrs[] = { | 1047         const QualifiedName* const animatableAttrs[] = { | 
| 1048             &XLinkNames::hrefAttr, |  | 
| 1049             &SVGNames::amplitudeAttr, | 1048             &SVGNames::amplitudeAttr, | 
| 1050             &SVGNames::azimuthAttr, | 1049             &SVGNames::azimuthAttr, | 
| 1051             &SVGNames::baseFrequencyAttr, | 1050             &SVGNames::baseFrequencyAttr, | 
| 1052             &SVGNames::biasAttr, | 1051             &SVGNames::biasAttr, | 
| 1053             &SVGNames::clipPathUnitsAttr, | 1052             &SVGNames::clipPathUnitsAttr, | 
| 1054             &SVGNames::cxAttr, | 1053             &SVGNames::cxAttr, | 
| 1055             &SVGNames::cyAttr, | 1054             &SVGNames::cyAttr, | 
| 1056             &SVGNames::diffuseConstantAttr, | 1055             &SVGNames::diffuseConstantAttr, | 
| 1057             &SVGNames::divisorAttr, | 1056             &SVGNames::divisorAttr, | 
| 1058             &SVGNames::dxAttr, | 1057             &SVGNames::dxAttr, | 
| 1059             &SVGNames::dyAttr, | 1058             &SVGNames::dyAttr, | 
| 1060             &SVGNames::edgeModeAttr, | 1059             &SVGNames::edgeModeAttr, | 
| 1061             &SVGNames::elevationAttr, | 1060             &SVGNames::elevationAttr, | 
| 1062             &SVGNames::exponentAttr, | 1061             &SVGNames::exponentAttr, | 
| 1063             &SVGNames::filterUnitsAttr, | 1062             &SVGNames::filterUnitsAttr, | 
| 1064             &SVGNames::fxAttr, | 1063             &SVGNames::fxAttr, | 
| 1065             &SVGNames::fyAttr, | 1064             &SVGNames::fyAttr, | 
| 1066             &SVGNames::gradientTransformAttr, | 1065             &SVGNames::gradientTransformAttr, | 
| 1067             &SVGNames::gradientUnitsAttr, | 1066             &SVGNames::gradientUnitsAttr, | 
| 1068             &SVGNames::heightAttr, | 1067             &SVGNames::heightAttr, | 
|  | 1068             &SVGNames::hrefAttr, | 
| 1069             &SVGNames::in2Attr, | 1069             &SVGNames::in2Attr, | 
| 1070             &SVGNames::inAttr, | 1070             &SVGNames::inAttr, | 
| 1071             &SVGNames::interceptAttr, | 1071             &SVGNames::interceptAttr, | 
| 1072             &SVGNames::k1Attr, | 1072             &SVGNames::k1Attr, | 
| 1073             &SVGNames::k2Attr, | 1073             &SVGNames::k2Attr, | 
| 1074             &SVGNames::k3Attr, | 1074             &SVGNames::k3Attr, | 
| 1075             &SVGNames::k4Attr, | 1075             &SVGNames::k4Attr, | 
| 1076             &SVGNames::kernelMatrixAttr, | 1076             &SVGNames::kernelMatrixAttr, | 
| 1077             &SVGNames::kernelUnitLengthAttr, | 1077             &SVGNames::kernelUnitLengthAttr, | 
| 1078             &SVGNames::lengthAdjustAttr, | 1078             &SVGNames::lengthAdjustAttr, | 
| (...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 1171     const SVGElementSet& incomingReferences = svgRareData()->incomingReferences(
      ); | 1171     const SVGElementSet& incomingReferences = svgRareData()->incomingReferences(
      ); | 
| 1172 | 1172 | 
| 1173     // Iterate on a snapshot as |incomingReferences| may be altered inside loop. | 1173     // Iterate on a snapshot as |incomingReferences| may be altered inside loop. | 
| 1174     WillBeHeapVector<RawPtrWillBeMember<SVGElement>> incomingReferencesSnapshot; | 1174     WillBeHeapVector<RawPtrWillBeMember<SVGElement>> incomingReferencesSnapshot; | 
| 1175     copyToVector(incomingReferences, incomingReferencesSnapshot); | 1175     copyToVector(incomingReferences, incomingReferencesSnapshot); | 
| 1176 | 1176 | 
| 1177     // Force rebuilding the |sourceElement| so it knows about this change. | 1177     // Force rebuilding the |sourceElement| so it knows about this change. | 
| 1178     for (SVGElement* sourceElement : incomingReferencesSnapshot) { | 1178     for (SVGElement* sourceElement : incomingReferencesSnapshot) { | 
| 1179         // Before rebuilding |sourceElement| ensure it was not removed from unde
      r us. | 1179         // Before rebuilding |sourceElement| ensure it was not removed from unde
      r us. | 
| 1180         if (incomingReferences.contains(sourceElement)) | 1180         if (incomingReferences.contains(sourceElement)) | 
| 1181             sourceElement->svgAttributeChanged(XLinkNames::hrefAttr); | 1181             sourceElement->svgAttributeChanged(SVGNames::hrefAttr); | 
| 1182     } | 1182     } | 
| 1183 } | 1183 } | 
| 1184 | 1184 | 
| 1185 void SVGElement::removeAllIncomingReferences() | 1185 void SVGElement::removeAllIncomingReferences() | 
| 1186 { | 1186 { | 
| 1187     if (!hasSVGRareData()) | 1187     if (!hasSVGRareData()) | 
| 1188         return; | 1188         return; | 
| 1189 | 1189 | 
| 1190     SVGElementSet& incomingReferences = svgRareData()->incomingReferences(); | 1190     SVGElementSet& incomingReferences = svgRareData()->incomingReferences(); | 
| 1191     for (SVGElement* sourceElement: incomingReferences) { | 1191     for (SVGElement* sourceElement: incomingReferences) { | 
| (...skipping 27 matching lines...) Expand all  Loading... | 
| 1219     Element::trace(visitor); | 1219     Element::trace(visitor); | 
| 1220 } | 1220 } | 
| 1221 | 1221 | 
| 1222 const AtomicString& SVGElement::eventParameterName() | 1222 const AtomicString& SVGElement::eventParameterName() | 
| 1223 { | 1223 { | 
| 1224     DEFINE_STATIC_LOCAL(const AtomicString, evtString, ("evt", AtomicString::Con
      structFromLiteral)); | 1224     DEFINE_STATIC_LOCAL(const AtomicString, evtString, ("evt", AtomicString::Con
      structFromLiteral)); | 
| 1225     return evtString; | 1225     return evtString; | 
| 1226 } | 1226 } | 
| 1227 | 1227 | 
| 1228 } // namespace blink | 1228 } // namespace blink | 
| OLD | NEW | 
|---|