summaryrefslogtreecommitdiffstats
path: root/ui/views/widget
diff options
context:
space:
mode:
authorrbyers@chromium.org <rbyers@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-05-01 22:20:03 +0000
committerrbyers@chromium.org <rbyers@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-05-01 22:20:03 +0000
commita2f6515487151c01d35d112a36804cc726c7782a (patch)
tree06001a69f837aa28d9219a59bdf7f26b6264cbee /ui/views/widget
parent108f60905372f2e85e3036cda066593dbbf52fbc (diff)
downloadchromium_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.cc4
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;