diff options
author | Nicolas Roard <nicolasroard@google.com> | 2012-05-15 09:57:23 -0700 |
---|---|---|
committer | Nicolas Roard <nicolasroard@google.com> | 2012-05-15 10:02:38 -0700 |
commit | ca602195c97340b621ffe0c5a7fdf3732d439219 (patch) | |
tree | 729afeab943aabdc543043f016f73a6708808626 /Source/WebCore/platform/graphics/android/layers/BaseLayerAndroid.cpp | |
parent | 0d38139a55b1f371edb1a2a65f4b7ee51daa8e37 (diff) | |
download | external_webkit-ca602195c97340b621ffe0c5a7fdf3732d439219.zip external_webkit-ca602195c97340b621ffe0c5a7fdf3732d439219.tar.gz external_webkit-ca602195c97340b621ffe0c5a7fdf3732d439219.tar.bz2 |
Fix crash on arstechnica
Not checking for cachedImage for the background images...
bug:6482165
Change-Id: I9de5ee9cef446cd07688b40f6b04bdd493e40edd
Diffstat (limited to 'Source/WebCore/platform/graphics/android/layers/BaseLayerAndroid.cpp')
-rw-r--r-- | Source/WebCore/platform/graphics/android/layers/BaseLayerAndroid.cpp | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/Source/WebCore/platform/graphics/android/layers/BaseLayerAndroid.cpp b/Source/WebCore/platform/graphics/android/layers/BaseLayerAndroid.cpp index 8abff96..62a5824 100644 --- a/Source/WebCore/platform/graphics/android/layers/BaseLayerAndroid.cpp +++ b/Source/WebCore/platform/graphics/android/layers/BaseLayerAndroid.cpp @@ -202,4 +202,35 @@ bool FixedBackgroundImageLayerAndroid::drawGL(bool layerTilesDisabled) return false; } +Image* FixedBackgroundImageLayerAndroid::GetCachedImage(PassRefPtr<RenderStyle> aStyle) +{ + RefPtr<RenderStyle> style = aStyle; + if (!style) + return 0; + + if (!style->hasFixedBackgroundImage()) + return 0; + + FillLayer* layers = style->accessBackgroundLayers(); + StyleImage* styleImage = layers->image(); + + if (!styleImage) + return 0; + + if (!styleImage->isLoaded()) + return 0; + + if (!styleImage->isCachedImage()) + return 0; + + CachedImage* cachedImage = static_cast<StyleCachedImage*>(styleImage)->cachedImage(); + + Image* image = cachedImage->image(); + + if (image == Image::nullImage()) + return 0; + + return image; +} + } // namespace WebCore |