Chromium Code Reviews| Index: chrome/browser/ui/views/frame/opaque_browser_frame_view.cc |
| diff --git a/chrome/browser/ui/views/frame/opaque_browser_frame_view.cc b/chrome/browser/ui/views/frame/opaque_browser_frame_view.cc |
| index 6b3956817a13098feab249625e1cec74692ca786..c53ea350d99bd5697f97c67b0653f4158991afb2 100644 |
| --- a/chrome/browser/ui/views/frame/opaque_browser_frame_view.cc |
| +++ b/chrome/browser/ui/views/frame/opaque_browser_frame_view.cc |
| @@ -18,7 +18,6 @@ |
| #include "chrome/browser/ui/views/frame/browser_view.h" |
| #include "chrome/browser/ui/views/frame/opaque_browser_frame_view_layout.h" |
| #include "chrome/browser/ui/views/frame/opaque_browser_frame_view_platform_specific.h" |
| -#include "chrome/browser/ui/views/profiles/avatar_label.h" |
| #include "chrome/browser/ui/views/profiles/avatar_menu_button.h" |
| #include "chrome/browser/ui/views/profiles/new_avatar_button.h" |
| #include "chrome/browser/ui/views/tab_icon_view.h" |
| @@ -53,6 +52,10 @@ |
| #include "ui/views/window/frame_background.h" |
| #include "ui/views/window/window_shape.h" |
| +#if defined(ENABLE_MANAGED_USERS) |
| +#include "chrome/browser/ui/views/profiles/supervised_user_avatar_label.h" |
| +#endif |
| + |
| #if defined(OS_LINUX) |
| #include "ui/views/controls/menu/menu_runner.h" |
| #endif |
| @@ -205,18 +208,29 @@ gfx::Rect OpaqueBrowserFrameView::GetWindowBoundsForClientBounds( |
| return layout_->GetWindowBoundsForClientBounds(client_bounds); |
| } |
| +bool OpaqueBrowserFrameView::IsWithinAvatarMenuButtons( |
| + const gfx::Point& point) const { |
| + return (avatar_button() && |
| + (avatar_button()->GetMirroredBounds().Contains(point))) || |
|
Bernhard Bauer
2014/07/14 16:39:05
Consider also splitting this up into two checks.
mckev
2014/07/14 23:50:03
OK - I took a stab at it. Let me know what you th
Bernhard Bauer
2014/07/16 09:53:59
You can simplify this with multiple returns:
if
|
| + (new_avatar_button() && |
| + new_avatar_button()->GetMirroredBounds().Contains(point)); |
| +} |
| + |
| int OpaqueBrowserFrameView::NonClientHitTest(const gfx::Point& point) { |
| if (!bounds().Contains(point)) |
| return HTNOWHERE; |
| // See if the point is within the avatar menu button or within the avatar |
| // label. |
| - if ((avatar_button() && |
| - avatar_button()->GetMirroredBounds().Contains(point)) || |
| - (avatar_label() && avatar_label()->GetMirroredBounds().Contains(point)) || |
| - (new_avatar_button() && |
| - new_avatar_button()->GetMirroredBounds().Contains(point))) |
| +#if defined(ENABLE_MANAGED_USERS) |
| + if (IsWithinAvatarMenuButtons(point) || |
|
Bernhard Bauer
2014/07/14 16:39:05
Same here.
mckev
2014/07/14 23:50:03
Sure thing, makes sense since I made a similar cha
|
| + (supervised_user_avatar_label() && |
| + supervised_user_avatar_label()->GetMirroredBounds().Contains(point))) |
| return HTCLIENT; |
| +#else |
| + if (IsWithinAvatarMenuButtons(point)) |
| + return HTCLIENT; |
| +#endif |
| int frame_component = frame()->client_view()->NonClientHitTest(point); |