diff options
author | mark@chromium.org <mark@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-10-13 13:51:19 +0000 |
---|---|---|
committer | mark@chromium.org <mark@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-10-13 13:51:19 +0000 |
commit | c83d0103a4806d2d7b6d6bf96b814a54b51c2c75 (patch) | |
tree | d2696b1191229b6e685577449f31c87de64e7316 /base/message_pump_mac.h | |
parent | 659f73fa7b0a91ceef30e89fff34629f39853761 (diff) | |
download | chromium_src-c83d0103a4806d2d7b6d6bf96b814a54b51c2c75.zip chromium_src-c83d0103a4806d2d7b6d6bf96b814a54b51c2c75.tar.gz chromium_src-c83d0103a4806d2d7b6d6bf96b814a54b51c2c75.tar.bz2 |
When a nested run loop is driven directly by Run/DoRun as opposed to being a
nested native loop run by code outside of our control, and the nested run loop
stops, don't schedule nesting-deferred work until returning fron Run/DoRun.
BUG=24337, 24383
TEST=With r28745 backed out or an equivalent change recommitted:
1. Test case from bug 24337: the window should close
2. Test case from bug 24383: no Chromium processes should use 100% CPU
Review URL: http://codereview.chromium.org/264042
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28811 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base/message_pump_mac.h')
-rw-r--r-- | base/message_pump_mac.h | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/base/message_pump_mac.h b/base/message_pump_mac.h index f7e9a83..34390c0 100644 --- a/base/message_pump_mac.h +++ b/base/message_pump_mac.h @@ -62,6 +62,10 @@ class MessagePumpCFRunLoopBase : public MessagePump { // the object was created in. int nesting_level_; + // The recursion depth (calculated in the same way as nesting_level_) of the + // innermost executing CFRunLoopRun loop started by a call to Run. + int run_nesting_level_; + private: // Timer callback scheduled by ScheduleDelayedWork. This does not do any // work, but it signals delayed_work_source_ so that delayed work can be @@ -150,10 +154,6 @@ class MessagePumpCFRunLoop : public MessagePumpCFRunLoopBase { private: virtual void EnterExitRunLoop(CFRunLoopActivity activity); - // The recursion depth (calculated in the same way as nesting_level_) of the - // innermost executing CFRunLoopRun loop started by a call to Run. - int innermost_quittable_; - // True if Quit is called to stop the innermost MessagePump // (innermost_quittable_) but some other CFRunLoopRun loop (nesting_level_) // is running inside the MessagePump's innermost Run call. |