Index: ui/snapshot/snapshot_android.cc |
diff --git a/ui/snapshot/snapshot_android.cc b/ui/snapshot/snapshot_android.cc |
index a8200be708df7f46de0ffb94bba8dba36153c850..c4616c8b84ffda83245bf9a54a11a0f83ce4a638 100644 |
--- a/ui/snapshot/snapshot_android.cc |
+++ b/ui/snapshot/snapshot_android.cc |
@@ -10,6 +10,7 @@ |
#include "ui/android/view_android.h" |
#include "ui/android/window_android.h" |
#include "ui/android/window_android_compositor.h" |
+#include "ui/gfx/android/device_display_info.h" |
#include "ui/gfx/display.h" |
#include "ui/gfx/geometry/point_conversions.h" |
#include "ui/gfx/geometry/rect_conversions.h" |
@@ -39,9 +40,11 @@ static void MakeAsyncCopyRequest( |
scoped_ptr<cc::CopyOutputRequest> request = |
cc::CopyOutputRequest::CreateBitmapRequest(callback); |
- const gfx::Display& display = |
- gfx::Screen::GetNativeScreen()->GetPrimaryDisplay(); |
- float device_scale_factor = display.device_scale_factor(); |
+ float device_scale_factor = |
+ gfx::Display::HasForceDeviceScaleFactor() |
+ ? gfx::Display::GetForcedDeviceScaleFactor() |
+ : window->GetDeviceDisplayInfo().GetDIPScale(); |
+ |
gfx::Rect source_rect_in_pixel = |
gfx::ScaleToEnclosingRect(source_rect, device_scale_factor); |