diff options
author | jackhou <jackhou@chromium.org> | 2014-09-26 11:00:09 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2014-09-26 18:00:24 +0000 |
commit | c0c8e095397d530fd31f7a77d6e39f39bd72b436 (patch) | |
tree | 1011a35699fec14131f574965217704a71d7d937 | |
parent | 6e3ab0a5c3ca6fcb76a736107e08dbbbf1e2637a (diff) | |
download | chromium_src-c0c8e095397d530fd31f7a77d6e39f39bd72b436.zip chromium_src-c0c8e095397d530fd31f7a77d6e39f39bd72b436.tar.gz chromium_src-c0c8e095397d530fd31f7a77d6e39f39bd72b436.tar.bz2 |
[Ash] ShapedAppWindowTargeter treats empty shapes as empty hit test masks.
Previously, setShape({'rects': []}) or
setShape({'rects': [{left:0, width:0, top:0, height:1}]})
would make the window completely transparent, but still capture input.
This was because ShapedAppWindowTargeter::GetHitTestMask returned
false if the shape was empty. It now returns false only if the shape
is NULL.
BUG=417014
Review URL: https://codereview.chromium.org/602013002
Cr-Commit-Position: refs/heads/master@{#296975}
-rw-r--r-- | chrome/browser/ui/views/apps/shaped_app_window_targeter.cc | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/chrome/browser/ui/views/apps/shaped_app_window_targeter.cc b/chrome/browser/ui/views/apps/shaped_app_window_targeter.cc index 8e3513a..6f0e7cd 100644 --- a/chrome/browser/ui/views/apps/shaped_app_window_targeter.cc +++ b/chrome/browser/ui/views/apps/shaped_app_window_targeter.cc @@ -18,5 +18,9 @@ ShapedAppWindowTargeter::~ShapedAppWindowTargeter() { bool ShapedAppWindowTargeter::GetHitTestMask(aura::Window* window, gfx::Path* mask) const { SkRegion* shape = app_window_->shape(); - return shape ? shape->getBoundaryPath(mask) : false; + if (!shape) + return false; + + shape->getBoundaryPath(mask); + return true; } |