Title: [158010] trunk/Source/WebCore
Revision
158010
Author
[email protected]
Date
2013-10-25 06:52:57 -0700 (Fri, 25 Oct 2013)

Log Message

SVGResourcesCache::clientLayoutChanged() should take a RenderElement&.
<https://webkit.org/b/123336>

This function is always called with an object, and that object
is guaranteed to never be a text renderer.

Reviewed by Antti Koivisto.

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (158009 => 158010)


--- trunk/Source/WebCore/ChangeLog	2013-10-25 13:49:57 UTC (rev 158009)
+++ trunk/Source/WebCore/ChangeLog	2013-10-25 13:52:57 UTC (rev 158010)
@@ -1,5 +1,15 @@
 2013-10-25  Andreas Kling  <[email protected]>
 
+        SVGResourcesCache::clientLayoutChanged() should take a RenderElement&.
+        <https://webkit.org/b/123336>
+
+        This function is always called with an object, and that object
+        is guaranteed to never be a text renderer.
+
+        Reviewed by Antti Koivisto.
+
+2013-10-25  Andreas Kling  <[email protected]>
+
         SVGResourcesCache::clientStyleChanged() should take a RenderElement&.
         <https://webkit.org/b/123335>
 

Modified: trunk/Source/WebCore/rendering/svg/RenderSVGContainer.cpp (158009 => 158010)


--- trunk/Source/WebCore/rendering/svg/RenderSVGContainer.cpp	2013-10-25 13:49:57 UTC (rev 158009)
+++ trunk/Source/WebCore/rendering/svg/RenderSVGContainer.cpp	2013-10-25 13:52:57 UTC (rev 158010)
@@ -73,7 +73,7 @@
 
     // Invalidate all resources of this client if our layout changed.
     if (everHadLayout() && needsLayout())
-        SVGResourcesCache::clientLayoutChanged(this);
+        SVGResourcesCache::clientLayoutChanged(*this);
 
     // At this point LayoutRepainter already grabbed the old bounds,
     // recalculate them now so repaintAfterLayout() uses the new bounds.

Modified: trunk/Source/WebCore/rendering/svg/RenderSVGForeignObject.cpp (158009 => 158010)


--- trunk/Source/WebCore/rendering/svg/RenderSVGForeignObject.cpp	2013-10-25 13:49:57 UTC (rev 158009)
+++ trunk/Source/WebCore/rendering/svg/RenderSVGForeignObject.cpp	2013-10-25 13:52:57 UTC (rev 158010)
@@ -168,7 +168,7 @@
 
     // Invalidate all resources of this client if our layout changed.
     if (layoutChanged)
-        SVGResourcesCache::clientLayoutChanged(this);
+        SVGResourcesCache::clientLayoutChanged(*this);
 
     repainter.repaintAfterLayout();
 }

Modified: trunk/Source/WebCore/rendering/svg/RenderSVGImage.cpp (158009 => 158010)


--- trunk/Source/WebCore/rendering/svg/RenderSVGImage.cpp	2013-10-25 13:49:57 UTC (rev 158009)
+++ trunk/Source/WebCore/rendering/svg/RenderSVGImage.cpp	2013-10-25 13:52:57 UTC (rev 158010)
@@ -108,7 +108,7 @@
 
     // Invalidate all resources of this client if our layout changed.
     if (everHadLayout() && selfNeedsLayout())
-        SVGResourcesCache::clientLayoutChanged(this);
+        SVGResourcesCache::clientLayoutChanged(*this);
 
     // If our bounds changed, notify the parents.
     if (transformOrBoundariesUpdate)

Modified: trunk/Source/WebCore/rendering/svg/RenderSVGShape.cpp (158009 => 158010)


--- trunk/Source/WebCore/rendering/svg/RenderSVGShape.cpp	2013-10-25 13:49:57 UTC (rev 158009)
+++ trunk/Source/WebCore/rendering/svg/RenderSVGShape.cpp	2013-10-25 13:52:57 UTC (rev 158010)
@@ -165,7 +165,7 @@
 
     // Invalidate all resources of this client if our layout changed.
     if (everHadLayout() && selfNeedsLayout())
-        SVGResourcesCache::clientLayoutChanged(this);
+        SVGResourcesCache::clientLayoutChanged(*this);
 
     // If our bounds changed, notify the parents.
     if (updateCachedBoundariesInParents)

Modified: trunk/Source/WebCore/rendering/svg/RenderSVGText.cpp (158009 => 158010)


--- trunk/Source/WebCore/rendering/svg/RenderSVGText.cpp	2013-10-25 13:49:57 UTC (rev 158009)
+++ trunk/Source/WebCore/rendering/svg/RenderSVGText.cpp	2013-10-25 13:52:57 UTC (rev 158010)
@@ -431,7 +431,7 @@
 
     // Invalidate all resources of this client if our layout changed.
     if (everHadLayout() && selfNeedsLayout())
-        SVGResourcesCache::clientLayoutChanged(this);
+        SVGResourcesCache::clientLayoutChanged(*this);
 
     // If our bounds changed, notify the parents.
     if (updateCachedBoundariesInParents)

Modified: trunk/Source/WebCore/rendering/svg/SVGResourcesCache.cpp (158009 => 158010)


--- trunk/Source/WebCore/rendering/svg/SVGResourcesCache.cpp	2013-10-25 13:49:57 UTC (rev 158009)
+++ trunk/Source/WebCore/rendering/svg/SVGResourcesCache.cpp	2013-10-25 13:52:57 UTC (rev 158010)
@@ -101,16 +101,16 @@
     return resourcesCacheFromRenderObject(renderer)->m_cache.get(renderer);
 }
 
-void SVGResourcesCache::clientLayoutChanged(RenderObject* object)
+void SVGResourcesCache::clientLayoutChanged(RenderElement& renderer)
 {
-    SVGResources* resources = SVGResourcesCache::cachedResourcesForRenderObject(object);
+    SVGResources* resources = SVGResourcesCache::cachedResourcesForRenderObject(&renderer);
     if (!resources)
         return;
 
-    // Invalidate the resources if either the RenderObject itself changed,
+    // Invalidate the resources if either the RenderElement itself changed,
     // or we have filter resources, which could depend on the layout of children.
-    if (object->selfNeedsLayout())
-        resources->removeClientFromCache(object);
+    if (renderer.selfNeedsLayout())
+        resources->removeClientFromCache(&renderer);
 }
 
 static inline bool rendererCanHaveResources(RenderObject* renderer)

Modified: trunk/Source/WebCore/rendering/svg/SVGResourcesCache.h (158009 => 158010)


--- trunk/Source/WebCore/rendering/svg/SVGResourcesCache.h	2013-10-25 13:49:57 UTC (rev 158009)
+++ trunk/Source/WebCore/rendering/svg/SVGResourcesCache.h	2013-10-25 13:52:57 UTC (rev 158010)
@@ -27,6 +27,7 @@
 
 namespace WebCore {
 
+class RenderElement;
 class RenderObject;
 class RenderStyle;
 class RenderSVGResourceContainer;
@@ -50,7 +51,7 @@
     static void clientDestroyed(RenderObject*);
 
     // Called from all SVG renderers layout() methods.
-    static void clientLayoutChanged(RenderObject*);
+    static void clientLayoutChanged(RenderElement&);
 
     // Called from all SVG renderers styleDidChange() methods.
     static void clientStyleChanged(RenderElement&, StyleDifference, const RenderStyle& newStyle);
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to