Restrict immersive mode bezel gestures in extended desktop.
commit8a19850b9b392010a0ddf7b2642c33e031b27bbb
authorwnwen@chromium.org <wnwen@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>
Fri, 9 Aug 2013 00:17:01 +0000 (9 00:17 +0000)
committerwnwen@chromium.org <wnwen@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>
Fri, 9 Aug 2013 00:17:01 +0000 (9 00:17 +0000)
tree9cfeb200f82d27a2ba1d2e32514df93655d0165b
parenta602ded067084751e927e6ea2def4c97e8208154
Restrict immersive mode bezel gestures in extended desktop.

When multiple screens are present, only consume a gesture event as if it
is from the bezel if its location does not overlap on another screen.

Due to there being no actual strip of coordinates between the screens,
if there is a bezel between them, events from the bezel are actually
located on the other screen's coordinate space, thus if immersive mode's
top container consumes such events then it can potentially (and does in
the case mentioned in the bug) steal all the touch events from the
screen with the bezel and treats that screen as just a big bezel.

Added a check so that only when an event is not on any screen is it
processed as a bezel event.

BUG=chromium:266222
TEST=When the extended screen is below the pixel's native screen,
pulling up the shelf and pulling down the top container via touch is very
difficult because no pixels are spared for the bezel (none can be spared
as the events are either on one screen or the other).

Review URL: https://chromiumcodereview.appspot.com/22353009

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@216504 0039d316-1c4b-4281-b951-d872f2087c98
chrome/browser/ui/views/frame/immersive_mode_controller_ash.cc