OLD | NEW |
---|---|
1 /* | 1 /* |
2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) |
3 * (C) 1999 Antti Koivisto (koivisto@kde.org) | 3 * (C) 1999 Antti Koivisto (koivisto@kde.org) |
4 * (C) 2000 Dirk Mueller (mueller@kde.org) | 4 * (C) 2000 Dirk Mueller (mueller@kde.org) |
5 * (C) 2006 Allan Sandfeld Jensen (kde@carewolf.com) | 5 * (C) 2006 Allan Sandfeld Jensen (kde@carewolf.com) |
6 * (C) 2006 Samuel Weinig (sam.weinig@gmail.com) | 6 * (C) 2006 Samuel Weinig (sam.weinig@gmail.com) |
7 * Copyright (C) 2003, 2004, 2005, 2006, 2008, 2009, 2010, 2011 Apple Inc. All r ights reserved. | 7 * Copyright (C) 2003, 2004, 2005, 2006, 2008, 2009, 2010, 2011 Apple Inc. All r ights reserved. |
8 * Copyright (C) 2010 Google Inc. All rights reserved. | 8 * Copyright (C) 2010 Google Inc. All rights reserved. |
9 * Copyright (C) Research In Motion Limited 2011-2012. All rights reserved. | 9 * Copyright (C) Research In Motion Limited 2011-2012. All rights reserved. |
10 * | 10 * |
(...skipping 198 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
209 if (!LayoutBoxModelObject::boxShadowShouldBeAppliedToBackground(bleedAvoidan ce)) | 209 if (!LayoutBoxModelObject::boxShadowShouldBeAppliedToBackground(bleedAvoidan ce)) |
210 return false; | 210 return false; |
211 | 211 |
212 return !const_cast<LayoutImage*>(this)->backgroundIsKnownToBeObscured(); | 212 return !const_cast<LayoutImage*>(this)->backgroundIsKnownToBeObscured(); |
213 } | 213 } |
214 | 214 |
215 bool LayoutImage::foregroundIsKnownToBeOpaqueInRect(const LayoutRect& localRect, unsigned) const | 215 bool LayoutImage::foregroundIsKnownToBeOpaqueInRect(const LayoutRect& localRect, unsigned) const |
216 { | 216 { |
217 if (!m_imageResource->hasImage() || m_imageResource->errorOccurred()) | 217 if (!m_imageResource->hasImage() || m_imageResource->errorOccurred()) |
218 return false; | 218 return false; |
219 if (m_imageResource->cachedImage() && !m_imageResource->cachedImage()->isLoa ded()) | 219 if (!m_imageResource->cachedImage() || !m_imageResource->cachedImage()->isLo aded()) |
220 return false; | 220 return false; |
221 if (!contentBoxRect().contains(localRect)) | 221 if (!contentBoxRect().contains(localRect)) |
222 return false; | 222 return false; |
223 EFillBox backgroundClip = style()->backgroundClip(); | 223 EFillBox backgroundClip = style()->backgroundClip(); |
224 // Background paints under borders. | 224 // Background paints under borders. |
225 if (backgroundClip == BorderFillBox && style()->hasBorder() && !style()->bor derObscuresBackground()) | 225 if (backgroundClip == BorderFillBox && style()->hasBorder() && !style()->bor derObscuresBackground()) |
226 return false; | 226 return false; |
227 // Background shows in padding area. | 227 // Background shows in padding area. |
228 if ((backgroundClip == BorderFillBox || backgroundClip == PaddingFillBox) && style()->hasPadding()) | 228 if ((backgroundClip == BorderFillBox || backgroundClip == PaddingFillBox) && style()->hasPadding()) |
229 return false; | 229 return false; |
230 // Object-position may leave parts of the content box empty, regardless of t he value of object-fit. | 230 // Object-position may leave parts of the content box empty, regardless of t he value of object-fit. |
231 if (style()->objectPosition() != ComputedStyle::initialObjectPosition()) | 231 if (style()->objectPosition() != ComputedStyle::initialObjectPosition()) |
232 return false; | 232 return false; |
233 // Object-fit may leave parts of the content box empty. | 233 // Object-fit may leave parts of the content box empty. |
234 ObjectFit objectFit = style()->getObjectFit(); | 234 ObjectFit objectFit = style()->getObjectFit(); |
235 if (objectFit != ObjectFitFill && objectFit != ObjectFitCover) | 235 if (objectFit != ObjectFitFill && objectFit != ObjectFitCover) |
236 return false; | 236 return false; |
237 if (!m_imageResource->cachedImage()) | |
chrishtr
2016/08/09 16:05:17
?
Xianzhu
2016/08/09 18:51:48
This is combined into the condition at line 219.
chrishtr
2016/08/09 22:07:54
Ah ok.
| |
238 return false; | |
239 // Check for image with alpha. | 237 // Check for image with alpha. |
240 TRACE_EVENT1(TRACE_DISABLED_BY_DEFAULT("devtools.timeline"), "PaintImage", " data", InspectorPaintImageEvent::data(this, *m_imageResource->cachedImage())); | 238 TRACE_EVENT1(TRACE_DISABLED_BY_DEFAULT("devtools.timeline"), "PaintImage", " data", InspectorPaintImageEvent::data(this, *m_imageResource->cachedImage())); |
241 return m_imageResource->cachedImage()->getImage()->currentFrameKnownToBeOpaq ue(Image::PreCacheMetadata); | 239 return m_imageResource->cachedImage()->getImage()->currentFrameKnownToBeOpaq ue(Image::PreCacheMetadata); |
242 } | 240 } |
243 | 241 |
244 bool LayoutImage::computeBackgroundIsKnownToBeObscured() const | 242 bool LayoutImage::computeBackgroundIsKnownToBeObscured() const |
245 { | 243 { |
246 if (!styleRef().hasBackground()) | 244 if (!styleRef().hasBackground()) |
247 return false; | 245 return false; |
248 | 246 |
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
309 return nullptr; | 307 return nullptr; |
310 | 308 |
311 ImageResource* cachedImage = m_imageResource->cachedImage(); | 309 ImageResource* cachedImage = m_imageResource->cachedImage(); |
312 if (cachedImage && cachedImage->getImage() && cachedImage->getImage()->isSVG Image()) | 310 if (cachedImage && cachedImage->getImage() && cachedImage->getImage()->isSVG Image()) |
313 return toSVGImage(cachedImage->getImage())->embeddedReplacedContent(); | 311 return toSVGImage(cachedImage->getImage())->embeddedReplacedContent(); |
314 | 312 |
315 return nullptr; | 313 return nullptr; |
316 } | 314 } |
317 | 315 |
318 } // namespace blink | 316 } // namespace blink |
OLD | NEW |