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

Side by Side Diff: Source/core/svg/properties/SVGAnimatedProperty.h

Issue 1330673002: Oilpan: Fix a cycle caused by SVGPropertyTearOffBase::m_contextElement (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 5 years, 3 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
« no previous file with comments | « no previous file | Source/core/svg/properties/SVGPropertyTearOff.h » ('j') | 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) 2013 Google Inc. All rights reserved. 2 * Copyright (C) 2013 Google 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 are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 G* * Redistributions in binary form must reproduce the above 10 G* * Redistributions in binary form must reproduce the above
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
94 { 94 {
95 } 95 }
96 96
97 protected: 97 protected:
98 SVGAnimatedPropertyBase(AnimatedPropertyType, SVGElement*, const QualifiedNa me& attributeName); 98 SVGAnimatedPropertyBase(AnimatedPropertyType, SVGElement*, const QualifiedNa me& attributeName);
99 99
100 private: 100 private:
101 const AnimatedPropertyType m_type; 101 const AnimatedPropertyType m_type;
102 bool m_isReadOnly; 102 bool m_isReadOnly;
103 103
104 // This reference is kept alive from V8 wrapper 104 // This raw pointer is safe since the SVG element is guaranteed to be kept
105 // TODO(oilpan): This should be a Member. Currently we cannot do it because 105 // alive by a V8 wrapper.
106 // it creates a cycle as follows: 106 GC_PLUGIN_IGNORE("crbug.com/528275")
107 // SVGInterporation =(Persistent)=>
108 // SVGAnimatedProperty =(Member)=>
109 // SVGElement =(Member)=>
110 // ElementRareData =(Member)=>
111 // ElementAnimations =(part of object)=>
112 // CSSAnimations =(part of object)=>
113 // CSSAnimationUpdate =(Member)=>
114 // NewTransition =(Member)=>
115 // InertEffect =(Member)=>
116 // EffectModel =(RefPtr)=>
117 // InterpolationEffect =(RefPtr)=>
118 // InterpolationRecord =(RefPtr)=>
119 // SVGInterpolation
120 SVGElement* m_contextElement; 107 SVGElement* m_contextElement;
121 108
122 const QualifiedName& m_attributeName; 109 const QualifiedName& m_attributeName;
123 }; 110 };
124 111
125 template <typename Property> 112 template <typename Property>
126 class SVGAnimatedPropertyCommon : public SVGAnimatedPropertyBase { 113 class SVGAnimatedPropertyCommon : public SVGAnimatedPropertyBase {
127 public: 114 public:
128 Property* baseValue() 115 Property* baseValue()
129 { 116 {
(...skipping 205 matching lines...) Expand 10 before | Expand all | Expand 10 after
335 // When animated: 322 // When animated:
336 // m_animValTearOff targets m_currentValue. 323 // m_animValTearOff targets m_currentValue.
337 // m_baseValTearOff targets m_baseValue. 324 // m_baseValTearOff targets m_baseValue.
338 RefPtrWillBeMember<TearOffType> m_baseValTearOff; 325 RefPtrWillBeMember<TearOffType> m_baseValTearOff;
339 RefPtrWillBeMember<TearOffType> m_animValTearOff; 326 RefPtrWillBeMember<TearOffType> m_animValTearOff;
340 }; 327 };
341 328
342 } // namespace blink 329 } // namespace blink
343 330
344 #endif // SVGAnimatedProperty_h 331 #endif // SVGAnimatedProperty_h
OLDNEW
« no previous file with comments | « no previous file | Source/core/svg/properties/SVGPropertyTearOff.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698