summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Source/WebCore/platform/graphics/android/GraphicsLayerAndroid.cpp11
-rw-r--r--Source/WebKit/android/jni/WebViewCore.cpp7
2 files changed, 12 insertions, 6 deletions
diff --git a/Source/WebCore/platform/graphics/android/GraphicsLayerAndroid.cpp b/Source/WebCore/platform/graphics/android/GraphicsLayerAndroid.cpp
index ef355c7..5207ace 100644
--- a/Source/WebCore/platform/graphics/android/GraphicsLayerAndroid.cpp
+++ b/Source/WebCore/platform/graphics/android/GraphicsLayerAndroid.cpp
@@ -592,6 +592,13 @@ void GraphicsLayerAndroid::updateFixedBackgroundLayers() {
if (!view->style()->hasFixedBackgroundImage())
return;
+ Image* image = FixedBackgroundImageLayerAndroid::GetCachedImage(view->style());
+ if (!image)
+ return;
+
+ if (image->width() == 1 && image->height() == 1)
+ return;
+
SkSafeUnref(m_foregroundClipLayer);
SkSafeUnref(m_fixedBackgroundLayer);
SkSafeUnref(m_foregroundLayer);
@@ -605,10 +612,6 @@ void GraphicsLayerAndroid::updateFixedBackgroundLayers() {
// use the background image and create a layer for it
// the layer will be fixed positioned.
- Image* image = FixedBackgroundImageLayerAndroid::GetCachedImage(view->style());
- if (!image)
- return;
-
m_fixedBackgroundLayer = new FixedBackgroundImageLayerAndroid(view->style(),
view->width(),
view->height());
diff --git a/Source/WebKit/android/jni/WebViewCore.cpp b/Source/WebKit/android/jni/WebViewCore.cpp
index fd1b7d0..00cec40 100644
--- a/Source/WebKit/android/jni/WebViewCore.cpp
+++ b/Source/WebKit/android/jni/WebViewCore.cpp
@@ -843,8 +843,11 @@ BaseLayerAndroid* WebViewCore::createBaseLayer(GraphicsLayerAndroid* root)
Color viewBackground = view->baseBackgroundColor();
background = bodyHasCSSBackground ? viewBackground.blend(background) : viewBackground;
}
- bodyHasFixedBackgroundImage = style->hasFixedBackgroundImage()
- && FixedBackgroundImageLayerAndroid::GetCachedImage(style);
+ if (style->hasFixedBackgroundImage()) {
+ Image* backgroundImage = FixedBackgroundImageLayerAndroid::GetCachedImage(style);
+ if (backgroundImage && backgroundImage->width() > 1 && backgroundImage->height() > 1)
+ bodyHasFixedBackgroundImage = true;
+ }
}
PicturePileLayerContent* content = new PicturePileLayerContent(m_content);