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, 2007 Rob Buis <buis@kde.org> | 3 * Copyright (C) 2004, 2005, 2006, 2007 Rob Buis <buis@kde.org> |
4 * Copyright (C) Research In Motion Limited 2009-2010. All rights reserved. | 4 * Copyright (C) Research In Motion Limited 2009-2010. All rights reserved. |
5 * Copyright (C) 2011 Torch Mobile (Beijing) Co. Ltd. All rights reserved. | 5 * Copyright (C) 2011 Torch Mobile (Beijing) Co. Ltd. All rights reserved. |
6 * Copyright (C) 2012 University of Szeged | 6 * Copyright (C) 2012 University of Szeged |
7 * Copyright (C) 2012 Renata Hodovan <reni@webkit.org> | 7 * Copyright (C) 2012 Renata Hodovan <reni@webkit.org> |
8 * | 8 * |
9 * This library is free software; you can redistribute it and/or | 9 * This library is free software; you can redistribute it and/or |
10 * modify it under the terms of the GNU Library General Public | 10 * modify it under the terms of the GNU Library General Public |
(...skipping 28 matching lines...) Expand all Loading... |
39 #include "core/svg/SVGGElement.h" | 39 #include "core/svg/SVGGElement.h" |
40 #include "core/svg/SVGLengthContext.h" | 40 #include "core/svg/SVGLengthContext.h" |
41 #include "core/svg/SVGSVGElement.h" | 41 #include "core/svg/SVGSVGElement.h" |
42 #include "core/xml/parser/XMLDocumentParser.h" | 42 #include "core/xml/parser/XMLDocumentParser.h" |
43 #include "wtf/Vector.h" | 43 #include "wtf/Vector.h" |
44 | 44 |
45 namespace blink { | 45 namespace blink { |
46 | 46 |
47 static SVGUseEventSender& svgUseLoadEventSender() | 47 static SVGUseEventSender& svgUseLoadEventSender() |
48 { | 48 { |
49 DEFINE_STATIC_LOCAL(SVGUseEventSender, sharedLoadEventSender, (EventTypeName
s::load)); | 49 DEFINE_STATIC_LOCAL(OwnPtrWillBePersistent<SVGUseEventSender>, sharedLoadEve
ntSender, (SVGUseEventSender::create(EventTypeNames::load))); |
50 return sharedLoadEventSender; | 50 return *sharedLoadEventSender; |
51 } | 51 } |
52 | 52 |
53 inline SVGUseElement::SVGUseElement(Document& document) | 53 inline SVGUseElement::SVGUseElement(Document& document) |
54 : SVGGraphicsElement(SVGNames::useTag, document) | 54 : SVGGraphicsElement(SVGNames::useTag, document) |
55 , SVGURIReference(this) | 55 , SVGURIReference(this) |
56 , m_x(SVGAnimatedLength::create(this, SVGNames::xAttr, SVGLength::create(SVG
LengthMode::Width))) | 56 , m_x(SVGAnimatedLength::create(this, SVGNames::xAttr, SVGLength::create(SVG
LengthMode::Width))) |
57 , m_y(SVGAnimatedLength::create(this, SVGNames::yAttr, SVGLength::create(SVG
LengthMode::Height))) | 57 , m_y(SVGAnimatedLength::create(this, SVGNames::yAttr, SVGLength::create(SVG
LengthMode::Height))) |
58 , m_width(SVGAnimatedLength::create(this, SVGNames::widthAttr, SVGLength::cr
eate(SVGLengthMode::Width))) | 58 , m_width(SVGAnimatedLength::create(this, SVGNames::widthAttr, SVGLength::cr
eate(SVGLengthMode::Width))) |
59 , m_height(SVGAnimatedLength::create(this, SVGNames::heightAttr, SVGLength::
create(SVGLengthMode::Height))) | 59 , m_height(SVGAnimatedLength::create(this, SVGNames::heightAttr, SVGLength::
create(SVGLengthMode::Height))) |
60 , m_haveFiredLoadEvent(false) | 60 , m_haveFiredLoadEvent(false) |
(...skipping 14 matching lines...) Expand all Loading... |
75 use->ensureUserAgentShadowRoot(); | 75 use->ensureUserAgentShadowRoot(); |
76 return use.release(); | 76 return use.release(); |
77 } | 77 } |
78 | 78 |
79 SVGUseElement::~SVGUseElement() | 79 SVGUseElement::~SVGUseElement() |
80 { | 80 { |
81 setDocumentResource(0); | 81 setDocumentResource(0); |
82 #if !ENABLE(OILPAN) | 82 #if !ENABLE(OILPAN) |
83 clearShadowTree(); | 83 clearShadowTree(); |
84 cancelShadowTreeRecreation(); | 84 cancelShadowTreeRecreation(); |
| 85 svgUseLoadEventSender().cancelEvent(this); |
85 #endif | 86 #endif |
86 svgUseLoadEventSender().cancelEvent(this); | |
87 } | 87 } |
88 | 88 |
89 DEFINE_TRACE(SVGUseElement) | 89 DEFINE_TRACE(SVGUseElement) |
90 { | 90 { |
91 visitor->trace(m_x); | 91 visitor->trace(m_x); |
92 visitor->trace(m_y); | 92 visitor->trace(m_y); |
93 visitor->trace(m_width); | 93 visitor->trace(m_width); |
94 visitor->trace(m_height); | 94 visitor->trace(m_height); |
95 visitor->trace(m_targetElementInstance); | 95 visitor->trace(m_targetElementInstance); |
96 SVGGraphicsElement::trace(visitor); | 96 SVGGraphicsElement::trace(visitor); |
(...skipping 718 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
815 | 815 |
816 if (m_resource) | 816 if (m_resource) |
817 m_resource->removeClient(this); | 817 m_resource->removeClient(this); |
818 | 818 |
819 m_resource = resource; | 819 m_resource = resource; |
820 if (m_resource) | 820 if (m_resource) |
821 m_resource->addClient(this); | 821 m_resource->addClient(this); |
822 } | 822 } |
823 | 823 |
824 } | 824 } |
OLD | NEW |