Chromium Code Reviews| 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 |