summaryrefslogtreecommitdiff
path: root/Source/WebKit2/UIProcess/API/gtk/tests/WebViewTest.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebKit2/UIProcess/API/gtk/tests/WebViewTest.cpp')
-rw-r--r--Source/WebKit2/UIProcess/API/gtk/tests/WebViewTest.cpp26
1 files changed, 19 insertions, 7 deletions
diff --git a/Source/WebKit2/UIProcess/API/gtk/tests/WebViewTest.cpp b/Source/WebKit2/UIProcess/API/gtk/tests/WebViewTest.cpp
index e355f786d..321b6a37a 100644
--- a/Source/WebKit2/UIProcess/API/gtk/tests/WebViewTest.cpp
+++ b/Source/WebKit2/UIProcess/API/gtk/tests/WebViewTest.cpp
@@ -43,12 +43,6 @@ WebViewTest::~WebViewTest()
g_main_loop_unref(m_mainLoop);
}
-static gboolean testLoadTimeoutFinishLoop(GMainLoop* loop)
-{
- g_main_loop_quit(loop);
- return FALSE;
-}
-
void WebViewTest::loadURI(const char* uri)
{
m_activeURI = uri;
@@ -112,9 +106,27 @@ void WebViewTest::goToBackForwardListItem(WebKitBackForwardListItem* item)
webkit_web_view_go_to_back_forward_list_item(m_webView, item);
}
+void WebViewTest::quitMainLoop()
+{
+ g_main_loop_quit(m_mainLoop);
+}
+
+void WebViewTest::quitMainLoopAfterProcessingPendingEvents()
+{
+ while (gtk_events_pending())
+ gtk_main_iteration();
+ quitMainLoop();
+}
+
+static gboolean quitMainLoopIdleCallback(WebViewTest* test)
+{
+ test->quitMainLoop();
+ return FALSE;
+}
+
void WebViewTest::wait(double seconds)
{
- g_timeout_add_seconds(seconds, reinterpret_cast<GSourceFunc>(testLoadTimeoutFinishLoop), m_mainLoop);
+ g_timeout_add_seconds(seconds, reinterpret_cast<GSourceFunc>(quitMainLoopIdleCallback), this);
g_main_loop_run(m_mainLoop);
}