Chromium Code Reviews| Index: chrome/test/ui_test_utils.h |
| =================================================================== |
| --- chrome/test/ui_test_utils.h (revision 65433) |
| +++ chrome/test/ui_test_utils.h (working copy) |
| @@ -7,6 +7,7 @@ |
| #pragma once |
| #include <map> |
| +#include <queue> |
| #include <string> |
| #include <set> |
| @@ -36,10 +37,16 @@ |
| class NotificationType; |
| class Profile; |
| class RenderViewHost; |
| +class RenderWidgetHost; |
| class ScopedTempDir; |
| +class SkBitmap; |
| class TabContents; |
| class Value; |
| +namespace gfx { |
| +class Size; |
| +} |
| + |
| // A collections of functions designed for use with InProcessBrowserTest. |
| namespace ui_test_utils { |
| @@ -422,6 +429,44 @@ |
| // Show and focus a native window. |
| void ShowAndFocusNativeWindow(gfx::NativeWindow window); |
| +// Watches for responses from the DOMAutomationController and keeps them in a |
| +// queue. Useful for waiting for a message to be received. |
| +class DOMMessageQueue : public NotificationObserver { |
| + public: |
| + // Constructs a DOMMessageQueue and begins listening for messages from the |
| + // DOMAutomationController. Do not construct this until the browser has |
| + // started. |
| + DOMMessageQueue(); |
| + |
| + // Wait for the next message to arrive. |message| will be set to the next |
| + // message, if not null. Returns true on success. |
| + bool WaitForMessage(std::string* message) WARN_UNUSED_RESULT; |
| + |
| + // Overridden NotificationObserver methods. |
| + virtual void Observe(NotificationType type, |
| + const NotificationSource& source, |
| + const NotificationDetails& details); |
| + |
| + private: |
| + NotificationRegistrar registrar_; |
| + std::queue<std::string> message_queue_; |
| + bool waiting_for_message_; |
| + |
| + DISALLOW_COPY_AND_ASSIGN(DOMMessageQueue); |
| +}; |
| + |
| +// Takes a snapshot of the given render widget, rendered at |page_size|. The |
| +// snapshot is set to |bitmap|. Returns true on success. |
| +bool TakeSnapshot(RenderWidgetHost* rwh, |
|
Paweł Hajdan Jr.
2010/11/11 10:33:36
nit: The name is too generic. Should it be TakeRen
kkania
2010/11/15 20:07:03
Done.
|
| + const gfx::Size& page_size, |
| + SkBitmap* bitmap) WARN_UNUSED_RESULT; |
| + |
| +// Takes a snapshot of the entire page, according to the width and height |
| +// properties of the DOM's document. Returns true on success. DOMAutomation |
| +// must be enabled. |
| +bool TakeEntirePageSnapshot(RenderViewHost* rvh, |
| + SkBitmap* bitmap) WARN_UNUSED_RESULT; |
| + |
| } // namespace ui_test_utils |
| #endif // CHROME_TEST_UI_TEST_UTILS_H_ |