diff options
author | rbyers@chromium.org <rbyers@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-05-01 22:20:03 +0000 |
---|---|---|
committer | rbyers@chromium.org <rbyers@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-05-01 22:20:03 +0000 |
commit | a2f6515487151c01d35d112a36804cc726c7782a (patch) | |
tree | 06001a69f837aa28d9219a59bdf7f26b6264cbee /ui/views/widget | |
parent | 108f60905372f2e85e3036cda066593dbbf52fbc (diff) | |
download | chromium_src-a2f6515487151c01d35d112a36804cc726c7782a.zip chromium_src-a2f6515487151c01d35d112a36804cc726c7782a.tar.gz chromium_src-a2f6515487151c01d35d112a36804cc726c7782a.tar.bz2 |
Don't cancel touches/gestures on capture release.
Setting and removing capture on a window shouldn't interfere with
touches/gestures already in progress on that window. Touches
and gestures don't have ENTERED/EXITED events so they can't truly
be transferred back and forth between windows.
This CL also beefs up the testing and comments to make the existing capture
behavior and issues with it more clear.
BUG=163961
Review URL: https://chromiumcodereview.appspot.com/14676003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@197728 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ui/views/widget')
-rw-r--r-- | ui/views/widget/desktop_aura/desktop_capture_client.cc | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/ui/views/widget/desktop_aura/desktop_capture_client.cc b/ui/views/widget/desktop_aura/desktop_capture_client.cc index 1ad2119..2689662f 100644 --- a/ui/views/widget/desktop_aura/desktop_capture_client.cc +++ b/ui/views/widget/desktop_aura/desktop_capture_client.cc @@ -25,7 +25,9 @@ DesktopCaptureClient::~DesktopCaptureClient() { void DesktopCaptureClient::SetCapture(aura::Window* window) { if (capture_window_ == window) return; - root_window_->gesture_recognizer()->TransferEventsTo(capture_window_, window); + if (window) + root_window_->gesture_recognizer()-> + TransferEventsTo(capture_window_, window); aura::Window* old_capture_window = capture_window_; capture_window_ = window; |