Title: [99574] trunk/Source/WebCore
Revision
99574
Author
[email protected]
Date
2011-11-08 08:46:15 -0800 (Tue, 08 Nov 2011)

Log Message

CSSImageValue: Devirtualize cachedImage(CachedResourceLoader*).
<http://webkit.org/b/71814>

Reviewed by Antti Koivisto.

Defer to CSSCursorImageValue (the only CSSImageValue subclass)
when appropriate in CSSImageValue::cachedImage(CachedResourceLoader*).

* css/CSSCursorImageValue.h:
* css/CSSImageValue.cpp:
(WebCore::CSSImageValue::cachedImage):
* css/CSSImageValue.h:

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (99573 => 99574)


--- trunk/Source/WebCore/ChangeLog	2011-11-08 16:38:04 UTC (rev 99573)
+++ trunk/Source/WebCore/ChangeLog	2011-11-08 16:46:15 UTC (rev 99574)
@@ -1,3 +1,18 @@
+2011-11-08  Andreas Kling  <[email protected]>
+
+        CSSImageValue: Devirtualize cachedImage(CachedResourceLoader*).
+        <http://webkit.org/b/71814>
+
+        Reviewed by Antti Koivisto.
+
+        Defer to CSSCursorImageValue (the only CSSImageValue subclass)
+        when appropriate in CSSImageValue::cachedImage(CachedResourceLoader*).
+
+        * css/CSSCursorImageValue.h:
+        * css/CSSImageValue.cpp:
+        (WebCore::CSSImageValue::cachedImage):
+        * css/CSSImageValue.h:
+
 2011-11-08  Andrey Kosyakov  <[email protected]>
 
         Web Inspector: add "Evaluate in console" as a shortcut and context menu items to scripts panel

Modified: trunk/Source/WebCore/css/CSSCursorImageValue.h (99573 => 99574)


--- trunk/Source/WebCore/css/CSSCursorImageValue.h	2011-11-08 16:38:04 UTC (rev 99573)
+++ trunk/Source/WebCore/css/CSSCursorImageValue.h	2011-11-08 16:46:15 UTC (rev 99574)
@@ -42,7 +42,7 @@
     IntPoint hotSpot() const { return m_hotSpot; }
 
     bool updateIfSVGCursorIsUsed(Element*);
-    virtual StyleCachedImage* cachedImage(CachedResourceLoader*);
+    StyleCachedImage* cachedImage(CachedResourceLoader*);
 
 #if ENABLE(SVG)
     void removeReferencedElement(SVGElement*);

Modified: trunk/Source/WebCore/css/CSSImageValue.cpp (99573 => 99574)


--- trunk/Source/WebCore/css/CSSImageValue.cpp	2011-11-08 16:38:04 UTC (rev 99573)
+++ trunk/Source/WebCore/css/CSSImageValue.cpp	2011-11-08 16:46:15 UTC (rev 99574)
@@ -21,6 +21,7 @@
 #include "config.h"
 #include "CSSImageValue.h"
 
+#include "CSSCursorImageValue.h"
 #include "CSSValueKeywords.h"
 #include "Document.h"
 #include "MemoryCache.h"
@@ -66,6 +67,8 @@
 
 StyleCachedImage* CSSImageValue::cachedImage(CachedResourceLoader* loader)
 {
+    if (isCursorImageValue())
+        return static_cast<CSSCursorImageValue*>(this)->cachedImage(loader);
     return cachedImage(loader, getStringValue());
 }
 

Modified: trunk/Source/WebCore/css/CSSImageValue.h (99573 => 99574)


--- trunk/Source/WebCore/css/CSSImageValue.h	2011-11-08 16:38:04 UTC (rev 99573)
+++ trunk/Source/WebCore/css/CSSImageValue.h	2011-11-08 16:46:15 UTC (rev 99574)
@@ -37,7 +37,7 @@
     static PassRefPtr<CSSImageValue> create(const String& url) { return adoptRef(new CSSImageValue(url)); }
     virtual ~CSSImageValue();
 
-    virtual StyleCachedImage* cachedImage(CachedResourceLoader*);
+    StyleCachedImage* cachedImage(CachedResourceLoader*);
     // Returns a StyleCachedImage if the image is cached already, otherwise a StylePendingImage.
     StyleImage* cachedOrPendingImage();
 
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to