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 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
42 #include "core/layout/svg/LayoutSVGResourceContainer.h" | 42 #include "core/layout/svg/LayoutSVGResourceContainer.h" |
43 #include "core/svg/SVGCursorElement.h" | 43 #include "core/svg/SVGCursorElement.h" |
44 #include "core/svg/SVGDocumentExtensions.h" | 44 #include "core/svg/SVGDocumentExtensions.h" |
45 #include "core/svg/SVGElementRareData.h" | 45 #include "core/svg/SVGElementRareData.h" |
46 #include "core/svg/SVGGraphicsElement.h" | 46 #include "core/svg/SVGGraphicsElement.h" |
47 #include "core/svg/SVGSVGElement.h" | 47 #include "core/svg/SVGSVGElement.h" |
48 #include "core/svg/SVGTitleElement.h" | 48 #include "core/svg/SVGTitleElement.h" |
49 #include "core/svg/SVGUseElement.h" | 49 #include "core/svg/SVGUseElement.h" |
50 #include "platform/JSONValues.h" | 50 #include "platform/JSONValues.h" |
51 #include "wtf/TemporaryChange.h" | 51 #include "wtf/TemporaryChange.h" |
| 52 #include "wtf/Threading.h" |
52 | 53 |
53 namespace blink { | 54 namespace blink { |
54 | 55 |
55 using namespace HTMLNames; | 56 using namespace HTMLNames; |
56 using namespace SVGNames; | 57 using namespace SVGNames; |
57 | 58 |
58 SVGElement::SVGElement(const QualifiedName& tagName, Document& document, Constru
ctionType constructionType) | 59 SVGElement::SVGElement(const QualifiedName& tagName, Document& document, Constru
ctionType constructionType) |
59 : Element(tagName, &document, constructionType) | 60 : Element(tagName, &document, constructionType) |
60 #if ENABLE(ASSERT) | 61 #if ENABLE(ASSERT) |
61 , m_inRelativeLengthClientsInvalidation(false) | 62 , m_inRelativeLengthClientsInvalidation(false) |
(...skipping 912 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
974 | 975 |
975 SVGElement::InstanceUpdateBlocker::~InstanceUpdateBlocker() | 976 SVGElement::InstanceUpdateBlocker::~InstanceUpdateBlocker() |
976 { | 977 { |
977 if (m_targetElement) | 978 if (m_targetElement) |
978 m_targetElement->setInstanceUpdatesBlocked(false); | 979 m_targetElement->setInstanceUpdatesBlocked(false); |
979 } | 980 } |
980 | 981 |
981 #if ENABLE(ASSERT) | 982 #if ENABLE(ASSERT) |
982 bool SVGElement::isAnimatableAttribute(const QualifiedName& name) const | 983 bool SVGElement::isAnimatableAttribute(const QualifiedName& name) const |
983 { | 984 { |
984 DEFINE_STATIC_LOCAL(HashSet<QualifiedName>, animatableAttributes, ()); | 985 // This static is atomically initialized to dodge a warning about |
| 986 // a race when dumping debug data for a layer. |
| 987 AtomicallyInitializedStaticReference(HashSet<QualifiedName>, animatableAttri
butes, new HashSet<QualifiedName>()); |
985 | 988 |
986 if (animatableAttributes.isEmpty()) { | 989 if (animatableAttributes.isEmpty()) { |
987 const QualifiedName* const animatableAttrs[] = { | 990 const QualifiedName* const animatableAttrs[] = { |
988 &XLinkNames::hrefAttr, | 991 &XLinkNames::hrefAttr, |
989 &SVGNames::amplitudeAttr, | 992 &SVGNames::amplitudeAttr, |
990 &SVGNames::azimuthAttr, | 993 &SVGNames::azimuthAttr, |
991 &SVGNames::baseFrequencyAttr, | 994 &SVGNames::baseFrequencyAttr, |
992 &SVGNames::biasAttr, | 995 &SVGNames::biasAttr, |
993 &SVGNames::clipPathUnitsAttr, | 996 &SVGNames::clipPathUnitsAttr, |
994 &SVGNames::cxAttr, | 997 &SVGNames::cxAttr, |
(...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1159 Element::trace(visitor); | 1162 Element::trace(visitor); |
1160 } | 1163 } |
1161 | 1164 |
1162 const AtomicString& SVGElement::eventParameterName() | 1165 const AtomicString& SVGElement::eventParameterName() |
1163 { | 1166 { |
1164 DEFINE_STATIC_LOCAL(const AtomicString, evtString, ("evt", AtomicString::Con
structFromLiteral)); | 1167 DEFINE_STATIC_LOCAL(const AtomicString, evtString, ("evt", AtomicString::Con
structFromLiteral)); |
1165 return evtString; | 1168 return evtString; |
1166 } | 1169 } |
1167 | 1170 |
1168 } // namespace blink | 1171 } // namespace blink |
OLD | NEW |