Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(285)

Side by Side Diff: base/message_loop/message_pump_observer.h

Issue 223483002: base: Do not allow MessagePumpObservers to consume events. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: tot-merge-r262009 Created 6 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | base/message_loop/message_pump_x11.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef BASE_MESSAGE_LOOP_MESSAGE_PUMP_OBSERVER_H 5 #ifndef BASE_MESSAGE_LOOP_MESSAGE_PUMP_OBSERVER_H
6 #define BASE_MESSAGE_LOOP_MESSAGE_PUMP_OBSERVER_H 6 #define BASE_MESSAGE_LOOP_MESSAGE_PUMP_OBSERVER_H
7 7
8 #include "base/base_export.h" 8 #include "base/base_export.h"
9 #include "base/event_types.h" 9 #include "base/event_types.h"
10 10
11 namespace base { 11 namespace base {
12 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 13 // A MessagePumpObserver is an object that receives global
21 // notifications from the UI MessageLoop with MessagePumpWin or 14 // notifications from the UI MessageLoop with MessagePumpWin or
22 // MessagePumpX11. 15 // MessagePumpX11.
23 // 16 //
24 // NOTE: An Observer implementation should be extremely fast! 17 // NOTE: An Observer implementation should be extremely fast!
25 // 18 //
26 // For use with MessagePumpX11, please see message_pump_glib.h for more 19 // For use with MessagePumpX11, please see message_pump_glib.h for more
27 // info about how this is invoked in this environment. 20 // info about how this is invoked in this environment.
28 class BASE_EXPORT MessagePumpObserver { 21 class BASE_EXPORT MessagePumpObserver {
29 public: 22 public:
30 // This method is called before processing a NativeEvent. If the 23 // This method is called before processing a NativeEvent.
31 // method returns EVENT_HANDLED, it indicates the event has already 24 virtual void WillProcessEvent(const NativeEvent& event) = 0;
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 25
37 // This method is called after processing a message. This method 26 // This method is called after processing a message.
38 // will not be called if WillProcessEvent returns EVENT_HANDLED.
39 virtual void DidProcessEvent(const NativeEvent& event) = 0; 27 virtual void DidProcessEvent(const NativeEvent& event) = 0;
40 28
41 protected: 29 protected:
42 virtual ~MessagePumpObserver() {} 30 virtual ~MessagePumpObserver() {}
43 }; 31 };
44 32
45 } // namespace base 33 } // namespace base
46 34
47 #endif // BASE_MESSAGE_LOOP_MESSAGE_PUMP_OBSERVER_H 35 #endif // BASE_MESSAGE_LOOP_MESSAGE_PUMP_OBSERVER_H
OLDNEW
« no previous file with comments | « no previous file | base/message_loop/message_pump_x11.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698