Changeset 117792 in webkit
- Timestamp:
- May 21, 2012, 9:19:58 AM (14 years ago)
- Location:
- trunk
- Files:
-
- 2 added
- 3 edited
-
LayoutTests/ChangeLog (modified) (1 diff)
-
LayoutTests/svg/custom/bug86119-expected.txt (added)
-
LayoutTests/svg/custom/bug86119.html (added)
-
Source/WebCore/ChangeLog (modified) (1 diff)
-
Source/WebCore/svg/properties/SVGAnimatedPropertyTearOff.h (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r117791 r117792 1 2012-05-21 Stephen Chenney <schenney@chromium.org> 2 3 SVGAnimatedPropertyTearOff does not clear a self pointer on deletion 4 https://bugs.webkit.org/show_bug.cgi?id=86119 5 6 Reviewed by Nikolas Zimmermann. 7 8 * svg/custom/bug86119.html: Added. 9 * svg/custom/bug86119-expected.txt: Added. 10 1 11 2012-05-21 Luke Macpherson <macpherson@chromium.org> 2 12 -
trunk/Source/WebCore/ChangeLog
r117790 r117792 1 2012-05-21 Stephen Chenney <schenney@chromium.org> 2 3 SVGAnimatedPropertyTearOff does not clear a self pointer on deletion 4 https://bugs.webkit.org/show_bug.cgi?id=86119 5 6 Reviewed by Nikolas Zimmermann. 7 8 SVGAnimatedPropertyTearOff contains two SVGPropertyTearOff objects 9 that have a pointer back to the SVGAnimatedPropertyTearOff. JS may 10 also have a reference to these SVGPropertyTearOff objects. When the 11 SVGAnimatedPropertyTearOff is deleted, the SVGPropertyTearOff objects 12 may live on, but the pointer back to the deleted animated property 13 tear off is left invalid. This patch clears the pointers on destruction 14 of the SVGAnimatedPropertyTearOff. 15 16 Test: svg/custom/bug86119.html 17 18 * svg/properties/SVGAnimatedPropertyTearOff.h: 19 (WebCore::SVGAnimatedPropertyTearOff::~SVGAnimatedPropertyTearOff): 20 (SVGAnimatedPropertyTearOff): 21 1 22 2012-05-21 Stephen Chenney <schenney@chromium.org> 2 23 -
trunk/Source/WebCore/svg/properties/SVGAnimatedPropertyTearOff.h
r116451 r117792 32 32 typedef SVGPropertyTearOff<PropertyType> PropertyTearOff; 33 33 typedef PropertyType ContentType; 34 35 virtual ~SVGAnimatedPropertyTearOff() 36 { 37 if (m_baseVal) { 38 ASSERT(m_baseVal->animatedProperty() == this); 39 m_baseVal->setAnimatedProperty(0); 40 } 41 if (m_animVal) { 42 ASSERT(m_animVal->animatedProperty() == this); 43 m_animVal->setAnimatedProperty(0); 44 } 45 } 34 46 35 47 PropertyTearOff* baseVal()
Note:
See TracChangeset
for help on using the changeset viewer.