| Index: content/browser/renderer_host/render_widget_host_view_gtk.cc
|
| diff --git a/content/browser/renderer_host/render_widget_host_view_gtk.cc b/content/browser/renderer_host/render_widget_host_view_gtk.cc
|
| index d1db5257a1f208f1009ecd35cb59057a8d4f42a6..ec74be199eadcda8f7483deb5dd07be615b30350 100644
|
| --- a/content/browser/renderer_host/render_widget_host_view_gtk.cc
|
| +++ b/content/browser/renderer_host/render_widget_host_view_gtk.cc
|
| @@ -1030,23 +1030,26 @@ BackingStore* RenderWidgetHostViewGtk::AllocBackingStore(
|
| depth);
|
| }
|
|
|
| -// NOTE: |output| is initialized with the size of the view and |size| is
|
| -// ignored on GTK.
|
| +// NOTE: |output| is initialized with the size of |src_subrect|, and |dst_size|
|
| +// is ignored on GTK.
|
| void RenderWidgetHostViewGtk::CopyFromCompositingSurface(
|
| - const gfx::Size& /* size */,
|
| + const gfx::Rect& src_subrect,
|
| + const gfx::Size& /* dst_size */,
|
| const base::Callback<void(bool)>& callback,
|
| skia::PlatformCanvas* output) {
|
| base::ScopedClosureRunner scoped_callback_runner(base::Bind(callback, false));
|
|
|
| const gfx::Rect bounds = GetViewBounds();
|
| XImage* image = XGetImage(ui::GetXDisplay(), ui::GetX11RootWindow(),
|
| - bounds.x(), bounds.y(),
|
| - bounds.width(), bounds.height(),
|
| + bounds.x() + src_subrect.x(),
|
| + bounds.y() + src_subrect.y(),
|
| + src_subrect.width(),
|
| + src_subrect.height(),
|
| AllPlanes, ZPixmap);
|
| if (!image)
|
| return;
|
|
|
| - if (!output->initialize(bounds.width(), bounds.height(), true)) {
|
| + if (!output->initialize(src_subrect.width(), src_subrect.height(), true)) {
|
| XFree(image);
|
| return;
|
| }
|
|
|