summaryrefslogtreecommitdiffstats
path: root/base/message_pump_x.cc
diff options
context:
space:
mode:
authorsadrul@chromium.org <sadrul@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-12-01 16:42:16 +0000
committersadrul@chromium.org <sadrul@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-12-01 16:42:16 +0000
commit754bebc123ff35ecd50c68f43b7675953b1cb431 (patch)
tree744f3516d716d7c4ca66c98424a05176d64cc789 /base/message_pump_x.cc
parent0e12d7d59d4778e1a8ef692d244bf66aea1a80b8 (diff)
downloadchromium_src-754bebc123ff35ecd50c68f43b7675953b1cb431.zip
chromium_src-754bebc123ff35ecd50c68f43b7675953b1cb431.tar.gz
chromium_src-754bebc123ff35ecd50c68f43b7675953b1cb431.tar.bz2
aura: Fix unit_tests on linux
Make sure the aura::Desktop is destroyed with the message-loop. This is done by adding a DestroyMessagePump notification to MessagePumpObserver. Also remove some views_unittests that were added to test NativeWidgetViews (which aren't used anymore), and do proper cleanup in AccessibilityEventRouter unittest. TBR=darin@chromium.org BUG=104559, 105613 TEST=unit_tests Review URL: http://codereview.chromium.org/8566037 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@112474 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base/message_pump_x.cc')
-rw-r--r--base/message_pump_x.cc8
1 files changed, 3 insertions, 5 deletions
diff --git a/base/message_pump_x.cc b/base/message_pump_x.cc
index 3b1ed3d..8a253df 100644
--- a/base/message_pump_x.cc
+++ b/base/message_pump_x.cc
@@ -183,6 +183,8 @@ bool MessagePumpX::RunOnce(GMainContext* context, bool block) {
}
bool MessagePumpX::WillProcessXEvent(XEvent* xevent) {
+ if (!observers().might_have_observers())
+ return false;
ObserverListBase<MessagePumpObserver>::Iterator it(observers());
MessagePumpObserver* obs;
while ((obs = it.GetNext()) != NULL) {
@@ -193,11 +195,7 @@ bool MessagePumpX::WillProcessXEvent(XEvent* xevent) {
}
void MessagePumpX::DidProcessXEvent(XEvent* xevent) {
- ObserverListBase<MessagePumpObserver>::Iterator it(observers());
- MessagePumpObserver* obs;
- while ((obs = it.GetNext()) != NULL) {
- obs->DidProcessEvent(xevent);
- }
+ FOR_EACH_OBSERVER(MessagePumpObserver, observers(), DidProcessEvent(xevent));
}
} // namespace base