summaryrefslogtreecommitdiffstats
path: root/ui/base
diff options
context:
space:
mode:
authoroshima@google.com <oshima@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2011-11-18 22:45:36 +0000
committeroshima@google.com <oshima@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2011-11-18 22:45:36 +0000
commitb5a1864ef483aa39010642f471715eeb041bbe0a (patch)
tree8eff137402c359edda3e8998764cb65c2fa0c59d /ui/base
parent3b73f52789e3132d2ac063c7ec8c6ee4e62db36f (diff)
downloadchromium_src-b5a1864ef483aa39010642f471715eeb041bbe0a.zip
chromium_src-b5a1864ef483aa39010642f471715eeb041bbe0a.tar.gz
chromium_src-b5a1864ef483aa39010642f471715eeb041bbe0a.tar.bz2
Send fake event when event_type is set to exit menu so that
nested loop can exit. BUG=104684 TEST=BrowserTest.CloseWithAppMenuOpen passes on aura build Review URL: http://codereview.chromium.org/8597010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@110774 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ui/base')
-rw-r--r--ui/base/events.h3
-rw-r--r--ui/base/win/events_win.cc8
-rw-r--r--ui/base/x/events_x.cc11
3 files changed, 22 insertions, 0 deletions
diff --git a/ui/base/events.h b/ui/base/events.h
index 1e83479..9827959 100644
--- a/ui/base/events.h
+++ b/ui/base/events.h
@@ -103,6 +103,9 @@ UI_EXPORT float GetTouchAngle(const base::NativeEvent& native_event);
// Gets the force from a native_event. Normalized to be [0, 1]. Default is 0.0.
UI_EXPORT float GetTouchForce(const base::NativeEvent& native_event);
+// Creates and returns no-op event.
+UI_EXPORT base::NativeEvent CreateNoopEvent();
+
} // namespace ui
#endif // UI_BASE_EVENTS_H_
diff --git a/ui/base/win/events_win.cc b/ui/base/win/events_win.cc
index ea4dc47..418d6d0 100644
--- a/ui/base/win/events_win.cc
+++ b/ui/base/win/events_win.cc
@@ -253,4 +253,12 @@ float GetTouchForce(const base::NativeEvent& native_event) {
return 0.0;
}
+base::NativeEvent CreateNoopEvent() {
+ MSG event;
+ event.message = WM_USER;
+ event.wParam = 0;
+ event.lParam = 0;
+ return event;
+}
+
} // namespace ui
diff --git a/ui/base/x/events_x.cc b/ui/base/x/events_x.cc
index 329acbe..966fec2 100644
--- a/ui/base/x/events_x.cc
+++ b/ui/base/x/events_x.cc
@@ -4,6 +4,7 @@
#include "ui/base/events.h"
+#include <X11/Xlib.h>
#include <X11/extensions/XInput2.h>
#include "base/logging.h"
@@ -354,4 +355,14 @@ float GetTouchForce(const base::NativeEvent& native_event) {
return force;
}
+base::NativeEvent CreateNoopEvent() {
+ static XEvent* noop = new XEvent();
+ noop->xclient.type = ClientMessage;
+ noop->xclient.display = NULL;
+ noop->xclient.window = None;
+ noop->xclient.message_type = 0;
+ noop->xclient.format = 0;
+ return noop;
+}
+
} // namespace ui