Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(117)

Unified Diff: content/test/content_browser_test_utils.h

Issue 10916334: Enable webgl conformance tests under content/test/gpu in content_browsertests (Closed) Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: Fix the issue for android bot Created 8 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/test/content_browser_test_utils.h
diff --git a/content/test/content_browser_test_utils.h b/content/test/content_browser_test_utils.h
index 9ea40a5d542e7c4cf95416b650444534ad75bd55..e83af20b936826255b630616feb0798ee1c9a715 100644
--- a/content/test/content_browser_test_utils.h
+++ b/content/test/content_browser_test_utils.h
@@ -5,7 +5,13 @@
#ifndef CONTENT_TEST_CONTENT_BROWSER_TEST_UTILS_H_
#define CONTENT_TEST_CONTENT_BROWSER_TEST_UTILS_H_
+#include <queue>
+
#include "base/memory/ref_counted.h"
+#include "content/public/browser/notification_details.h"
+#include "content/public/browser/notification_observer.h"
+#include "content/public/browser/notification_registrar.h"
+#include "content/public/browser/notification_source.h"
#include "googleurl/src/gurl.h"
#include "ui/gfx/native_widget_types.h"
@@ -69,6 +75,37 @@ class ShellAddedObserver {
DISALLOW_COPY_AND_ASSIGN(ShellAddedObserver);
};
+// Watches for responses from the DOMAutomationController and keeps them in a
jam 2012/09/21 20:39:39 this is a duplicate of the same class in ui_test_u
+// queue. Useful for waiting for a message to be received.
+class DOMMessageQueue : public content::NotificationObserver {
+ public:
+ // Constructs a DOMMessageQueue and begins listening for messages from the
+ // DOMAutomationController. Do not construct this until the browser has
+ // started.
+ DOMMessageQueue();
+ virtual ~DOMMessageQueue();
+
+ // Removes all messages in the message queue.
+ void ClearQueue();
+
+ // 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 content::NotificationObserver methods.
+ virtual void Observe(int type,
+ const content::NotificationSource& source,
+ const content::NotificationDetails& details) OVERRIDE;
+
+ private:
+ content::NotificationRegistrar registrar_;
+ std::queue<std::string> message_queue_;
+ bool waiting_for_message_;
+ scoped_refptr<content::MessageLoopRunner> message_loop_runner_;
+
+ DISALLOW_COPY_AND_ASSIGN(DOMMessageQueue);
+};
+
#if defined OS_MACOSX
void SetWindowBounds(gfx::NativeWindow window, const gfx::Rect& bounds);
#endif

Powered by Google App Engine
This is Rietveld 408576698