summaryrefslogtreecommitdiffstats
path: root/content/browser/webui/web_ui_handler_browsertest.h
diff options
context:
space:
mode:
Diffstat (limited to 'content/browser/webui/web_ui_handler_browsertest.h')
-rw-r--r--content/browser/webui/web_ui_handler_browsertest.h40
1 files changed, 40 insertions, 0 deletions
diff --git a/content/browser/webui/web_ui_handler_browsertest.h b/content/browser/webui/web_ui_handler_browsertest.h
new file mode 100644
index 0000000..b19484a
--- /dev/null
+++ b/content/browser/webui/web_ui_handler_browsertest.h
@@ -0,0 +1,40 @@
+// Copyright (c) 2011 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef CONTENT_BROWSER_WEBUI_WEB_UI_HANDLER_BROWSERTEST_H_
+#define CONTENT_BROWSER_WEBUI_WEB_UI_HANDLER_BROWSERTEST_H_
+#pragma once
+
+#include <string>
+
+#include "content/browser/webui/web_ui.h"
+
+// This class registers test framework specific handlers on WebUI objects.
+class WebUIHandlerBrowserTest : public WebUIMessageHandler {
+ public:
+ // Executes a string of javascript. Returns pass fail.
+ bool Execute(const std::string& js_test);
+
+ protected:
+ // WebUI handlers which deliver results to any waiting message loops.
+ // |args| is currently ignored.
+ void HandlePass(const ListValue* args);
+ void HandleFail(const ListValue* args);
+
+ // WebUIMessageHandler overrides.
+ // Add test handlers to the current WebUI object.
+ virtual void RegisterMessages();
+
+ private:
+ // Runs a message loop until test finishes. Returns the result of the test.
+ bool WaitForResult();
+
+ // Pass fail result of current tests.
+ bool test_succeeded_;
+
+ // Waiting for a test to finish.
+ bool is_waiting_;
+};
+
+#endif // CONTENT_BROWSER_WEBUI_WEB_UI_HANDLER_BROWSERTEST_H_