summaryrefslogtreecommitdiffstats
path: root/chrome/browser/automation/automation_provider.h
Commit message (Collapse)AuthorAgeFilesLines
* Added support for PostMessage from the automation framework toiyengar@google.com2008-08-151-0/+4
| | | | | | | the renderer. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@964 0039d316-1c4b-4281-b951-d872f2087c98
* Introduce MessagePump to represent the native message pump used to drive adarin@google.com2008-08-151-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | MessageLoop. A MessageLoop now has a MessagePump. This will make it possible to port the MessagePump interface to other platforms as well as to use an IO completion port for our worker threads on Windows. Currently, there is only MessagePumpWin, which attempts to preserve the pre-existing behavior of the MessageLoop. API changes to MessageLoop: 1. MessageLoop::Quit means return from Run when the MessageLoop would otherwise wait for more work. 2. MessageLoop::Quit can no longer be called outside the context of an active Run call. So, things like this: MessageLoop::current()->Quit(); MessageLoop::current()->Run(); are now: MessageLoop::current()->RunAllPending(); 3. MessageLoop::Quit can no longer be called from other threads. This means that PostTask(..., new MessageLoop::QuitTask()) must be used explicitly to Quit across thread boundaries. 4. No protection is made to deal with nested MessageLoops involving watched objects or APCs. In fact, an assertion is added to flag such cases. This is a temporary measure until object watching and APC facilities are removed in favor of a MessagePump designed around an IO completion port. As part of this CL, I also changed the automation system to use an IPC::ChannelProxy instead of an IPC::Channel. This moves the automation IPC onto Chrome's IO thread where it belongs. I also fixed some abuses of RefCounted in the AutomationProvider class. It was deleting itself in some cases! This led to having to fix the ownership model for AutomationProvider, which explains the changes to AutomationProviderList and so on. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@928 0039d316-1c4b-4281-b951-d872f2087c98
* git-svn-id: svn://svn.chromium.org/chrome/trunk/src@904 ↵sidchat@google.com2008-08-141-1/+2
| | | | 0039d316-1c4b-4281-b951-d872f2087c98
* Adding an interactive UI test to catch when switching between two tabs (both ↵finnur@google.com2008-08-061-8/+12
| | | | | | | | | | | | with FindInPage open) is trashing the Esc handler and causing a crash. I originally tried an automated_ui test, but was unable to get it to work since Focus changes are involved. BUG=1303709 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@466 0039d316-1c4b-4281-b951-d872f2087c98
* Another attempt at this CL.jcampan@google.com2008-08-041-0/+3
| | | | | | | | | I had to revert because it was somehow causing regressions on the page cycler and start-up tests. (I suspect because I did add an IPC message not at the end of the message list) TBR=beng git-svn-id: svn://svn.chromium.org/chrome/trunk/src@351 0039d316-1c4b-4281-b951-d872f2087c98
* Reverting my last commit, it seems to cause regression on the page cycler tests.jcampan@google.com2008-08-041-3/+0
| | | | | | TBR=beng git-svn-id: svn://svn.chromium.org/chrome/trunk/src@337 0039d316-1c4b-4281-b951-d872f2087c98
* Added testing of Chromium dialogs to the automated ui tests.jcampan@google.com2008-08-041-0/+3
| | | | | | | | | The new dialog command fires up a dialog (chosen randomly) and exercises it. BUG=None TEST=Run the automated_ui_test git-svn-id: svn://svn.chromium.org/chrome/trunk/src@333 0039d316-1c4b-4281-b951-d872f2087c98
* Add chrome to the repository.initial.commit2008-07-261-0/+379
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15 0039d316-1c4b-4281-b951-d872f2087c98