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

Side by Side Diff: third_party/WebKit/Source/core/svg/SVGElement.cpp

Issue 2142513003: Use initializer_lists for static WTF::HashSets. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 5 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
OLDNEW
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 981 matching lines...) Expand 10 before | Expand all | Expand 10 after
992 { 992 {
993 if (m_targetElement) 993 if (m_targetElement)
994 m_targetElement->setInstanceUpdatesBlocked(false); 994 m_targetElement->setInstanceUpdatesBlocked(false);
995 } 995 }
996 996
997 #if DCHECK_IS_ON() 997 #if DCHECK_IS_ON()
998 bool SVGElement::isAnimatableAttribute(const QualifiedName& name) const 998 bool SVGElement::isAnimatableAttribute(const QualifiedName& name) const
999 { 999 {
1000 // This static is atomically initialized to dodge a warning about 1000 // This static is atomically initialized to dodge a warning about
1001 // a race when dumping debug data for a layer. 1001 // a race when dumping debug data for a layer.
1002 DEFINE_THREAD_SAFE_STATIC_LOCAL(HashSet<QualifiedName>, animatableAttributes , new HashSet<QualifiedName>()); 1002 DEFINE_THREAD_SAFE_STATIC_LOCAL(HashSet<QualifiedName>, animatableAttributes , new HashSet<QualifiedName>({
1003 1003 SVGNames::amplitudeAttr,
1004 if (animatableAttributes.isEmpty()) { 1004 SVGNames::azimuthAttr,
1005 const QualifiedName* const animatableAttrs[] = { 1005 SVGNames::baseFrequencyAttr,
1006 &SVGNames::amplitudeAttr, 1006 SVGNames::biasAttr,
1007 &SVGNames::azimuthAttr, 1007 SVGNames::clipPathUnitsAttr,
1008 &SVGNames::baseFrequencyAttr, 1008 SVGNames::cxAttr,
1009 &SVGNames::biasAttr, 1009 SVGNames::cyAttr,
1010 &SVGNames::clipPathUnitsAttr, 1010 SVGNames::diffuseConstantAttr,
1011 &SVGNames::cxAttr, 1011 SVGNames::divisorAttr,
1012 &SVGNames::cyAttr, 1012 SVGNames::dxAttr,
1013 &SVGNames::diffuseConstantAttr, 1013 SVGNames::dyAttr,
1014 &SVGNames::divisorAttr, 1014 SVGNames::edgeModeAttr,
1015 &SVGNames::dxAttr, 1015 SVGNames::elevationAttr,
1016 &SVGNames::dyAttr, 1016 SVGNames::exponentAttr,
1017 &SVGNames::edgeModeAttr, 1017 SVGNames::filterUnitsAttr,
1018 &SVGNames::elevationAttr, 1018 SVGNames::fxAttr,
1019 &SVGNames::exponentAttr, 1019 SVGNames::fyAttr,
1020 &SVGNames::filterUnitsAttr, 1020 SVGNames::gradientTransformAttr,
1021 &SVGNames::fxAttr, 1021 SVGNames::gradientUnitsAttr,
1022 &SVGNames::fyAttr, 1022 SVGNames::heightAttr,
1023 &SVGNames::gradientTransformAttr, 1023 SVGNames::hrefAttr,
1024 &SVGNames::gradientUnitsAttr, 1024 SVGNames::in2Attr,
1025 &SVGNames::heightAttr, 1025 SVGNames::inAttr,
1026 &SVGNames::hrefAttr, 1026 SVGNames::interceptAttr,
1027 &SVGNames::in2Attr, 1027 SVGNames::k1Attr,
1028 &SVGNames::inAttr, 1028 SVGNames::k2Attr,
1029 &SVGNames::interceptAttr, 1029 SVGNames::k3Attr,
1030 &SVGNames::k1Attr, 1030 SVGNames::k4Attr,
1031 &SVGNames::k2Attr, 1031 SVGNames::kernelMatrixAttr,
1032 &SVGNames::k3Attr, 1032 SVGNames::kernelUnitLengthAttr,
1033 &SVGNames::k4Attr, 1033 SVGNames::lengthAdjustAttr,
1034 &SVGNames::kernelMatrixAttr, 1034 SVGNames::limitingConeAngleAttr,
1035 &SVGNames::kernelUnitLengthAttr, 1035 SVGNames::markerHeightAttr,
1036 &SVGNames::lengthAdjustAttr, 1036 SVGNames::markerUnitsAttr,
1037 &SVGNames::limitingConeAngleAttr, 1037 SVGNames::markerWidthAttr,
1038 &SVGNames::markerHeightAttr, 1038 SVGNames::maskContentUnitsAttr,
1039 &SVGNames::markerUnitsAttr, 1039 SVGNames::maskUnitsAttr,
1040 &SVGNames::markerWidthAttr, 1040 SVGNames::methodAttr,
1041 &SVGNames::maskContentUnitsAttr, 1041 SVGNames::modeAttr,
1042 &SVGNames::maskUnitsAttr, 1042 SVGNames::numOctavesAttr,
1043 &SVGNames::methodAttr, 1043 SVGNames::offsetAttr,
1044 &SVGNames::modeAttr, 1044 SVGNames::operatorAttr,
1045 &SVGNames::numOctavesAttr, 1045 SVGNames::orderAttr,
1046 &SVGNames::offsetAttr, 1046 SVGNames::orientAttr,
1047 &SVGNames::operatorAttr, 1047 SVGNames::pathLengthAttr,
1048 &SVGNames::orderAttr, 1048 SVGNames::patternContentUnitsAttr,
1049 &SVGNames::orientAttr, 1049 SVGNames::patternTransformAttr,
1050 &SVGNames::pathLengthAttr, 1050 SVGNames::patternUnitsAttr,
1051 &SVGNames::patternContentUnitsAttr, 1051 SVGNames::pointsAtXAttr,
1052 &SVGNames::patternTransformAttr, 1052 SVGNames::pointsAtYAttr,
1053 &SVGNames::patternUnitsAttr, 1053 SVGNames::pointsAtZAttr,
1054 &SVGNames::pointsAtXAttr, 1054 SVGNames::preserveAlphaAttr,
1055 &SVGNames::pointsAtYAttr, 1055 SVGNames::preserveAspectRatioAttr,
1056 &SVGNames::pointsAtZAttr, 1056 SVGNames::primitiveUnitsAttr,
1057 &SVGNames::preserveAlphaAttr, 1057 SVGNames::radiusAttr,
1058 &SVGNames::preserveAspectRatioAttr, 1058 SVGNames::rAttr,
1059 &SVGNames::primitiveUnitsAttr, 1059 SVGNames::refXAttr,
1060 &SVGNames::radiusAttr, 1060 SVGNames::refYAttr,
1061 &SVGNames::rAttr, 1061 SVGNames::resultAttr,
1062 &SVGNames::refXAttr, 1062 SVGNames::rotateAttr,
1063 &SVGNames::refYAttr, 1063 SVGNames::rxAttr,
1064 &SVGNames::resultAttr, 1064 SVGNames::ryAttr,
1065 &SVGNames::rotateAttr, 1065 SVGNames::scaleAttr,
1066 &SVGNames::rxAttr, 1066 SVGNames::seedAttr,
1067 &SVGNames::ryAttr, 1067 SVGNames::slopeAttr,
1068 &SVGNames::scaleAttr, 1068 SVGNames::spacingAttr,
1069 &SVGNames::seedAttr, 1069 SVGNames::specularConstantAttr,
1070 &SVGNames::slopeAttr, 1070 SVGNames::specularExponentAttr,
1071 &SVGNames::spacingAttr, 1071 SVGNames::spreadMethodAttr,
1072 &SVGNames::specularConstantAttr, 1072 SVGNames::startOffsetAttr,
1073 &SVGNames::specularExponentAttr, 1073 SVGNames::stdDeviationAttr,
1074 &SVGNames::spreadMethodAttr, 1074 SVGNames::stitchTilesAttr,
1075 &SVGNames::startOffsetAttr, 1075 SVGNames::surfaceScaleAttr,
1076 &SVGNames::stdDeviationAttr, 1076 SVGNames::tableValuesAttr,
1077 &SVGNames::stitchTilesAttr, 1077 SVGNames::targetAttr,
1078 &SVGNames::surfaceScaleAttr, 1078 SVGNames::targetXAttr,
1079 &SVGNames::tableValuesAttr, 1079 SVGNames::targetYAttr,
1080 &SVGNames::targetAttr, 1080 SVGNames::transformAttr,
1081 &SVGNames::targetXAttr, 1081 SVGNames::typeAttr,
1082 &SVGNames::targetYAttr, 1082 SVGNames::valuesAttr,
1083 &SVGNames::transformAttr, 1083 SVGNames::viewBoxAttr,
1084 &SVGNames::typeAttr, 1084 SVGNames::widthAttr,
1085 &SVGNames::valuesAttr, 1085 SVGNames::x1Attr,
1086 &SVGNames::viewBoxAttr, 1086 SVGNames::x2Attr,
1087 &SVGNames::widthAttr, 1087 SVGNames::xAttr,
1088 &SVGNames::x1Attr, 1088 SVGNames::xChannelSelectorAttr,
1089 &SVGNames::x2Attr, 1089 SVGNames::y1Attr,
1090 &SVGNames::xAttr, 1090 SVGNames::y2Attr,
1091 &SVGNames::xChannelSelectorAttr, 1091 SVGNames::yAttr,
1092 &SVGNames::y1Attr, 1092 SVGNames::yChannelSelectorAttr,
1093 &SVGNames::y2Attr, 1093 SVGNames::zAttr,
1094 &SVGNames::yAttr, 1094 }));
1095 &SVGNames::yChannelSelectorAttr,
1096 &SVGNames::zAttr,
1097 };
1098 for (size_t i = 0; i < WTF_ARRAY_LENGTH(animatableAttrs); i++)
1099 animatableAttributes.add(*animatableAttrs[i]);
1100 }
1101 1095
1102 if (name == classAttr) 1096 if (name == classAttr)
1103 return true; 1097 return true;
1104 1098
1105 return animatableAttributes.contains(name); 1099 return animatableAttributes.contains(name);
1106 } 1100 }
1107 #endif // DCHECK_IS_ON() 1101 #endif // DCHECK_IS_ON()
1108 1102
1109 SVGElementSet* SVGElement::setOfIncomingReferences() const 1103 SVGElementSet* SVGElement::setOfIncomingReferences() const
1110 { 1104 {
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
1175 Element::trace(visitor); 1169 Element::trace(visitor);
1176 } 1170 }
1177 1171
1178 const AtomicString& SVGElement::eventParameterName() 1172 const AtomicString& SVGElement::eventParameterName()
1179 { 1173 {
1180 DEFINE_STATIC_LOCAL(const AtomicString, evtString, ("evt")); 1174 DEFINE_STATIC_LOCAL(const AtomicString, evtString, ("evt"));
1181 return evtString; 1175 return evtString;
1182 } 1176 }
1183 1177
1184 } // namespace blink 1178 } // namespace blink
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/layout/svg/SVGResources.cpp ('k') | third_party/WebKit/Source/core/svg/SVGLength.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698