https://bugs.webkit.org/show_bug.cgi?id=67885
Outline for the high-resolution broken image icon draws at 2x
-and corresponding-
<rdar://problem/10104637>
Reviewed by Dan Bernstein.
Scaled the image size to account for the deviceScaleFactor.
* rendering/RenderImage.cpp:
(WebCore::RenderImage::imageSizeForError):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95048 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/Source/WebCore/rendering/RenderImage.cpp b/Source/WebCore/rendering/RenderImage.cpp
index e372659..e64d2e9 100644
--- a/Source/WebCore/rendering/RenderImage.cpp
+++ b/Source/WebCore/rendering/RenderImage.cpp
@@ -84,15 +84,18 @@
ASSERT_ARG(newImage, newImage);
ASSERT_ARG(newImage, newImage->image());
- Image* brokenImage;
- if (newImage->willPaintBrokenImage())
- brokenImage = newImage->brokenImage(Page::deviceScaleFactor(frame()));
- else
- brokenImage = newImage->image();
+ IntSize imageSize;
+ if (newImage->willPaintBrokenImage()) {
+ float deviceScaleFactor = Page::deviceScaleFactor(frame());
+ imageSize = newImage->brokenImage(deviceScaleFactor)->size();
+ if (deviceScaleFactor >= 2)
+ imageSize.scale(0.5f);
+ } else
+ imageSize = newImage->image()->size();
// imageSize() returns 0 for the error image. We need the true size of the
// error image, so we have to get it by grabbing image() directly.
- return IntSize(paddingWidth + brokenImage->width() * style()->effectiveZoom(), paddingHeight + brokenImage->height() * style()->effectiveZoom());
+ return IntSize(paddingWidth + imageSize.width() * style()->effectiveZoom(), paddingHeight + imageSize.height() * style()->effectiveZoom());
}
// Sets the image height and width to fit the alt text. Returns true if the