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

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

Issue 1150623003: Revamp asynchronous (load) event dispatching for SVG elements (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 5 years, 7 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 | Annotate | Revision Log
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 810 matching lines...) Expand 10 before | Expand all | Expand 10 after
821 // the element in question. 821 // the element in question.
822 if (document().loadEventFinished()) 822 if (document().loadEventFinished())
823 return; 823 return;
824 824
825 if (!parent || !parent->isSVGElement()) 825 if (!parent || !parent->isSVGElement())
826 return; 826 return;
827 827
828 toSVGElement(parent)->sendSVGLoadEventToSelfAndAncestorChainIfPossible(); 828 toSVGElement(parent)->sendSVGLoadEventToSelfAndAncestorChainIfPossible();
829 } 829 }
830 830
831 void SVGElement::sendSVGLoadEventIfPossibleAsynchronously()
832 {
833 svgLoadEventTimer()->startOneShot(0, FROM_HERE);
834 }
835
836 void SVGElement::svgLoadEventTimerFired(Timer<SVGElement>*)
837 {
838 sendSVGLoadEventIfPossible();
839 }
840
841 Timer<SVGElement>* SVGElement::svgLoadEventTimer()
842 {
843 ASSERT_NOT_REACHED();
844 return nullptr;
845 }
846
847 void SVGElement::attributeChanged(const QualifiedName& name, const AtomicString& newValue, AttributeModificationReason) 831 void SVGElement::attributeChanged(const QualifiedName& name, const AtomicString& newValue, AttributeModificationReason)
848 { 832 {
849 Element::attributeChanged(name, newValue); 833 Element::attributeChanged(name, newValue);
850 834
851 if (isIdAttributeName(name)) 835 if (isIdAttributeName(name))
852 rebuildAllIncomingReferences(); 836 rebuildAllIncomingReferences();
853 837
854 // Changes to the style attribute are processed lazily (see Element::getAttr ibute() and related methods), 838 // Changes to the style attribute are processed lazily (see Element::getAttr ibute() and related methods),
855 // so we don't want changes to the style attribute to result in extra work h ere. 839 // so we don't want changes to the style attribute to result in extra work h ere.
856 if (name != HTMLNames::styleAttr) 840 if (name != HTMLNames::styleAttr)
(...skipping 325 matching lines...) Expand 10 before | Expand all | Expand 10 after
1182 Element::trace(visitor); 1166 Element::trace(visitor);
1183 } 1167 }
1184 1168
1185 const AtomicString& SVGElement::eventParameterName() 1169 const AtomicString& SVGElement::eventParameterName()
1186 { 1170 {
1187 DEFINE_STATIC_LOCAL(const AtomicString, evtString, ("evt", AtomicString::Con structFromLiteral)); 1171 DEFINE_STATIC_LOCAL(const AtomicString, evtString, ("evt", AtomicString::Con structFromLiteral));
1188 return evtString; 1172 return evtString;
1189 } 1173 }
1190 1174
1191 } // namespace blink 1175 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698