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

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

Issue 1554903002: EventSender<T> singletons are better off on the Oilpan heap. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: remove no-op cancelEvent()s Created 4 years, 11 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, 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
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
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
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 }
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/svg/SVGUseElement.h ('k') | third_party/WebKit/Source/core/svg/animation/SVGSMILElement.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698