summaryrefslogtreecommitdiff
path: root/chromium/ui/display/win/scaling_util.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/ui/display/win/scaling_util.cc')
-rw-r--r--chromium/ui/display/win/scaling_util.cc5
1 files changed, 3 insertions, 2 deletions
diff --git a/chromium/ui/display/win/scaling_util.cc b/chromium/ui/display/win/scaling_util.cc
index 2102a7d0475..e23e68ee6d5 100644
--- a/chromium/ui/display/win/scaling_util.cc
+++ b/chromium/ui/display/win/scaling_util.cc
@@ -227,8 +227,9 @@ DisplayPlacement CalculateDisplayPlacement(const DisplayInfo& parent,
// corners and |rect|'s top corners when the rects don't overlap vertically.
int64_t SquaredDistanceBetweenRects(const gfx::Rect& ref,
const gfx::Rect& rect) {
- if (ref.Intersects(rect))
- return 0;
+ gfx::Rect intersection_rect = gfx::IntersectRects(ref, rect);
+ if (!intersection_rect.IsEmpty())
+ return -(intersection_rect.width() * intersection_rect.height());
CoordinateRotation degrees = ComputeCoordinateRotationRefTop(ref, rect);
gfx::Rect top_rect(CoordinateRotateRect(ref, degrees));