| Index: chrome/plugin/webplugin_proxy.cc
|
| diff --git a/chrome/plugin/webplugin_proxy.cc b/chrome/plugin/webplugin_proxy.cc
|
| index 67919e8aba546d8defd3bf2d616cb602d288cceb..b98cc93d37a14d423765870acdc2c09a1a89f423 100644
|
| --- a/chrome/plugin/webplugin_proxy.cc
|
| +++ b/chrome/plugin/webplugin_proxy.cc
|
| @@ -8,6 +8,7 @@
|
| #if defined(OS_WIN)
|
| #include "app/win_util.h"
|
| #endif
|
| +#include "base/gfx/blit.h"
|
| #include "base/scoped_handle.h"
|
| #include "base/shared_memory.h"
|
| #include "base/singleton.h"
|
| @@ -424,17 +425,15 @@ void WebPluginProxy::Paint(const gfx::Rect& rect) {
|
| delegate_->Paint(windowless_context_, rect);
|
| CGContextRestoreGState(windowless_context_);
|
| #else
|
| + if (background_canvas_.get()) {
|
| + BlitCanvasToCanvas(windowless_canvas_.get(), rect,
|
| + background_canvas_.get(), rect.origin());
|
| + }
|
| cairo_t* cairo =
|
| windowless_canvas_->getTopPlatformDevice().beginPlatformPaint();
|
| cairo_save(cairo);
|
| cairo_rectangle(cairo, rect.x(), rect.y(), rect.width(), rect.height());
|
| cairo_clip(cairo);
|
| - if (background_canvas_.get()) {
|
| - cairo_t *background =
|
| - background_canvas_->getTopPlatformDevice().beginPlatformPaint();
|
| - cairo_set_source_surface(cairo, cairo_get_target(background), 0, 0);
|
| - cairo_paint(cairo);
|
| - }
|
| cairo_translate(cairo, -delegate_->GetRect().x(), -delegate_->GetRect().y());
|
| delegate_->Paint(cairo, offset_rect);
|
| cairo_restore(cairo);
|
|
|