| Index: content/browser/renderer_host/render_widget_host_view_mac.mm
|
| diff --git a/content/browser/renderer_host/render_widget_host_view_mac.mm b/content/browser/renderer_host/render_widget_host_view_mac.mm
|
| index f546d4e1d630f91be8a9c76389a918e710686c21..cb3ecf5cb2e6e14f873954cf6c5ea4f0da88b82e 100644
|
| --- a/content/browser/renderer_host/render_widget_host_view_mac.mm
|
| +++ b/content/browser/renderer_host/render_widget_host_view_mac.mm
|
| @@ -822,22 +822,22 @@ void RenderWidgetHostViewMac::CopyFromCompositingSurface(
|
| const base::Callback<void(bool)>& callback,
|
| skia::PlatformCanvas* output) {
|
| base::ScopedClosureRunner scoped_callback_runner(base::Bind(callback, false));
|
| - // TODO(mazda): Support copying a partial rectangle from the compositing
|
| - // surface with |src_subrect| (http://crbug.com/118571).
|
| - if (!src_subrect.IsEmpty()) {
|
| - NOTIMPLEMENTED();
|
| - return;
|
| - }
|
| -
|
| if (!compositing_iosurface_.get() ||
|
| !compositing_iosurface_->HasIOSurface())
|
| return;
|
|
|
| - if (!output->initialize(dst_size.width(), dst_size.height(), true))
|
| + float scale = ScaleFactor(cocoa_view_);
|
| + gfx::Size dst_pixel_size = dst_size.Scale(scale);
|
| + if (!output->initialize(
|
| + dst_pixel_size.width(), dst_pixel_size.height(), true))
|
| return;
|
|
|
| + gfx::Rect src_pixel_subrect(src_subrect.origin().Scale(scale),
|
| + src_subrect.size().Scale(scale));
|
| const bool result = compositing_iosurface_->CopyTo(
|
| - dst_size, output->getTopDevice()->accessBitmap(true).getPixels());
|
| + src_pixel_subrect,
|
| + dst_pixel_size,
|
| + output->getTopDevice()->accessBitmap(true).getPixels());
|
| scoped_callback_runner.Release();
|
| callback.Run(result);
|
| }
|
|
|