Index: chrome/browser/ui/views/frame/glass_browser_frame_view.cc |
diff --git a/chrome/browser/ui/views/frame/glass_browser_frame_view.cc b/chrome/browser/ui/views/frame/glass_browser_frame_view.cc |
index ae6197a689832e683be342f6b09a2ee897d2a8df..3d2e6f9f45309de131379b9d4750ff0ee2eb15ab 100644 |
--- a/chrome/browser/ui/views/frame/glass_browser_frame_view.cc |
+++ b/chrome/browser/ui/views/frame/glass_browser_frame_view.cc |
@@ -238,10 +238,16 @@ void GlassBrowserFrameView::Layout() { |
LayoutClientView(); |
} |
-bool GlassBrowserFrameView::HitTest(const gfx::Point& l) const { |
+bool GlassBrowserFrameView::HitTest(const gfx::Rect& r) const { |
+ if (r.IsEmpty()) { |
+ gfx::Point p(r.x(), r.y()); |
+ return (avatar_button() && |
+ avatar_button()->GetMirroredBounds().Contains(p)) || |
+ !frame()->client_view()->bounds().Contains(p); |
+ } |
return (avatar_button() && |
- avatar_button()->GetMirroredBounds().Contains(l)) || |
- !frame()->client_view()->bounds().Contains(l); |
+ avatar_button()->GetMirroredBounds().Intersects(r)) || |
+ !frame()->client_view()->bounds().Intersects(r); |
} |
/////////////////////////////////////////////////////////////////////////////// |