summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjackhou <jackhou@chromium.org>2014-09-26 11:00:09 -0700
committerCommit bot <commit-bot@chromium.org>2014-09-26 18:00:24 +0000
commitc0c8e095397d530fd31f7a77d6e39f39bd72b436 (patch)
tree1011a35699fec14131f574965217704a71d7d937
parent6e3ab0a5c3ca6fcb76a736107e08dbbbf1e2637a (diff)
downloadchromium_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.cc6
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;
}