OLD | NEW |
| (Empty) |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | |
2 // Use of this source code is governed by a BSD-style license that can be | |
3 // found in the LICENSE file. | |
4 | |
5 #ifndef BASE_MESSAGE_LOOP_MESSAGE_PUMP_OBSERVER_H | |
6 #define BASE_MESSAGE_LOOP_MESSAGE_PUMP_OBSERVER_H | |
7 | |
8 #include "base/base_export.h" | |
9 #include "base/event_types.h" | |
10 | |
11 namespace base { | |
12 | |
13 enum EventStatus { | |
14 EVENT_CONTINUE, // The event should be dispatched as normal. | |
15 #if defined(USE_X11) | |
16 EVENT_HANDLED // The event should not be processed any farther. | |
17 #endif | |
18 }; | |
19 | |
20 // A MessagePumpObserver is an object that receives global | |
21 // notifications from the UI MessageLoop with MessagePumpWin or | |
22 // MessagePumpAuraX11. | |
23 // | |
24 // NOTE: An Observer implementation should be extremely fast! | |
25 // | |
26 // For use with MessagePumpAuraX11, please see message_pump_glib.h for more | |
27 // info about how this is invoked in this environment. | |
28 class BASE_EXPORT MessagePumpObserver { | |
29 public: | |
30 // This method is called before processing a NativeEvent. If the | |
31 // method returns EVENT_HANDLED, it indicates the event has already | |
32 // been handled, so the event is not processed any farther. If the | |
33 // method returns EVENT_CONTINUE, the event dispatching proceeds as | |
34 // normal. | |
35 virtual EventStatus WillProcessEvent(const NativeEvent& event) = 0; | |
36 | |
37 // This method is called after processing a message. This method | |
38 // will not be called if WillProcessEvent returns EVENT_HANDLED. | |
39 virtual void DidProcessEvent(const NativeEvent& event) = 0; | |
40 | |
41 protected: | |
42 virtual ~MessagePumpObserver() {} | |
43 }; | |
44 | |
45 } // namespace base | |
46 | |
47 #endif // BASE_MESSAGE_LOOP_MESSAGE_PUMP_OBSERVER_H | |
OLD | NEW |