Index: Source/core/rendering/RenderBoxModelObject.cpp |
diff --git a/Source/core/rendering/RenderBoxModelObject.cpp b/Source/core/rendering/RenderBoxModelObject.cpp |
index 4e2bfec0a8e614ec65fac32d5345672734620a26..caef81861c47db979ac5417313a251fb3679192e 100644 |
--- a/Source/core/rendering/RenderBoxModelObject.cpp |
+++ b/Source/core/rendering/RenderBoxModelObject.cpp |
@@ -1007,6 +1007,17 @@ void RenderBoxModelObject::calculateBackgroundImageGeometry(const FillLayer* fil |
// Determine the background positioning area and set destRect to the background painting area. |
// destRect will be adjusted later if the background is non-repeating. |
bool fixedAttachment = fillLayer->attachment() == FixedBackgroundAttachment; |
+ |
+#if ENABLE(FAST_MOBILE_SCROLLING) |
+ if (view()->frameView() && view()->frameView()->canBlitOnScroll()) { |
+ // As a side effect of an optimization to blit on scroll, we do not honor the CSS |
+ // property "background-attachment: fixed" because it may result in rendering |
+ // artifacts. Note, these artifacts only appear if we are blitting on scroll of |
+ // a page that has fixed background images. |
+ fixedAttachment = false; |
+ } |
+#endif |
+ |
if (!fixedAttachment) { |
geometry.setDestRect(snappedPaintRect); |