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 948 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
959 } | 959 } |
960 | 960 |
961 void SVGElement::markForLayoutAndParentResourceInvalidation(LayoutObject* render
er) | 961 void SVGElement::markForLayoutAndParentResourceInvalidation(LayoutObject* render
er) |
962 { | 962 { |
963 ASSERT(renderer); | 963 ASSERT(renderer); |
964 LayoutSVGResourceContainer::markForLayoutAndParentResourceInvalidation(rende
rer, true); | 964 LayoutSVGResourceContainer::markForLayoutAndParentResourceInvalidation(rende
rer, true); |
965 } | 965 } |
966 | 966 |
967 void SVGElement::invalidateInstances() | 967 void SVGElement::invalidateInstances() |
968 { | 968 { |
969 if (!inDocument()) | |
970 return; | |
971 | |
972 if (instanceUpdatesBlocked()) | 969 if (instanceUpdatesBlocked()) |
973 return; | 970 return; |
974 | 971 |
975 const WillBeHeapHashSet<RawPtrWillBeWeakMember<SVGElement>>& set = instances
ForElement(); | 972 const WillBeHeapHashSet<RawPtrWillBeWeakMember<SVGElement>>& set = instances
ForElement(); |
976 if (set.isEmpty()) | 973 if (set.isEmpty()) |
977 return; | 974 return; |
978 | 975 |
979 // Mark all use elements referencing 'element' for rebuilding | 976 // Mark all use elements referencing 'element' for rebuilding |
980 for (SVGElement* instance : set) { | 977 for (SVGElement* instance : set) { |
981 instance->setCorrespondingElement(0); | 978 instance->setCorrespondingElement(0); |
982 | 979 |
983 if (SVGUseElement* element = instance->correspondingUseElement()) { | 980 if (SVGUseElement* element = instance->correspondingUseElement()) { |
984 ASSERT(element->inDocument()); | 981 if (element->inDocument()) |
985 element->invalidateShadowTree(); | 982 element->invalidateShadowTree(); |
986 } | 983 } |
987 } | 984 } |
988 | 985 |
989 svgRareData()->elementInstances().clear(); | 986 svgRareData()->elementInstances().clear(); |
990 | 987 |
991 document().updateRenderTreeIfNeeded(); | 988 if (inDocument()) |
| 989 document().updateRenderTreeIfNeeded(); |
992 } | 990 } |
993 | 991 |
994 SVGElement::InstanceUpdateBlocker::InstanceUpdateBlocker(SVGElement* targetEleme
nt) | 992 SVGElement::InstanceUpdateBlocker::InstanceUpdateBlocker(SVGElement* targetEleme
nt) |
995 : m_targetElement(targetElement) | 993 : m_targetElement(targetElement) |
996 { | 994 { |
997 if (m_targetElement) | 995 if (m_targetElement) |
998 m_targetElement->setInstanceUpdatesBlocked(true); | 996 m_targetElement->setInstanceUpdatesBlocked(true); |
999 } | 997 } |
1000 | 998 |
1001 SVGElement::InstanceUpdateBlocker::~InstanceUpdateBlocker() | 999 SVGElement::InstanceUpdateBlocker::~InstanceUpdateBlocker() |
(...skipping 184 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1186 Element::trace(visitor); | 1184 Element::trace(visitor); |
1187 } | 1185 } |
1188 | 1186 |
1189 const AtomicString& SVGElement::eventParameterName() | 1187 const AtomicString& SVGElement::eventParameterName() |
1190 { | 1188 { |
1191 DEFINE_STATIC_LOCAL(const AtomicString, evtString, ("evt", AtomicString::Con
structFromLiteral)); | 1189 DEFINE_STATIC_LOCAL(const AtomicString, evtString, ("evt", AtomicString::Con
structFromLiteral)); |
1192 return evtString; | 1190 return evtString; |
1193 } | 1191 } |
1194 | 1192 |
1195 } // namespace blink | 1193 } // namespace blink |
OLD | NEW |