diff options
author | oshima@google.com <oshima@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-11-18 22:45:36 +0000 |
---|---|---|
committer | oshima@google.com <oshima@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-11-18 22:45:36 +0000 |
commit | b5a1864ef483aa39010642f471715eeb041bbe0a (patch) | |
tree | 8eff137402c359edda3e8998764cb65c2fa0c59d /ui/base | |
parent | 3b73f52789e3132d2ac063c7ec8c6ee4e62db36f (diff) | |
download | chromium_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.h | 3 | ||||
-rw-r--r-- | ui/base/win/events_win.cc | 8 | ||||
-rw-r--r-- | ui/base/x/events_x.cc | 11 |
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 |