Title: [115639] trunk/Source/WebCore
- Revision
- 115639
- Author
- [email protected]
- Date
- 2012-04-30 08:26:08 -0700 (Mon, 30 Apr 2012)
Log Message
<rdar://problem/11313710> Leaks under WebCore::CSSImageSetValue::cachedImageSet when running tests
There was a reference cycle between CSSImageSetValue and StyleCachedImageSet via
CSSImageSetValue::m_imageSet / StyleCachedImageSet::m_imageSetValue. Break the cycle
by having StyleCachedImageSet hold a weak reference to the CSSImageSetValue rather
than a strong reference.
Reviewed by Geoff Garen.
* rendering/style/StyleCachedImageSet.cpp:
(WebCore::StyleCachedImageSet::StyleCachedImageSet):
* rendering/style/StyleCachedImageSet.h:
(StyleCachedImageSet):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (115638 => 115639)
--- trunk/Source/WebCore/ChangeLog 2012-04-30 15:14:36 UTC (rev 115638)
+++ trunk/Source/WebCore/ChangeLog 2012-04-30 15:26:08 UTC (rev 115639)
@@ -1043,6 +1043,22 @@
2012-04-27 Mark Rowe <[email protected]>
+ <rdar://problem/11313710> Leaks under WebCore::CSSImageSetValue::cachedImageSet when running tests
+
+ There was a reference cycle between CSSImageSetValue and StyleCachedImageSet via
+ CSSImageSetValue::m_imageSet / StyleCachedImageSet::m_imageSetValue. Break the cycle
+ by having StyleCachedImageSet hold a weak reference to the CSSImageSetValue rather
+ than a strong reference.
+
+ Reviewed by Geoff Garen.
+
+ * rendering/style/StyleCachedImageSet.cpp:
+ (WebCore::StyleCachedImageSet::StyleCachedImageSet):
+ * rendering/style/StyleCachedImageSet.h:
+ (StyleCachedImageSet):
+
+2012-04-27 Mark Rowe <[email protected]>
+
<rdar://problem/10346980> REGRESSION: Cannot enter text in Dashboard widget fields that have placeholder attribute
Remove a dashboard backwards compatibility quirk that was in place to support an old version
Modified: trunk/Source/WebCore/rendering/style/StyleCachedImageSet.cpp (115638 => 115639)
--- trunk/Source/WebCore/rendering/style/StyleCachedImageSet.cpp 2012-04-30 15:14:36 UTC (rev 115638)
+++ trunk/Source/WebCore/rendering/style/StyleCachedImageSet.cpp 2012-04-30 15:26:08 UTC (rev 115639)
@@ -34,10 +34,10 @@
namespace WebCore {
-StyleCachedImageSet::StyleCachedImageSet(CachedImage* image, float imageScaleFactor, PassRefPtr<CSSImageSetValue> value)
+StyleCachedImageSet::StyleCachedImageSet(CachedImage* image, float imageScaleFactor, CSSImageSetValue* value)
: m_bestFitImage(image)
, m_imageScaleFactor(imageScaleFactor)
- , m_imageSetValue(value)
+ , m_imageSetValue(value)
{
m_isCachedImageSet = true;
m_bestFitImage->addClient(this);
Modified: trunk/Source/WebCore/rendering/style/StyleCachedImageSet.h (115638 => 115639)
--- trunk/Source/WebCore/rendering/style/StyleCachedImageSet.h 2012-04-30 15:14:36 UTC (rev 115638)
+++ trunk/Source/WebCore/rendering/style/StyleCachedImageSet.h 2012-04-30 15:26:08 UTC (rev 115639)
@@ -71,11 +71,11 @@
virtual PassRefPtr<Image> image(RenderObject*, const IntSize&) const;
private:
- StyleCachedImageSet(CachedImage*, float imageScaleFactor, PassRefPtr<CSSImageSetValue>);
+ StyleCachedImageSet(CachedImage*, float imageScaleFactor, CSSImageSetValue*);
CachedResourceHandle<CachedImage> m_bestFitImage;
float m_imageScaleFactor;
- RefPtr<CSSImageSetValue> m_imageSetValue;
+ CSSImageSetValue* m_imageSetValue; // Not retained; it owns us.
};
} // namespace WebCore
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes