Index: chrome/test/ui_test_utils.h |
=================================================================== |
--- chrome/test/ui_test_utils.h (revision 30521) |
+++ chrome/test/ui_test_utils.h (working copy) |
@@ -17,6 +17,7 @@ |
class Browser; |
class DownloadManager; |
class GURL; |
+class MessageLoop; |
class NavigationController; |
class RenderViewHost; |
class TabContents; |
@@ -135,6 +136,34 @@ |
NotificationObserver* observer, |
int64 timeout_ms); |
+// Run a message loop only for the specified amount of time. |
+class TimedMessageLoopRunner { |
+ public: |
+ // Create new MessageLoopForUI and attach to it. |
+ TimedMessageLoopRunner(); |
+ |
+ // Attach to an existing message loop. |
+ explicit TimedMessageLoopRunner(MessageLoop* loop) |
+ : loop_(loop), owned_(false) {} |
+ |
+ ~TimedMessageLoopRunner(); |
+ |
+ // Run the message loop for ms milliseconds. |
+ void RunFor(int ms); |
+ |
+ // Post Quit task to the message loop. |
+ void Quit(); |
+ |
+ // Post delayed Quit task to the message loop. |
+ void QuitAfter(int ms); |
+ |
+ private: |
+ MessageLoop* loop_; |
+ bool owned_; |
+ |
+ DISALLOW_COPY_AND_ASSIGN(TimedMessageLoopRunner); |
+}; |
+ |
} // namespace ui_test_utils |
#endif // CHROME_TEST_UI_TEST_UTILS_H_ |