Index: ui/views/bubble/bubble_frame_view.cc |
diff --git a/ui/views/bubble/bubble_frame_view.cc b/ui/views/bubble/bubble_frame_view.cc |
index c7efa375752b4bdf136e9b9fab0f99b84bc18b16..c8e8cdafdade1d9b3ea5e20fbf38a67773475a0f 100644 |
--- a/ui/views/bubble/bubble_frame_view.cc |
+++ b/ui/views/bubble/bubble_frame_view.cc |
@@ -184,6 +184,11 @@ gfx::Rect BubbleFrameView::GetUpdatedWindowBounds(const gfx::Rect& anchor_rect, |
MirrorArrowIfOffScreen(true, anchor_rect, client_size); |
MirrorArrowIfOffScreen(false, anchor_rect, client_size); |
} else { |
+ // Mirror as needed vertically if the arrow is on a horizontal edge and |
+ // vice-versa. |
+ MirrorArrowIfOffScreen(BubbleBorder::is_arrow_on_horizontal(arrow), |
+ anchor_rect, |
+ client_size); |
OffsetArrowIfOffScreen(anchor_rect, client_size); |
} |
} |