| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2011 Adobe Systems Incorporated. All rights reserved. | 2 * Copyright (C) 2011 Adobe Systems Incorporated. All rights reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions | 5 * modification, are permitted provided that the following conditions |
| 6 * are met: | 6 * are met: |
| 7 * | 7 * |
| 8 * 1. Redistributions of source code must retain the above | 8 * 1. Redistributions of source code must retain the above |
| 9 * copyright notice, this list of conditions and the following | 9 * copyright notice, this list of conditions and the following |
| 10 * disclaimer. | 10 * disclaimer. |
| (...skipping 11 matching lines...) Expand all Loading... |
| 22 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR | 22 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR |
| 23 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | 23 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
| 24 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR | 24 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR |
| 25 * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF | 25 * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF |
| 26 * THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | 26 * THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF |
| 27 * SUCH DAMAGE. | 27 * SUCH DAMAGE. |
| 28 */ | 28 */ |
| 29 | 29 |
| 30 #include "config.h" | 30 #include "config.h" |
| 31 | 31 |
| 32 #include "core/css/WebKitCSSShaderValue.h" | 32 #include "core/css/CSSShaderValue.h" |
| 33 | 33 |
| 34 #include "core/css/CSSParser.h" | 34 #include "core/css/CSSParser.h" |
| 35 #include "core/dom/Document.h" | 35 #include "core/dom/Document.h" |
| 36 #include "core/dom/WebCoreMemoryInstrumentation.h" | 36 #include "core/dom/WebCoreMemoryInstrumentation.h" |
| 37 #include "core/loader/cache/CachedResourceLoader.h" | 37 #include "core/loader/cache/CachedResourceLoader.h" |
| 38 #include "core/loader/cache/CachedResourceRequest.h" | 38 #include "core/loader/cache/CachedResourceRequest.h" |
| 39 #include "core/loader/cache/CachedResourceRequestInitiators.h" | 39 #include "core/loader/cache/CachedResourceRequestInitiators.h" |
| 40 #include "core/rendering/style/StyleCachedShader.h" | 40 #include "core/rendering/style/StyleCachedShader.h" |
| 41 #include "core/rendering/style/StylePendingShader.h" | 41 #include "core/rendering/style/StylePendingShader.h" |
| 42 | 42 |
| 43 namespace WebCore { | 43 namespace WebCore { |
| 44 | 44 |
| 45 WebKitCSSShaderValue::WebKitCSSShaderValue(const String& url) | 45 CSSShaderValue::CSSShaderValue(const String& url) |
| 46 : CSSValue(WebKitCSSShaderClass) | 46 : CSSValue(CSSShaderClass) |
| 47 , m_url(url) | 47 , m_url(url) |
| 48 , m_accessedShader(false) | 48 , m_accessedShader(false) |
| 49 { | 49 { |
| 50 } | 50 } |
| 51 | 51 |
| 52 WebKitCSSShaderValue::~WebKitCSSShaderValue() | 52 CSSShaderValue::~CSSShaderValue() |
| 53 { | 53 { |
| 54 } | 54 } |
| 55 | 55 |
| 56 KURL WebKitCSSShaderValue::completeURL(CachedResourceLoader* loader) const | 56 KURL CSSShaderValue::completeURL(CachedResourceLoader* loader) const |
| 57 { | 57 { |
| 58 return loader->document()->completeURL(m_url); | 58 return loader->document()->completeURL(m_url); |
| 59 } | 59 } |
| 60 | 60 |
| 61 StyleCachedShader* WebKitCSSShaderValue::cachedShader(CachedResourceLoader* load
er) | 61 StyleCachedShader* CSSShaderValue::cachedShader(CachedResourceLoader* loader) |
| 62 { | 62 { |
| 63 ASSERT(loader); | 63 ASSERT(loader); |
| 64 | 64 |
| 65 if (!m_accessedShader) { | 65 if (!m_accessedShader) { |
| 66 m_accessedShader = true; | 66 m_accessedShader = true; |
| 67 | 67 |
| 68 CachedResourceRequest request(ResourceRequest(completeURL(loader)), cach
edResourceRequestInitiators().css); | 68 CachedResourceRequest request(ResourceRequest(completeURL(loader)), cach
edResourceRequestInitiators().css); |
| 69 if (CachedResourceHandle<CachedShader> cachedShader = loader->requestSha
der(request)) | 69 if (CachedResourceHandle<CachedShader> cachedShader = loader->requestSha
der(request)) |
| 70 m_shader = StyleCachedShader::create(cachedShader.get()); | 70 m_shader = StyleCachedShader::create(cachedShader.get()); |
| 71 } | 71 } |
| 72 | 72 |
| 73 return (m_shader && m_shader->isCachedShader()) ? static_cast<StyleCachedSha
der*>(m_shader.get()) : 0; | 73 return (m_shader && m_shader->isCachedShader()) ? static_cast<StyleCachedSha
der*>(m_shader.get()) : 0; |
| 74 } | 74 } |
| 75 | 75 |
| 76 StyleShader* WebKitCSSShaderValue::cachedOrPendingShader() | 76 StyleShader* CSSShaderValue::cachedOrPendingShader() |
| 77 { | 77 { |
| 78 if (!m_shader) | 78 if (!m_shader) |
| 79 m_shader = StylePendingShader::create(this); | 79 m_shader = StylePendingShader::create(this); |
| 80 | 80 |
| 81 return m_shader.get(); | 81 return m_shader.get(); |
| 82 } | 82 } |
| 83 | 83 |
| 84 String WebKitCSSShaderValue::customCssText() const | 84 String CSSShaderValue::customCssText() const |
| 85 { | 85 { |
| 86 StringBuilder result; | 86 StringBuilder result; |
| 87 result.appendLiteral("url("); | 87 result.appendLiteral("url("); |
| 88 result.append(quoteCSSURLIfNeeded(m_url)); | 88 result.append(quoteCSSURLIfNeeded(m_url)); |
| 89 result.append(')'); | 89 result.append(')'); |
| 90 if (!m_format.isEmpty()) { | 90 if (!m_format.isEmpty()) { |
| 91 result.appendLiteral(" format('"); | 91 result.appendLiteral(" format('"); |
| 92 result.append(m_format); | 92 result.append(m_format); |
| 93 result.appendLiteral("')"); | 93 result.appendLiteral("')"); |
| 94 } | 94 } |
| 95 return result.toString(); | 95 return result.toString(); |
| 96 } | 96 } |
| 97 | 97 |
| 98 bool WebKitCSSShaderValue::equals(const WebKitCSSShaderValue& other) const | 98 bool CSSShaderValue::equals(const CSSShaderValue& other) const |
| 99 { | 99 { |
| 100 return m_url == other.m_url; | 100 return m_url == other.m_url; |
| 101 } | 101 } |
| 102 | 102 |
| 103 void WebKitCSSShaderValue::reportDescendantMemoryUsage(MemoryObjectInfo* memoryO
bjectInfo) const | 103 void CSSShaderValue::reportDescendantMemoryUsage(MemoryObjectInfo* memoryObjectI
nfo) const |
| 104 { | 104 { |
| 105 MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS); | 105 MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS); |
| 106 info.addMember(m_url, "url"); | 106 info.addMember(m_url, "url"); |
| 107 info.addMember(m_format, "format"); | 107 info.addMember(m_format, "format"); |
| 108 } | 108 } |
| 109 | 109 |
| 110 } // namespace WebCore | 110 } // namespace WebCore |
| 111 | 111 |
| OLD | NEW |