REGRESSION(r91628): 3 canvas tests crash on Chromium Linux and one test fail on Chromium Mac
https://bugs.webkit.org/show_bug.cgi?id=65063

Reviewed by Darin Fisher.

Fixes crashes due to a bad cast from Image to BitmapImage on skia ports
that use BitmapImageSingleFrameSkia. In the skia port
Image::isBitmapImage() returning true does not necessarily mean that
Image is of type BitmapImage.

Covered by fast/canvas/canvas-as-image.html and many other canvas
tests.

Patch originally by Tom Hudson.

* platform/graphics/BitmapImage.h:
(WebCore::BitmapImage::currentFrameHasAlpha):
(WebCore::BitmapImage::notSolidColor):
* platform/graphics/Image.cpp:
(WebCore::Image::drawTiled):
* platform/graphics/Image.h:
(WebCore::Image::currentFrameHasAlpha):
(WebCore::Image::notSolidColor):
* platform/graphics/skia/BitmapImageSingleFrameSkia.h:
(WebCore::BitmapImageSingleFrameSkia::currentFrameHasAlpha):
(WebCore::BitmapImageSingleFrameSkia::notSolidColor):
* rendering/RenderImage.cpp:
(WebCore::RenderImage::backgroundIsObscured):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@93441 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/Source/WebCore/rendering/RenderImage.cpp b/Source/WebCore/rendering/RenderImage.cpp
index 7022cda..7ec53cf 100644
--- a/Source/WebCore/rendering/RenderImage.cpp
+++ b/Source/WebCore/rendering/RenderImage.cpp
@@ -408,13 +408,9 @@
 
     // Check for bitmap image with alpha.
     Image* image = m_imageResource->image().get();
-    if (!image || !image->isBitmapImage())
+    if (!image || !image->isBitmapImage() || image->currentFrameHasAlpha())
         return false;
         
-    BitmapImage* bitmapImage = static_cast<BitmapImage*>(image);
-    if (bitmapImage->currentFrameHasAlpha())
-        return false;
-
     return true;
 }