OLD | NEW |
1 /* | 1 /* |
2 * (C) 1999-2003 Lars Knoll (knoll@kde.org) | 2 * (C) 1999-2003 Lars Knoll (knoll@kde.org) |
3 * Copyright (C) 2004, 2005, 2006, 2008, 2012 Apple Inc. All rights reserved. | 3 * Copyright (C) 2004, 2005, 2006, 2008, 2012 Apple Inc. All rights reserved. |
4 * | 4 * |
5 * This library is free software; you can redistribute it and/or | 5 * This library is free software; you can redistribute it and/or |
6 * modify it under the terms of the GNU Library General Public | 6 * modify it under the terms of the GNU Library General Public |
7 * License as published by the Free Software Foundation; either | 7 * License as published by the Free Software Foundation; either |
8 * version 2 of the License, or (at your option) any later version. | 8 * version 2 of the License, or (at your option) any later version. |
9 * | 9 * |
10 * This library is distributed in the hope that it will be useful, | 10 * This library is distributed in the hope that it will be useful, |
(...skipping 18 matching lines...) Expand all Loading... |
29 | 29 |
30 namespace blink { | 30 namespace blink { |
31 | 31 |
32 class Document; | 32 class Document; |
33 class KURL; | 33 class KURL; |
34 class StyleImage; | 34 class StyleImage; |
35 class LayoutObject; | 35 class LayoutObject; |
36 | 36 |
37 class CORE_EXPORT CSSImageValue : public CSSValue { | 37 class CORE_EXPORT CSSImageValue : public CSSValue { |
38 public: | 38 public: |
39 static RawPtr<CSSImageValue> create(const KURL& url, StyleImage* image = 0) | 39 static CSSImageValue* create(const KURL& url, StyleImage* image = 0) |
40 { | 40 { |
41 return create(url.getString(), url, image); | 41 return create(url.getString(), url, image); |
42 } | 42 } |
43 static RawPtr<CSSImageValue> create(const String& rawValue, const KURL& url,
StyleImage* image = 0) | 43 static CSSImageValue* create(const String& rawValue, const KURL& url, StyleI
mage* image = 0) |
44 { | 44 { |
45 return create(AtomicString(rawValue), url, image); | 45 return create(AtomicString(rawValue), url, image); |
46 } | 46 } |
47 static RawPtr<CSSImageValue> create(const AtomicString& rawValue, const KURL
& url, StyleImage* image = 0) | 47 static CSSImageValue* create(const AtomicString& rawValue, const KURL& url,
StyleImage* image = 0) |
48 { | 48 { |
49 return new CSSImageValue(rawValue, url, image); | 49 return new CSSImageValue(rawValue, url, image); |
50 } | 50 } |
51 static RawPtr<CSSImageValue> create(const AtomicString& absoluteURL) | 51 static CSSImageValue* create(const AtomicString& absoluteURL) |
52 { | 52 { |
53 return new CSSImageValue(absoluteURL); | 53 return new CSSImageValue(absoluteURL); |
54 } | 54 } |
55 ~CSSImageValue(); | 55 ~CSSImageValue(); |
56 | 56 |
57 bool isCachePending() const { return m_isCachePending; } | 57 bool isCachePending() const { return m_isCachePending; } |
58 StyleImage* cachedImage() const { ASSERT(!isCachePending()); return m_cached
Image.get(); } | 58 StyleImage* cachedImage() const { ASSERT(!isCachePending()); return m_cached
Image.get(); } |
59 StyleImage* cacheImage(Document*, CrossOriginAttributeValue = CrossOriginAtt
ributeNotSet); | 59 StyleImage* cacheImage(Document*, CrossOriginAttributeValue = CrossOriginAtt
ributeNotSet); |
60 | 60 |
61 const String& url() const { return m_absoluteURL; } | 61 const String& url() const { return m_absoluteURL; } |
62 | 62 |
63 void setReferrer(const Referrer& referrer) { m_referrer = referrer; } | 63 void setReferrer(const Referrer& referrer) { m_referrer = referrer; } |
64 const Referrer& referrer() const { return m_referrer; } | 64 const Referrer& referrer() const { return m_referrer; } |
65 | 65 |
66 void reResolveURL(const Document&); | 66 void reResolveURL(const Document&); |
67 | 67 |
68 String customCSSText() const; | 68 String customCSSText() const; |
69 | 69 |
70 bool hasFailedOrCanceledSubresources() const; | 70 bool hasFailedOrCanceledSubresources() const; |
71 | 71 |
72 bool equals(const CSSImageValue&) const; | 72 bool equals(const CSSImageValue&) const; |
73 | 73 |
74 bool knownToBeOpaque(const LayoutObject&) const; | 74 bool knownToBeOpaque(const LayoutObject&) const; |
75 | 75 |
76 RawPtr<CSSImageValue> valueWithURLMadeAbsolute() | 76 CSSImageValue* valueWithURLMadeAbsolute() |
77 { | 77 { |
78 return create(KURL(ParsedURLString, m_absoluteURL), m_cachedImage.get())
; | 78 return create(KURL(ParsedURLString, m_absoluteURL), m_cachedImage.get())
; |
79 } | 79 } |
80 | 80 |
81 void setInitiator(const AtomicString& name) { m_initiatorName = name; } | 81 void setInitiator(const AtomicString& name) { m_initiatorName = name; } |
82 | 82 |
83 DECLARE_TRACE_AFTER_DISPATCH(); | 83 DECLARE_TRACE_AFTER_DISPATCH(); |
84 void restoreCachedResourceIfNeeded(Document&) const; | 84 void restoreCachedResourceIfNeeded(Document&) const; |
85 | 85 |
86 private: | 86 private: |
87 CSSImageValue(const AtomicString& rawValue, const KURL&, StyleImage*); | 87 CSSImageValue(const AtomicString& rawValue, const KURL&, StyleImage*); |
88 CSSImageValue(const AtomicString& absoluteURL); | 88 CSSImageValue(const AtomicString& absoluteURL); |
89 | 89 |
90 AtomicString m_relativeURL; | 90 AtomicString m_relativeURL; |
91 AtomicString m_absoluteURL; | 91 AtomicString m_absoluteURL; |
92 Referrer m_referrer; | 92 Referrer m_referrer; |
93 bool m_isCachePending; | 93 bool m_isCachePending; |
94 Member<StyleImage> m_cachedImage; | 94 Member<StyleImage> m_cachedImage; |
95 AtomicString m_initiatorName; | 95 AtomicString m_initiatorName; |
96 }; | 96 }; |
97 | 97 |
98 DEFINE_CSS_VALUE_TYPE_CASTS(CSSImageValue, isImageValue()); | 98 DEFINE_CSS_VALUE_TYPE_CASTS(CSSImageValue, isImageValue()); |
99 | 99 |
100 } // namespace blink | 100 } // namespace blink |
101 | 101 |
102 #endif // CSSImageValue_h | 102 #endif // CSSImageValue_h |
OLD | NEW |