summaryrefslogtreecommitdiffstats
path: root/base/run_loop.cc
Commit message (Collapse)AuthorAgeFilesLines
* message-loop: Remove MessagePumpDispatcher support from glib message-pump.sadrul@chromium.org2014-04-161-1/+1
| | | | | | | | | | | | MessagePumpDispatcher is no longer used in the glib message-pump. So remove the relevant unused code. BUG=354062 R=darin@chromium.org Review URL: https://codereview.chromium.org/236363018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@264121 0039d316-1c4b-4281-b951-d872f2087c98
* x11: Move X event handling out of the message-pump.sadrul@chromium.org2014-04-051-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change moves the X11 event handling out of the X11 message-pump, and uses the X11 event dispatch code from X11EventSource instead. Overview of the changes: * Remove all X event handling code from the message-pump. The X11 message-pump only opens the connection to the X11 server. This too will be moved out of here in subsequent patches. * The X11EventSource sends an XEvent it receives from the X11 server back to the X11 message-pump, which triggers the MessagePumpObservers, before sending the event to the dispatchers. This is a short-term workaround until the message-pump observers are converted into PlatformEventObservers. * The MessagePumpDispatcher implementations that deal with X11 events are converted into PlatformEventDispatchers. * Remove support for starting a nested message-loop with a custom dispatcher on non-Windows. Changes in components: //ash: * Split AcceleratorDispatcher into platform-specific AcceleratorDispatcherWin, which remains a MessagePumpDispatcher, and AcceleratorDispatcherLinux, which is a PlatformEventDispatcher. It may be possible to do some cleanup in this, depending on the outcome of http://crbug.com/357777 and http://crbug.com/357733. //base: * Remove support for providing a custom MessagePumpDispatcher when starting a nested message-loop on non-Windows platforms. * Remove most of the event-dispatch code from MessagePumpX11. The only remaining bits are for triggering MessagePumpObservers, which will be replaced by the newer PlatformEventObservers in subsequent patches. //chrome, //content, //mojo, //ui/aura, //ui/base, //ui/wm: * Convert MessagePumpDispatchers that deal with X11 events into PlatformEventDispatchers. //ui/events: * Allow creating a 'default' PlatformEventSource. On X11, it creates X11EventSource, and on other platforms, it doesn't create an event-source. * A temporary measure in X11EventSource to send the event to the message-pump so that the message-pump observers can be triggered. This will be removed once the MessagePumpObservers that deal with X11 events are turned into PlatformEventObservers. //ui/views: * Remove the linux implementation of MenuMessagePumpDispatcher, and replace it with MenuEventDispatcherLinux. * Platform specific implementation for MenuController::RunMessageLoop(): the Windows implementation uses the MessagePumpDispatcher, and the non-windows implementation uses the PlatformEventDispatcher. This is somewhat unfortunate, and I am going to look for something better for this. But the code duplication here is relatively small, I don't want to make this patch any larger. BUG=354062 R=darin@chromium.org, sky@chromium.org Review URL: https://codereview.chromium.org/219743002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@262008 0039d316-1c4b-4281-b951-d872f2087c98
* Nukes MessageLoop::Dispatcher (2)sky@chromium.org2014-01-171-1/+5
| | | | | | | | | | | | | | There is no point in this typedef now that MessagePumpDispatcher is its own class. BUG=none TEST=none R=darin@chromium.org TBR=darin@chromium.org Review URL: https://codereview.chromium.org/135563004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@245387 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 245226 "Nukes MessageLoop::Dispatcher"sky@chromium.org2014-01-161-5/+1
| | | | | | | | | | | | | | | | | | | > Nukes MessageLoop::Dispatcher > > There is no point in this typedef now that MessagePumpDispatcher is > its own class. > > BUG=none > TEST=none > R=ben@chromium.org, darin@chromium.org > > Review URL: https://codereview.chromium.org/139593002 TBR=sky@chromium.org Review URL: https://codereview.chromium.org/138433008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@245239 0039d316-1c4b-4281-b951-d872f2087c98
* Nukes MessageLoop::Dispatchersky@chromium.org2014-01-161-1/+5
| | | | | | | | | | | | | There is no point in this typedef now that MessagePumpDispatcher is its own class. BUG=none TEST=none R=ben@chromium.org, darin@chromium.org Review URL: https://codereview.chromium.org/139593002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@245226 0039d316-1c4b-4281-b951-d872f2087c98
* Make aura_demo work on Macccameron@chromium.org2014-01-071-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | Fix a few instances where !Windows is assumed to be Linux. Chang many instances of !USE_GTK_MESSAGE_PUMP && !OS_MACOSX && !OS_ANDROID to just USE_AURA (they are equivalent now). Add a very minimal RootWindowHostMac. Of note is that building with Aura requires running "gyp_chromium --no-circular-check" (the circular check is only enabled on Mac, and doesn't work with Aura). Also note that the demo does not work properly unless BGRA support is disabled (in FeatureInfo::InitializeBasicState these extensions can be disabled). BUG=331669 Review URL: https://codereview.chromium.org/110283005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@243392 0039d316-1c4b-4281-b951-d872f2087c98
* Fix some WeakPtrFactory members that aren't lastdmichael@chromium.org2013-10-081-4/+4
| | | | | | | | BUG=303818 Review URL: https://codereview.chromium.org/26308002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@227566 0039d316-1c4b-4281-b951-d872f2087c98
* gtk: Some code cleanup for the message-pump.sadrul@chromium.org2013-09-071-2/+4
| | | | | | | | | | | | | | | | GTK message-pump defines its own observer, but it has the same name as the message-pump observers used in other platforms. So rename the GTK version to MessagePumpGdkObserver. Also, GTK version of message-pump dispatcher is never used, so get rid of that. BUG=145600 R=piman@chromium.org, thakis@chromium.org Review URL: https://codereview.chromium.org/23537016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@221846 0039d316-1c4b-4281-b951-d872f2087c98
* Add base::RunLoop and update ui_test_utils to use it to reduce flakinessjbates@chromium.org2012-06-281-0/+94
Timeout flakiness has been observed in multiple tests that use Quit. This changes various test utility APIs to use QuitNow via base::RunLoop instead. Some instances of Quit are left as-is where it appears they may have a use case. The ui_test_utils QuitThisRunLoop function does a safer form of MessageLoop::QuitWhenIdle that allows a few generations of tasks to run before actually quitting the MessageLoop. This addresses the design assumptions of many existing tests while hopefully reducing flaky timeouts by moving away from QuitWhenIdle. This fixes throughput_tests.cc which is currently timing out on Mac. BUG=124906,130141,131220,128305,132932 Review URL: https://chromiumcodereview.appspot.com/10479018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@144824 0039d316-1c4b-4281-b951-d872f2087c98