summaryrefslogtreecommitdiffstats
path: root/chrome/renderer/webplugin_delegate_proxy.cc
diff options
context:
space:
mode:
authorestade@chromium.org <estade@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-07-08 19:03:16 +0000
committerestade@chromium.org <estade@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-07-08 19:03:16 +0000
commitcdc10137284e3750b2a306ebd941430d2dfd3bce (patch)
tree6b525caa7aeec4c540a1d34f0ae4ccedc49d3f04 /chrome/renderer/webplugin_delegate_proxy.cc
parentb8c24a6a6c2a30775b27d0089cb274e768a1c778 (diff)
downloadchromium_src-cdc10137284e3750b2a306ebd941430d2dfd3bce.zip
chromium_src-cdc10137284e3750b2a306ebd941430d2dfd3bce.tar.gz
chromium_src-cdc10137284e3750b2a306ebd941430d2dfd3bce.tar.bz2
Linux: Flush cairo surface at end of CanvasPaintLinux.
I also added some cairo_surface_flush calls for good measure, mostly to match the GIMP patch, but I don't really have any way of testing whether these are necessary. BUG=47064 TEST=manual (see bug) - throbber, download icons, etc. should be fixed Review URL: http://codereview.chromium.org/2802034 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@51871 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/renderer/webplugin_delegate_proxy.cc')
-rw-r--r--chrome/renderer/webplugin_delegate_proxy.cc2
1 files changed, 2 insertions, 0 deletions
diff --git a/chrome/renderer/webplugin_delegate_proxy.cc b/chrome/renderer/webplugin_delegate_proxy.cc
index 9fa30d1..8847957 100644
--- a/chrome/renderer/webplugin_delegate_proxy.cc
+++ b/chrome/renderer/webplugin_delegate_proxy.cc
@@ -869,6 +869,7 @@ bool WebPluginDelegateProxy::BackgroundChanged(
int bytes_per_pixel = CGBitmapContextGetBitsPerPixel(context) / 8;
#else
+ cairo_surface_flush(page_surface);
const unsigned char* page_bytes = cairo_image_surface_get_data(page_surface);
int page_stride = cairo_image_surface_get_stride(page_surface);
int page_start_x = static_cast<int>(page_x_double);
@@ -879,6 +880,7 @@ bool WebPluginDelegateProxy::BackgroundChanged(
cairo_surface_t* bg_surface = cairo_get_target(device.beginPlatformPaint());
DCHECK_EQ(cairo_surface_get_type(bg_surface), CAIRO_SURFACE_TYPE_IMAGE);
DCHECK_EQ(cairo_image_surface_get_format(bg_surface), CAIRO_FORMAT_ARGB32);
+ cairo_surface_flush(bg_surface);
const unsigned char* bg_bytes = cairo_image_surface_get_data(bg_surface);
int full_bg_width = cairo_image_surface_get_width(bg_surface);
int full_bg_height = cairo_image_surface_get_height(bg_surface);