Index: webkit/glue/plugins/pepper_plugin_instance.cc |
diff --git a/webkit/glue/plugins/pepper_plugin_instance.cc b/webkit/glue/plugins/pepper_plugin_instance.cc |
index 9267e81c6a3dc0d449bd57d44a57afdc688e14ea..e173f8dabd10bd68621cbbce2c1e63e6a9b04606 100644 |
--- a/webkit/glue/plugins/pepper_plugin_instance.cc |
+++ b/webkit/glue/plugins/pepper_plugin_instance.cc |
@@ -582,13 +582,15 @@ bool PluginInstance::GetBitmapForOptimizedPluginPaint( |
gfx::Rect plugin_backing_store_rect(position_.origin(), |
gfx::Size(image_data->width(), |
image_data->height())); |
- gfx::Rect plugin_paint_rect = plugin_backing_store_rect.Intersect(clip_); |
+ gfx::Rect clip_page(clip_); |
+ clip_page.Offset(position_.origin()); |
+ gfx::Rect plugin_paint_rect = plugin_backing_store_rect.Intersect(clip_page); |
if (!plugin_paint_rect.Contains(paint_bounds)) |
return false; |
*dib = image_data->platform_image()->GetTransportDIB(); |
*location = plugin_backing_store_rect; |
- *clip = clip_; |
+ *clip = clip_page; |
return true; |
} |