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 |
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
86 bool StyleFetchedImageSet::isLoaded() const | 86 bool StyleFetchedImageSet::isLoaded() const |
87 { | 87 { |
88 return m_bestFitImage->isLoaded(); | 88 return m_bestFitImage->isLoaded(); |
89 } | 89 } |
90 | 90 |
91 bool StyleFetchedImageSet::errorOccurred() const | 91 bool StyleFetchedImageSet::errorOccurred() const |
92 { | 92 { |
93 return m_bestFitImage->errorOccurred(); | 93 return m_bestFitImage->errorOccurred(); |
94 } | 94 } |
95 | 95 |
96 LayoutSize StyleFetchedImageSet::imageSize(const LayoutObject* layoutObject, flo
at multiplier) const | 96 LayoutSize StyleFetchedImageSet::imageSize(const LayoutObject*, float multiplier
, const LayoutSize& defaultObjectSize) const |
97 { | 97 { |
98 LayoutSize scaledImageSize = m_bestFitImage->imageSize(LayoutObject::shouldR
espectImageOrientation(layoutObject), multiplier); | 98 if (m_bestFitImage->image() && m_bestFitImage->image()->isSVGImage()) |
| 99 return imageSizeForSVGImage(toSVGImage(m_bestFitImage->image()), multipl
ier, defaultObjectSize); |
| 100 |
| 101 // Image orientation should only be respected for content images, |
| 102 // not decorative ones such as StyleImage (backgrounds, |
| 103 // border-image, etc.) |
| 104 // |
| 105 // https://drafts.csswg.org/css-images-3/#the-image-orientation |
| 106 LayoutSize scaledImageSize = m_bestFitImage->imageSize(DoNotRespectImageOrie
ntation, multiplier); |
99 scaledImageSize.scale(1 / m_imageScaleFactor); | 107 scaledImageSize.scale(1 / m_imageScaleFactor); |
100 return scaledImageSize; | 108 return scaledImageSize; |
101 } | 109 } |
102 | 110 |
103 bool StyleFetchedImageSet::imageHasRelativeSize() const | 111 bool StyleFetchedImageSet::imageHasRelativeSize() const |
104 { | 112 { |
105 return m_bestFitImage->imageHasRelativeSize(); | 113 return m_bestFitImage->imageHasRelativeSize(); |
106 } | 114 } |
107 | 115 |
108 void StyleFetchedImageSet::computeIntrinsicDimensions(const LayoutObject*, Float
Size& intrinsicSize, FloatSize& intrinsicRatio) | 116 void StyleFetchedImageSet::computeIntrinsicDimensions(const LayoutObject*, Float
Size& intrinsicSize, FloatSize& intrinsicRatio) |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
140 } | 148 } |
141 | 149 |
142 DEFINE_TRACE(StyleFetchedImageSet) | 150 DEFINE_TRACE(StyleFetchedImageSet) |
143 { | 151 { |
144 visitor->trace(m_bestFitImage); | 152 visitor->trace(m_bestFitImage); |
145 visitor->trace(m_imageSetValue); | 153 visitor->trace(m_imageSetValue); |
146 StyleImage::trace(visitor); | 154 StyleImage::trace(visitor); |
147 } | 155 } |
148 | 156 |
149 } // namespace blink | 157 } // namespace blink |
OLD | NEW |