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

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

Issue 305783004: Prepare SVGSMILElement for oilpan (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 6 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) 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 168 matching lines...) Expand 10 before | Expand all | Expand 10 after
179 } 179 }
180 ~Condition(); 180 ~Condition();
181 void trace(Visitor*); 181 void trace(Visitor*);
182 182
183 Type type() const { return m_type; } 183 Type type() const { return m_type; }
184 BeginOrEnd beginOrEnd() const { return m_beginOrEnd; } 184 BeginOrEnd beginOrEnd() const { return m_beginOrEnd; }
185 String baseID() const { return m_baseID; } 185 String baseID() const { return m_baseID; }
186 String name() const { return m_name; } 186 String name() const { return m_name; }
187 SMILTime offset() const { return m_offset; } 187 SMILTime offset() const { return m_offset; }
188 int repeat() const { return m_repeat; } 188 int repeat() const { return m_repeat; }
189 Element* syncBase() const { return m_syncBase.get(); } 189 SVGSMILElement* syncBase() const { return m_syncBase.get(); }
190 void setSyncBase(Element* element) { m_syncBase = element; } 190 void setSyncBase(SVGSMILElement* element) { m_syncBase = element; }
191 ConditionEventListener* eventListener() const { return m_eventListener.g et(); } 191 ConditionEventListener* eventListener() const { return m_eventListener.g et(); }
192 void setEventListener(PassRefPtr<ConditionEventListener>); 192 void setEventListener(PassRefPtr<ConditionEventListener>);
193 193
194 private: 194 private:
195 Type m_type; 195 Type m_type;
196 BeginOrEnd m_beginOrEnd; 196 BeginOrEnd m_beginOrEnd;
197 String m_baseID; 197 String m_baseID;
198 String m_name; 198 String m_name;
199 SMILTime m_offset; 199 SMILTime m_offset;
200 int m_repeat; 200 int m_repeat;
201 RefPtrWillBeMember<Element> m_syncBase; 201 RefPtrWillBeWeakMember<SVGSMILElement> m_syncBase;
haraken 2014/05/29 04:58:58 It looks strange that RefPtr becomes WeakMember. S
kouhei (in TOK) 2014/05/29 05:08:10 syncBase was manually unregistered via d-tor, howe
haraken 2014/05/29 06:14:10 Even if "X was manually unregistered via d-tor", i
202 RefPtr<ConditionEventListener> m_eventListener; 202 RefPtr<ConditionEventListener> m_eventListener;
203 }; 203 };
204 bool parseCondition(const String&, BeginOrEnd beginOrEnd); 204 bool parseCondition(const String&, BeginOrEnd beginOrEnd);
205 void parseBeginOrEnd(const String&, BeginOrEnd beginOrEnd); 205 void parseBeginOrEnd(const String&, BeginOrEnd beginOrEnd);
206 SVGElement* eventBaseFor(const Condition&); 206 SVGElement* eventBaseFor(const Condition&);
207 207
208 void disconnectSyncBaseConditions(); 208 void disconnectSyncBaseConditions();
209 void disconnectEventBaseConditions(); 209 void disconnectEventBaseConditions();
210 210
211 // Event base timing 211 // Event base timing
(...skipping 17 matching lines...) Expand all
229 SMILTime calculateNextProgressTime(SMILTime elapsed) const; 229 SMILTime calculateNextProgressTime(SMILTime elapsed) const;
230 230
231 RawPtrWillBeMember<SVGElement> m_targetElement; 231 RawPtrWillBeMember<SVGElement> m_targetElement;
232 232
233 WillBeHeapVector<OwnPtrWillBeMember<Condition> > m_conditions; 233 WillBeHeapVector<OwnPtrWillBeMember<Condition> > m_conditions;
234 bool m_syncBaseConditionsConnected; 234 bool m_syncBaseConditionsConnected;
235 bool m_hasEndEventConditions; 235 bool m_hasEndEventConditions;
236 236
237 bool m_isWaitingForFirstInterval; 237 bool m_isWaitingForFirstInterval;
238 238
239 typedef WillBeHeapHashSet<RawPtrWillBeMember<SVGSMILElement> > TimeDependent Set; 239 typedef WillBeHeapHashSet<RawPtrWillBeWeakMember<SVGSMILElement> > TimeDepen dentSet;
240 TimeDependentSet m_syncBaseDependents; 240 TimeDependentSet m_syncBaseDependents;
241 241
242 // Instance time lists 242 // Instance time lists
243 Vector<SMILTimeWithOrigin> m_beginTimes; 243 Vector<SMILTimeWithOrigin> m_beginTimes;
244 Vector<SMILTimeWithOrigin> m_endTimes; 244 Vector<SMILTimeWithOrigin> m_endTimes;
245 245
246 // This is the upcoming or current interval 246 // This is the upcoming or current interval
247 SMILTime m_intervalBegin; 247 SMILTime m_intervalBegin;
248 SMILTime m_intervalEnd; 248 SMILTime m_intervalEnd;
249 249
(...skipping 23 matching lines...) Expand all
273 { 273 {
274 return node.hasTagName(SVGNames::setTag) || node.hasTagName(SVGNames::animat eTag) || node.hasTagName(SVGNames::animateMotionTag) 274 return node.hasTagName(SVGNames::setTag) || node.hasTagName(SVGNames::animat eTag) || node.hasTagName(SVGNames::animateMotionTag)
275 || node.hasTagName(SVGNames::animateTransformTag) || node.hasTagName((SV GNames::discardTag)); 275 || node.hasTagName(SVGNames::animateTransformTag) || node.hasTagName((SV GNames::discardTag));
276 } 276 }
277 277
278 DEFINE_ELEMENT_TYPE_CASTS_WITH_FUNCTION(SVGSMILElement); 278 DEFINE_ELEMENT_TYPE_CASTS_WITH_FUNCTION(SVGSMILElement);
279 279
280 } 280 }
281 281
282 #endif // SVGSMILElement_h 282 #endif // SVGSMILElement_h
OLDNEW
« no previous file with comments | « no previous file | Source/core/svg/animation/SVGSMILElement.cpp » ('j') | Source/core/svg/animation/SVGSMILElement.cpp » ('J')

Powered by Google App Engine
This is Rietveld 408576698