summaryrefslogtreecommitdiffstats
path: root/ui/aura/client/default_capture_client.cc
diff options
context:
space:
mode:
authorsky@chromium.org <sky@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-11-14 07:03:40 +0000
committersky@chromium.org <sky@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-11-14 07:03:40 +0000
commitd4e7391c8839a6d5bac0850a523e41af520629c7 (patch)
tree28f4b1d334572119dd476c17cf31c9d72ff3a892 /ui/aura/client/default_capture_client.cc
parent9a9177bd07c922114736b4105fc6223fa4a0ce1d (diff)
downloadchromium_src-d4e7391c8839a6d5bac0850a523e41af520629c7.zip
chromium_src-d4e7391c8839a6d5bac0850a523e41af520629c7.tar.gz
chromium_src-d4e7391c8839a6d5bac0850a523e41af520629c7.tar.bz2
Makes sure we don't end up showing two tooltips
When you show/hide a window RootWindow may generate events (for enter/exit). If there is a capture on the desktop this can lead to sending mouse events to a window that does not have capture. This can lead to showing two tooltips. One from the window that has capture, the other from the window that got the enter/exit. This patch fixes the bug by ignoring events targetted at a window when another window has capture. This is mildly complicated by how our CaptureClient is implemented for the desktop. In particular only the window that has capture knows it has capture, all other Widgets think no has capture. The fix is to add a way to get the global capture. BUG=317495 TEST=see bug R=ben@chromium.org,varunjain@chromium.org Review URL: https://codereview.chromium.org/69343004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@235079 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ui/aura/client/default_capture_client.cc')
-rw-r--r--ui/aura/client/default_capture_client.cc4
1 files changed, 4 insertions, 0 deletions
diff --git a/ui/aura/client/default_capture_client.cc b/ui/aura/client/default_capture_client.cc
index debd86e..df6a1b0 100644
--- a/ui/aura/client/default_capture_client.cc
+++ b/ui/aura/client/default_capture_client.cc
@@ -50,5 +50,9 @@ Window* DefaultCaptureClient::GetCaptureWindow() {
return capture_window_;
}
+Window* DefaultCaptureClient::GetGlobalCaptureWindow() {
+ return capture_window_;
+}
+
} // namespace client
} // namespace aura