OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2012 Apple Inc. All rights reserved. | 2 * Copyright (C) 2012 Apple Inc. 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 * 1. Redistributions of source code must retain the above copyright | 7 * 1. Redistributions of source code must retain the above copyright |
8 * notice, this list of conditions and the following disclaimer. | 8 * notice, this list of conditions and the following disclaimer. |
9 * 2. Redistributions in binary form must reproduce the above copyright | 9 * 2. Redistributions in binary form must reproduce the above copyright |
10 * notice, this list of conditions and the following disclaimer in the | 10 * notice, this list of conditions and the following disclaimer in the |
11 * documentation and/or other materials provided with the distribution. | 11 * documentation and/or other materials provided with the distribution. |
12 * | 12 * |
13 * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' | 13 * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' |
14 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, | 14 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, |
15 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR | 15 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR |
16 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS | 16 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS |
17 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR | 17 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR |
18 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF | 18 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF |
19 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS | 19 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS |
20 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN | 20 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN |
21 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) | 21 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) |
22 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF | 22 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF |
23 * THE POSSIBILITY OF SUCH DAMAGE. | 23 * THE POSSIBILITY OF SUCH DAMAGE. |
24 */ | 24 */ |
25 | 25 |
26 #include "core/style/StyleFetchedImageSet.h" | 26 #include "core/style/StyleFetchedImageSet.h" |
27 | 27 |
28 #include "core/css/CSSImageSetValue.h" | 28 #include "core/css/CSSImageSetValue.h" |
29 #include "core/fetch/ImageResource.h" | 29 #include "core/fetch/ImageResourceContent.h" |
30 #include "core/layout/LayoutObject.h" | 30 #include "core/layout/LayoutObject.h" |
31 #include "core/svg/graphics/SVGImageForContainer.h" | 31 #include "core/svg/graphics/SVGImageForContainer.h" |
32 | 32 |
33 namespace blink { | 33 namespace blink { |
34 | 34 |
35 StyleFetchedImageSet::StyleFetchedImageSet(ImageResource* image, | 35 StyleFetchedImageSet::StyleFetchedImageSet(ImageResourceContent* image, |
36 float imageScaleFactor, | 36 float imageScaleFactor, |
37 CSSImageSetValue* value, | 37 CSSImageSetValue* value, |
38 const KURL& url) | 38 const KURL& url) |
39 : m_bestFitImage(image), | 39 : m_bestFitImage(image), |
40 m_imageScaleFactor(imageScaleFactor), | 40 m_imageScaleFactor(imageScaleFactor), |
41 m_imageSetValue(value), | 41 m_imageSetValue(value), |
42 m_url(url) { | 42 m_url(url) { |
43 m_isImageResourceSet = true; | 43 m_isImageResourceSet = true; |
44 m_bestFitImage->addObserver(this); | 44 m_bestFitImage->addObserver(this); |
45 ThreadState::current()->registerPreFinalizer(this); | 45 ThreadState::current()->registerPreFinalizer(this); |
46 } | 46 } |
47 | 47 |
48 StyleFetchedImageSet::~StyleFetchedImageSet() {} | 48 StyleFetchedImageSet::~StyleFetchedImageSet() {} |
49 | 49 |
50 void StyleFetchedImageSet::dispose() { | 50 void StyleFetchedImageSet::dispose() { |
51 m_bestFitImage->removeObserver(this); | 51 m_bestFitImage->removeObserver(this); |
52 m_bestFitImage = nullptr; | 52 m_bestFitImage = nullptr; |
53 } | 53 } |
54 | 54 |
55 WrappedImagePtr StyleFetchedImageSet::data() const { | 55 WrappedImagePtr StyleFetchedImageSet::data() const { |
56 return m_bestFitImage.get(); | 56 return m_bestFitImage.get(); |
57 } | 57 } |
58 | 58 |
59 ImageResource* StyleFetchedImageSet::cachedImage() const { | 59 ImageResourceContent* StyleFetchedImageSet::cachedImage() const { |
60 return m_bestFitImage.get(); | 60 return m_bestFitImage.get(); |
61 } | 61 } |
62 | 62 |
63 CSSValue* StyleFetchedImageSet::cssValue() const { | 63 CSSValue* StyleFetchedImageSet::cssValue() const { |
64 return m_imageSetValue; | 64 return m_imageSetValue; |
65 } | 65 } |
66 | 66 |
67 CSSValue* StyleFetchedImageSet::computedCSSValue() const { | 67 CSSValue* StyleFetchedImageSet::computedCSSValue() const { |
68 return m_imageSetValue->valueWithURLsMadeAbsolute(); | 68 return m_imageSetValue->valueWithURLsMadeAbsolute(); |
69 } | 69 } |
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
135 Image::PreCacheMetadata); | 135 Image::PreCacheMetadata); |
136 } | 136 } |
137 | 137 |
138 DEFINE_TRACE(StyleFetchedImageSet) { | 138 DEFINE_TRACE(StyleFetchedImageSet) { |
139 visitor->trace(m_bestFitImage); | 139 visitor->trace(m_bestFitImage); |
140 visitor->trace(m_imageSetValue); | 140 visitor->trace(m_imageSetValue); |
141 StyleImage::trace(visitor); | 141 StyleImage::trace(visitor); |
142 } | 142 } |
143 | 143 |
144 } // namespace blink | 144 } // namespace blink |
OLD | NEW |