From 1a8376c7e8712830be8c71ed902b2a6431a2fd3f Mon Sep 17 00:00:00 2001 From: "powei@chromium.org" Date: Fri, 20 Jun 2014 22:37:14 +0000 Subject: android: Fix snapshot height by including toolbar offset The Android snapshot was found to be chopping off the bottom content. This is due to not accounting for the height of the toolbar. This patch enlarges the snapshot by that offset. BUG=384551 Review URL: https://codereview.chromium.org/340603002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@278843 0039d316-1c4b-4281-b951-d872f2087c98 --- ui/snapshot/snapshot_android.cc | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'ui/snapshot') diff --git a/ui/snapshot/snapshot_android.cc b/ui/snapshot/snapshot_android.cc index 9713cff..aec7555 100644 --- a/ui/snapshot/snapshot_android.cc +++ b/ui/snapshot/snapshot_android.cc @@ -11,6 +11,7 @@ #include "ui/base/android/window_android.h" #include "ui/base/android/window_android_compositor.h" #include "ui/gfx/display.h" +#include "ui/gfx/geometry/point_conversions.h" #include "ui/gfx/geometry/rect_conversions.h" #include "ui/gfx/screen.h" #include "ui/snapshot/snapshot_async.h" @@ -44,7 +45,14 @@ static void MakeAsyncCopyRequest( gfx::Rect source_rect_in_pixel = gfx::ToEnclosingRect(gfx::ScaleRect(source_rect, device_scale_factor)); - request->set_area(source_rect_in_pixel); + // Account for the toolbar offset. + gfx::Vector2dF offset = window->content_offset(); + gfx::Rect adjusted_source_rect(gfx::ToRoundedPoint( + gfx::PointF(source_rect_in_pixel.x() + offset.x(), + source_rect_in_pixel.y() + offset.y())), + source_rect_in_pixel.size()); + + request->set_area(adjusted_source_rect); window->GetCompositor()->RequestCopyOfOutputOnRootLayer(request.Pass()); } -- cgit v1.1