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 |