Title: [94980] trunk
Revision
94980
Author
bda...@apple.com
Date
2011-09-12 14:52:01 -0700 (Mon, 12 Sep 2011)

Log Message

https://bugs.webkit.org/show_bug.cgi?id=67898
REGRESSION(r94900): fast/images/support-broken-image-delegate.html fails on Mac

Reviewed by Simon Fraser.

Source/WebCore: 

New function willPaintBrokenImage() returns true when there has been an error 
loading the image and the broken image icon will be used in its place. This is 
necessary since it is possible to have an error loading an image and to NOT use 
the broken image icon. 
* loader/cache/CachedImage.cpp:
(WebCore::CachedImage::willPaintBrokenImage):
* loader/cache/CachedImage.h:
* rendering/RenderImage.cpp:
(WebCore::RenderImage::imageSizeForError):

LayoutTests: 

* platform/mac/Skipped:

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (94979 => 94980)


--- trunk/LayoutTests/ChangeLog	2011-09-12 21:41:06 UTC (rev 94979)
+++ trunk/LayoutTests/ChangeLog	2011-09-12 21:52:01 UTC (rev 94980)
@@ -1,3 +1,12 @@
+2011-09-12  Beth Dakin  <bda...@apple.com>
+
+        https://bugs.webkit.org/show_bug.cgi?id=67898
+        REGRESSION(r94900): fast/images/support-broken-image-delegate.html fails on Mac
+
+        Reviewed by Simon Fraser.
+
+        * platform/mac/Skipped:
+
 2011-09-12  Ryosuke Niwa  <rn...@webkit.org>
 
         Fix a test added by r94966 to work on Mac.

Modified: trunk/LayoutTests/platform/mac/Skipped (94979 => 94980)


--- trunk/LayoutTests/platform/mac/Skipped	2011-09-12 21:41:06 UTC (rev 94979)
+++ trunk/LayoutTests/platform/mac/Skipped	2011-09-12 21:52:01 UTC (rev 94980)
@@ -420,6 +420,3 @@
 
 # https://bugs.webkit.org/show_bug.cgi?id=67716
 media/media-controls-invalid-url.html
-
-# https://bugs.webkit.org/show_bug.cgi?id=67898
-fast/images/support-broken-image-delegate.html

Modified: trunk/Source/WebCore/ChangeLog (94979 => 94980)


--- trunk/Source/WebCore/ChangeLog	2011-09-12 21:41:06 UTC (rev 94979)
+++ trunk/Source/WebCore/ChangeLog	2011-09-12 21:52:01 UTC (rev 94980)
@@ -1,3 +1,20 @@
+2011-09-12  Beth Dakin  <bda...@apple.com>
+
+        https://bugs.webkit.org/show_bug.cgi?id=67898
+        REGRESSION(r94900): fast/images/support-broken-image-delegate.html fails on Mac
+
+        Reviewed by Simon Fraser.
+
+        New function willPaintBrokenImage() returns true when there has been an error 
+        loading the image and the broken image icon will be used in its place. This is 
+        necessary since it is possible to have an error loading an image and to NOT use 
+        the broken image icon. 
+        * loader/cache/CachedImage.cpp:
+        (WebCore::CachedImage::willPaintBrokenImage):
+        * loader/cache/CachedImage.h:
+        * rendering/RenderImage.cpp:
+        (WebCore::RenderImage::imageSizeForError):
+
 2011-09-12  James Robinson  <jam...@chromium.org>
 
         [chromium] Move contents texture manager from LayerRendererChromium to CCLayerTreeHost

Modified: trunk/Source/WebCore/loader/cache/CachedImage.cpp (94979 => 94980)


--- trunk/Source/WebCore/loader/cache/CachedImage.cpp	2011-09-12 21:41:06 UTC (rev 94979)
+++ trunk/Source/WebCore/loader/cache/CachedImage.cpp	2011-09-12 21:52:01 UTC (rev 94980)
@@ -124,6 +124,11 @@
     return brokenImageLoRes;
 }
 
+bool CachedImage::willPaintBrokenImage() const
+{
+    return errorOccurred() && m_shouldPaintBrokenImage;
+}
+
 Image* CachedImage::image() const
 {
     ASSERT(!isPurgeable());

Modified: trunk/Source/WebCore/loader/cache/CachedImage.h (94979 => 94980)


--- trunk/Source/WebCore/loader/cache/CachedImage.h	2011-09-12 21:41:06 UTC (rev 94979)
+++ trunk/Source/WebCore/loader/cache/CachedImage.h	2011-09-12 21:52:01 UTC (rev 94980)
@@ -48,6 +48,7 @@
     bool hasImage() const { return m_image.get(); }
 
     Image* brokenImage(float deviceScaleFactor) const;
+    bool willPaintBrokenImage() const; 
 
     bool canRender(float multiplier) const { return !errorOccurred() && !imageSize(multiplier).isEmpty(); }
 

Modified: trunk/Source/WebCore/rendering/RenderImage.cpp (94979 => 94980)


--- trunk/Source/WebCore/rendering/RenderImage.cpp	2011-09-12 21:41:06 UTC (rev 94979)
+++ trunk/Source/WebCore/rendering/RenderImage.cpp	2011-09-12 21:52:01 UTC (rev 94980)
@@ -84,7 +84,11 @@
     ASSERT_ARG(newImage, newImage);
     ASSERT_ARG(newImage, newImage->image());
 
-    Image* brokenImage = newImage->brokenImage(Page::deviceScaleFactor(frame()));
+    Image* brokenImage;
+    if (newImage->willPaintBrokenImage())
+        brokenImage = newImage->brokenImage(Page::deviceScaleFactor(frame()));
+    else
+        brokenImage = newImage->image();
 
     // 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.
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to