Make WebKitCSSShaderValue inherit directly from CSSValue.
authorkling@webkit.org <kling@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 21 Feb 2012 22:05:28 +0000 (22:05 +0000)
committerkling@webkit.org <kling@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 21 Feb 2012 22:05:28 +0000 (22:05 +0000)
<http://webkit.org/b/79144>

Reviewed by Antti Koivisto.

WebKitCSSShaderValue was inheriting from CSSPrimitiveValue but only used
it for storing the shader URL. Moved that to a String member instead.

WebKitCSSShaderValues didn't even return true for isPrimitiveValue() so
there should be no behavior change whatsoever here.

* css/WebKitCSSShaderValue.cpp:
(WebCore::WebKitCSSShaderValue::WebKitCSSShaderValue):
(WebCore::WebKitCSSShaderValue::cachedShader):
(WebCore::WebKitCSSShaderValue::customCssText):
* css/WebKitCSSShaderValue.h:
(WebKitCSSShaderValue):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108396 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/WebCore/ChangeLog
Source/WebCore/css/WebKitCSSShaderValue.cpp
Source/WebCore/css/WebKitCSSShaderValue.h

index e524556..b5a0ec8 100644 (file)
@@ -1,3 +1,23 @@
+2012-02-21  Andreas Kling  <awesomekling@apple.com>
+
+        Make WebKitCSSShaderValue inherit directly from CSSValue.
+        <http://webkit.org/b/79144>
+
+        Reviewed by Antti Koivisto.
+
+        WebKitCSSShaderValue was inheriting from CSSPrimitiveValue but only used
+        it for storing the shader URL. Moved that to a String member instead.
+
+        WebKitCSSShaderValues didn't even return true for isPrimitiveValue() so
+        there should be no behavior change whatsoever here.
+
+        * css/WebKitCSSShaderValue.cpp:
+        (WebCore::WebKitCSSShaderValue::WebKitCSSShaderValue):
+        (WebCore::WebKitCSSShaderValue::cachedShader):
+        (WebCore::WebKitCSSShaderValue::customCssText):
+        * css/WebKitCSSShaderValue.h:
+        (WebKitCSSShaderValue):
+
 2012-02-21  James Robinson  <jamesr@chromium.org>
 
         Unreviewed windows build fix - avoid return statement after return if USE(ACCELERATED_COMPOSITING) is set.
index 51cf8a3..ea93030 100644 (file)
@@ -33,6 +33,7 @@
 #include "WebKitCSSShaderValue.h"
 
 #include "CachedResourceLoader.h"
+#include "CSSParser.h"
 #include "Document.h"
 #include "StyleCachedShader.h"
 #include "StylePendingShader.h"
@@ -40,7 +41,8 @@
 namespace WebCore {
 
 WebKitCSSShaderValue::WebKitCSSShaderValue(const String& url)
-    : CSSPrimitiveValue(WebKitCSSShaderClass, url, CSS_URI)
+    : CSSValue(WebKitCSSShaderClass)
+    , m_url(url)
     , m_accessedShader(false)
 {
 }
@@ -56,7 +58,7 @@ StyleCachedShader* WebKitCSSShaderValue::cachedShader(CachedResourceLoader* load
     if (!m_accessedShader) {
         m_accessedShader = true;
 
-        ResourceRequest request(loader->document()->completeURL(getStringValue()));
+        ResourceRequest request(loader->document()->completeURL(m_url));
         if (CachedShader* cachedShader = loader->requestShader(request))
             m_shader = StyleCachedShader::create(cachedShader);
     }
@@ -72,6 +74,10 @@ StyleShader* WebKitCSSShaderValue::cachedOrPendingShader()
     return m_shader.get();
 }
 
+String WebKitCSSShaderValue::customCssText() const
+{
+    return "url(" + quoteCSSURLIfNeeded(m_url) + ")";
+}
 
 } // namespace WebCore
 
index 825482d..6109220 100644 (file)
@@ -32,8 +32,7 @@
 
 #if ENABLE(CSS_SHADERS)
 
-#include "CachedResourceHandle.h"
-#include "CSSPrimitiveValue.h"
+#include "CSSValue.h"
 
 namespace WebCore {
 
@@ -41,17 +40,20 @@ class CachedResourceLoader;
 class StyleCachedShader;
 class StyleShader;
 
-class WebKitCSSShaderValue : public CSSPrimitiveValue {
+class WebKitCSSShaderValue : public CSSValue {
 public:
     static PassRefPtr<WebKitCSSShaderValue> create(const String& url) { return adoptRef(new WebKitCSSShaderValue(url)); }
     ~WebKitCSSShaderValue();
 
     StyleCachedShader* cachedShader(CachedResourceLoader*);
     StyleShader* cachedOrPendingShader();
-    
+
+    String customCssText() const;
+
 private:
     WebKitCSSShaderValue(const String& url);
-    
+
+    String m_url;
     RefPtr<StyleShader> m_shader;
     bool m_accessedShader;
 };