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

Side by Side Diff: Source/core/svg/animation/SVGSMILElement.cpp

Issue 860063002: Initialize GC mixin bases only when leftmost vtable has been initialized. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: add comments explaining purpose Created 5 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
« no previous file with comments | « Source/core/svg/SVGViewSpec.cpp ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2008 Apple Inc. All rights reserved. 2 * Copyright (C) 2008 Apple Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions 5 * modification, are permitted provided that the following conditions
6 * are met: 6 * are met:
7 * 1. Redistributions of source code must retain the above copyright 7 * 1. Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer. 8 * notice, this list of conditions and the following disclaimer.
9 * 2. Redistributions in binary form must reproduce the above copyright 9 * 2. Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the 10 * notice, this list of conditions and the following disclaimer in the
(...skipping 153 matching lines...) Expand 10 before | Expand all | Expand 10 after
164 , m_beginOrEnd(beginOrEnd) 164 , m_beginOrEnd(beginOrEnd)
165 , m_baseID(baseID) 165 , m_baseID(baseID)
166 , m_name(name) 166 , m_name(name)
167 , m_offset(offset) 167 , m_offset(offset)
168 , m_repeat(repeat) 168 , m_repeat(repeat)
169 { 169 {
170 } 170 }
171 171
172 SVGSMILElement::SVGSMILElement(const QualifiedName& tagName, Document& doc) 172 SVGSMILElement::SVGSMILElement(const QualifiedName& tagName, Document& doc)
173 : SVGElement(tagName, doc) 173 : SVGElement(tagName, doc)
174 , SVGTests(this)
175 , m_attributeName(anyQName()) 174 , m_attributeName(anyQName())
176 , m_targetElement(nullptr) 175 , m_targetElement(nullptr)
177 , m_syncBaseConditionsConnected(false) 176 , m_syncBaseConditionsConnected(false)
178 , m_hasEndEventConditions(false) 177 , m_hasEndEventConditions(false)
179 , m_isWaitingForFirstInterval(true) 178 , m_isWaitingForFirstInterval(true)
180 , m_interval(SMILInterval(SMILTime::unresolved(), SMILTime::unresolved())) 179 , m_interval(SMILInterval(SMILTime::unresolved(), SMILTime::unresolved()))
181 , m_previousIntervalBegin(SMILTime::unresolved()) 180 , m_previousIntervalBegin(SMILTime::unresolved())
182 , m_activeState(Inactive) 181 , m_activeState(Inactive)
183 , m_lastPercent(0) 182 , m_lastPercent(0)
184 , m_lastRepeat(0) 183 , m_lastRepeat(0)
185 , m_nextProgressTime(0) 184 , m_nextProgressTime(0)
186 , m_documentOrderIndex(0) 185 , m_documentOrderIndex(0)
187 , m_cachedDur(invalidCachedTime) 186 , m_cachedDur(invalidCachedTime)
188 , m_cachedRepeatDur(invalidCachedTime) 187 , m_cachedRepeatDur(invalidCachedTime)
189 , m_cachedRepeatCount(invalidCachedTime) 188 , m_cachedRepeatCount(invalidCachedTime)
190 , m_cachedMin(invalidCachedTime) 189 , m_cachedMin(invalidCachedTime)
191 , m_cachedMax(invalidCachedTime) 190 , m_cachedMax(invalidCachedTime)
192 { 191 {
192 SVGTests::initialize(this);
193
193 resolveFirstInterval(); 194 resolveFirstInterval();
194 } 195 }
195 196
196 SVGSMILElement::~SVGSMILElement() 197 SVGSMILElement::~SVGSMILElement()
197 { 198 {
198 #if !ENABLE(OILPAN) 199 #if !ENABLE(OILPAN)
199 clearResourceAndEventBaseReferences(); 200 clearResourceAndEventBaseReferences();
200 #endif 201 #endif
201 smilEndEventSender().cancelEvent(this); 202 smilEndEventSender().cancelEvent(this);
202 smilBeginEventSender().cancelEvent(this); 203 smilBeginEventSender().cancelEvent(this);
(...skipping 1157 matching lines...) Expand 10 before | Expand all | Expand 10 after
1360 visitor->trace(m_targetElement); 1361 visitor->trace(m_targetElement);
1361 visitor->trace(m_timeContainer); 1362 visitor->trace(m_timeContainer);
1362 visitor->trace(m_conditions); 1363 visitor->trace(m_conditions);
1363 visitor->trace(m_syncBaseDependents); 1364 visitor->trace(m_syncBaseDependents);
1364 #endif 1365 #endif
1365 SVGElement::trace(visitor); 1366 SVGElement::trace(visitor);
1366 SVGTests::trace(visitor); 1367 SVGTests::trace(visitor);
1367 } 1368 }
1368 1369
1369 } // namespace blink 1370 } // namespace blink
OLDNEW
« no previous file with comments | « Source/core/svg/SVGViewSpec.cpp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698