| 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 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 92 static const int maxAltTextHeight = 256; | 92 static const int maxAltTextHeight = 256; |
| 93 | 93 |
| 94 IntSize RenderImage::imageSizeForError(ImageResource* newImage) const | 94 IntSize RenderImage::imageSizeForError(ImageResource* newImage) const |
| 95 { | 95 { |
| 96 ASSERT_ARG(newImage, newImage); | 96 ASSERT_ARG(newImage, newImage); |
| 97 ASSERT_ARG(newImage, newImage->imageForRenderer(this)); | 97 ASSERT_ARG(newImage, newImage->imageForRenderer(this)); |
| 98 | 98 |
| 99 IntSize imageSize; | 99 IntSize imageSize; |
| 100 if (newImage->willPaintBrokenImage()) { | 100 if (newImage->willPaintBrokenImage()) { |
| 101 float deviceScaleFactor = WebCore::deviceScaleFactor(frame()); | 101 float deviceScaleFactor = WebCore::deviceScaleFactor(frame()); |
| 102 pair<Image*, float> brokenImageAndImageScaleFactor = newImage->brokenIma
ge(deviceScaleFactor); | 102 pair<Image*, float> brokenImageAndImageScaleFactor = ImageResource::brok
enImage(deviceScaleFactor); |
| 103 imageSize = brokenImageAndImageScaleFactor.first->size(); | 103 imageSize = brokenImageAndImageScaleFactor.first->size(); |
| 104 imageSize.scale(1 / brokenImageAndImageScaleFactor.second); | 104 imageSize.scale(1 / brokenImageAndImageScaleFactor.second); |
| 105 } else | 105 } else |
| 106 imageSize = newImage->imageForRenderer(this)->size(); | 106 imageSize = newImage->imageForRenderer(this)->size(); |
| 107 | 107 |
| 108 // imageSize() returns 0 for the error image. We need the true size of the | 108 // imageSize() returns 0 for the error image. We need the true size of the |
| 109 // error image, so we have to get it by grabbing image() directly. | 109 // error image, so we have to get it by grabbing image() directly. |
| 110 return IntSize(paddingWidth + imageSize.width() * style()->effectiveZoom(),
paddingHeight + imageSize.height() * style()->effectiveZoom()); | 110 return IntSize(paddingWidth + imageSize.width() * style()->effectiveZoom(),
paddingHeight + imageSize.height() * style()->effectiveZoom()); |
| 111 } | 111 } |
| 112 | 112 |
| (...skipping 196 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 309 // When calculating the usable dimensions, exclude the pixels of | 309 // When calculating the usable dimensions, exclude the pixels of |
| 310 // the ouline rect so the error image/alt text doesn't draw on it. | 310 // the ouline rect so the error image/alt text doesn't draw on it. |
| 311 LayoutUnit usableWidth = cWidth - 2 * borderWidth; | 311 LayoutUnit usableWidth = cWidth - 2 * borderWidth; |
| 312 LayoutUnit usableHeight = cHeight - 2 * borderWidth; | 312 LayoutUnit usableHeight = cHeight - 2 * borderWidth; |
| 313 | 313 |
| 314 RefPtr<Image> image = m_imageResource->image(); | 314 RefPtr<Image> image = m_imageResource->image(); |
| 315 | 315 |
| 316 if (m_imageResource->errorOccurred() && !image->isNull() && usableWi
dth >= image->width() && usableHeight >= image->height()) { | 316 if (m_imageResource->errorOccurred() && !image->isNull() && usableWi
dth >= image->width() && usableHeight >= image->height()) { |
| 317 float deviceScaleFactor = WebCore::deviceScaleFactor(frame()); | 317 float deviceScaleFactor = WebCore::deviceScaleFactor(frame()); |
| 318 // Call brokenImage() explicitly to ensure we get the broken ima
ge icon at the appropriate resolution. | 318 // Call brokenImage() explicitly to ensure we get the broken ima
ge icon at the appropriate resolution. |
| 319 pair<Image*, float> brokenImageAndImageScaleFactor = m_imageReso
urce->cachedImage()->brokenImage(deviceScaleFactor); | 319 pair<Image*, float> brokenImageAndImageScaleFactor = ImageResour
ce::brokenImage(deviceScaleFactor); |
| 320 image = brokenImageAndImageScaleFactor.first; | 320 image = brokenImageAndImageScaleFactor.first; |
| 321 IntSize imageSize = image->size(); | 321 IntSize imageSize = image->size(); |
| 322 imageSize.scale(1 / brokenImageAndImageScaleFactor.second); | 322 imageSize.scale(1 / brokenImageAndImageScaleFactor.second); |
| 323 // Center the error image, accounting for border and padding. | 323 // Center the error image, accounting for border and padding. |
| 324 LayoutUnit centerX = (usableWidth - imageSize.width()) / 2; | 324 LayoutUnit centerX = (usableWidth - imageSize.width()) / 2; |
| 325 if (centerX < 0) | 325 if (centerX < 0) |
| 326 centerX = 0; | 326 centerX = 0; |
| 327 LayoutUnit centerY = (usableHeight - imageSize.height()) / 2; | 327 LayoutUnit centerY = (usableHeight - imageSize.height()) / 2; |
| 328 if (centerY < 0) | 328 if (centerY < 0) |
| 329 centerY = 0; | 329 centerY = 0; |
| (...skipping 256 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 586 return 0; | 586 return 0; |
| 587 | 587 |
| 588 ImageResource* cachedImage = m_imageResource->cachedImage(); | 588 ImageResource* cachedImage = m_imageResource->cachedImage(); |
| 589 if (cachedImage && cachedImage->image() && cachedImage->image()->isSVGImage(
)) | 589 if (cachedImage && cachedImage->image() && cachedImage->image()->isSVGImage(
)) |
| 590 return static_cast<SVGImage*>(cachedImage->image())->embeddedContentBox(
); | 590 return static_cast<SVGImage*>(cachedImage->image())->embeddedContentBox(
); |
| 591 | 591 |
| 592 return 0; | 592 return 0; |
| 593 } | 593 } |
| 594 | 594 |
| 595 } // namespace WebCore | 595 } // namespace WebCore |
| OLD | NEW |