summaryrefslogtreecommitdiffstats
path: root/ui/views/window/non_client_view.h
diff options
context:
space:
mode:
authorestade <estade@chromium.org>2016-03-23 12:07:11 -0700
committerCommit bot <commit-bot@chromium.org>2016-03-23 19:08:52 +0000
commit9c5853b50cb270fabac8533c2c6844fd83f00158 (patch)
tree0474243995b68415d88d75891343901fc760afae /ui/views/window/non_client_view.h
parent4ed171b7b7cf88fea577208abbe901a125f675dc (diff)
downloadchromium_src-9c5853b50cb270fabac8533c2c6844fd83f00158.zip
chromium_src-9c5853b50cb270fabac8533c2c6844fd83f00158.tar.gz
chromium_src-9c5853b50cb270fabac8533c2c6844fd83f00158.tar.bz2
Allow NonClientFrameView to define a clip for the client view. This fixes the website settings bubble.
Also draw the border on top in BubbleFrameView. This fixes the bookmark bubble sync promo. This patch does not address client views with layers, such as ExtensionPopup. BUG=581600 Review URL: https://codereview.chromium.org/1773393002 Cr-Commit-Position: refs/heads/master@{#382895}
Diffstat (limited to 'ui/views/window/non_client_view.h')
-rw-r--r--ui/views/window/non_client_view.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/ui/views/window/non_client_view.h b/ui/views/window/non_client_view.h
index 1eac8c2..4000024 100644
--- a/ui/views/window/non_client_view.h
+++ b/ui/views/window/non_client_view.h
@@ -65,6 +65,12 @@ class VIEWS_EXPORT NonClientFrameView : public View,
virtual gfx::Rect GetWindowBoundsForClientBounds(
const gfx::Rect& client_bounds) const = 0;
+ // Gets the clip mask (in this View's parent's coordinates) that should be
+ // applied to the client view. Returns false if no special clip should be
+ // used.
+ virtual bool GetClientMask(const gfx::Size& size,
+ gfx::Path* mask) const;
+
// This function must ask the ClientView to do a hittest. We don't do this in
// the parent NonClientView because that makes it more difficult to calculate
// hittests for regions that are partially obscured by the ClientView, e.g.