Index: base/message_pump_glib.h |
diff --git a/base/message_pump_glib.h b/base/message_pump_glib.h |
index 01cd4b651c617d699504a41f4f3f4d255cf2282b..26aec49cc7628204445355d29d9aecc21275b775 100644 |
--- a/base/message_pump_glib.h |
+++ b/base/message_pump_glib.h |
@@ -29,47 +29,14 @@ class MessagePumpForUI : public MessagePump { |
// We may make recursive calls to Run, so we save state that needs to be |
// separate between them in this structure type. |
struct RunState { |
- // This is the delegate argument passed to Run. |
Delegate* delegate; |
- // This tells us when to exit the event pump. |
- bool keep_running; |
- // This tells our work source when to dispatch DoWork and DoDelayedWork. |
- bool should_do_work; |
- // This tells our idle source when to dispatch DoIdleWork. |
- bool should_do_idle_work; |
- // Unlike the work source, which is shared by all calls to Run, each Run |
- // call gets its own idle source because we need to destroy it when we have |
- // no idle work, and we don't want to destroy someone else's source. |
- GSource* idle_source; |
- }; |
- struct WorkSource : GSource { |
- MessagePumpForUI* self; |
- }; |
+ // Used to flag that the current Run() invocation should return ASAP. |
+ bool should_quit; |
- // The source with these callbacks remain in the main loop forever. They |
- // will dispatch DoWork and DoDelayedWork, and calculate when and how long |
- // to block when GLib calls poll internally. |
- static GSourceFuncs WorkSourceFuncs; |
- static gboolean WorkSourcePrepare(GSource* source, gint* timeout_ms); |
- static gboolean WorkSourceCheck(GSource* source); |
- static gboolean WorkSourceDispatch(GSource* source, GSourceFunc unused_func, |
- gpointer unused_data); |
- |
- // The source that uses these callbacks is added as an idle source, which |
- // means GLib will call it when there is no other work to do. We continue |
- // doing work as long as DoIdleWork or the other work functions return true. |
- // Once no work remains, we remove the idle source so GLib will block instead |
- // of firing it. Then we re-add it when we wake up. |
- static GSourceFuncs IdleSourceFuncs; |
- static gboolean IdleSourcePrepare(GSource* source, gint* timeout_ms); |
- static gboolean IdleSourceCheck(GSource* source); |
- static gboolean IdleSourceDispatch(GSource* source, GSourceFunc unused_func, |
- gpointer unused_data); |
- |
- // This adds a GLib source to the main loop. |
- GSource* AddSource(GSourceFuncs* funcs, gint priority, |
- GPollFD* optional_poll_fd); |
+ // Used to count how many Run() invocations are on the stack. |
+ int run_depth; |
+ }; |
RunState* state_; |