summaryrefslogtreecommitdiff
path: root/Tools/TestWebKitAPI/gtk/WebKit2Gtk/WebViewTest.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Tools/TestWebKitAPI/gtk/WebKit2Gtk/WebViewTest.cpp')
-rw-r--r--Tools/TestWebKitAPI/gtk/WebKit2Gtk/WebViewTest.cpp93
1 files changed, 15 insertions, 78 deletions
diff --git a/Tools/TestWebKitAPI/gtk/WebKit2Gtk/WebViewTest.cpp b/Tools/TestWebKitAPI/gtk/WebKit2Gtk/WebViewTest.cpp
index 14f2c1466..f08bb4694 100644
--- a/Tools/TestWebKitAPI/gtk/WebKit2Gtk/WebViewTest.cpp
+++ b/Tools/TestWebKitAPI/gtk/WebKit2Gtk/WebViewTest.cpp
@@ -23,19 +23,16 @@
#include <JavaScriptCore/JSRetainPtr.h>
#include <WebCore/GUniquePtrGtk.h>
-#include <wtf/glib/GMainLoopSource.h>
-WebViewTest::WebViewTest(WebKitUserContentManager* userContentManager)
- : m_webView(WEBKIT_WEB_VIEW(g_object_ref_sink(g_object_new(WEBKIT_TYPE_WEB_VIEW, "web-context", m_webContext.get(), "user-content-manager", userContentManager, nullptr))))
- , m_mainLoop(g_main_loop_new(nullptr, TRUE))
- , m_parentWindow(nullptr)
- , m_javascriptResult(nullptr)
+WebViewTest::WebViewTest()
+ : m_webView(WEBKIT_WEB_VIEW(g_object_ref_sink(webkit_web_view_new())))
+ , m_mainLoop(g_main_loop_new(0, TRUE))
+ , m_parentWindow(0)
+ , m_javascriptResult(0)
, m_resourceDataSize(0)
- , m_surface(nullptr)
- , m_expectedWebProcessCrash(false)
+ , m_surface(0)
{
assertObjectIsDeletedWhenTestFinishes(G_OBJECT(m_webView));
- g_signal_connect(m_webView, "web-process-crashed", G_CALLBACK(WebViewTest::webProcessCrashed), this);
}
WebViewTest::~WebViewTest()
@@ -50,22 +47,10 @@ WebViewTest::~WebViewTest()
g_main_loop_unref(m_mainLoop);
}
-gboolean WebViewTest::webProcessCrashed(WebKitWebView*, WebViewTest* test)
-{
- if (test->m_expectedWebProcessCrash) {
- test->m_expectedWebProcessCrash = false;
- return FALSE;
- }
- g_assert_not_reached();
- return TRUE;
-}
-
void WebViewTest::loadURI(const char* uri)
{
m_activeURI = uri;
webkit_web_view_load_uri(m_webView, uri);
- g_assert(webkit_web_view_is_loading(m_webView));
- g_assert_cmpstr(webkit_web_view_get_uri(m_webView), ==, m_activeURI.data());
}
void WebViewTest::loadHtml(const char* html, const char* baseURI)
@@ -75,61 +60,29 @@ void WebViewTest::loadHtml(const char* html, const char* baseURI)
else
m_activeURI = baseURI;
webkit_web_view_load_html(m_webView, html, baseURI);
- g_assert(webkit_web_view_is_loading(m_webView));
- g_assert_cmpstr(webkit_web_view_get_uri(m_webView), ==, m_activeURI.data());
}
void WebViewTest::loadPlainText(const char* plainText)
{
m_activeURI = "about:blank";
webkit_web_view_load_plain_text(m_webView, plainText);
-#if 0
- // FIXME: Pending API request URL no set when loading plain text.
- // See https://bugs.webkit.org/show_bug.cgi?id=136916.
- g_assert(webkit_web_view_is_loading(m_webView));
- g_assert_cmpstr(webkit_web_view_get_uri(m_webView), ==, m_activeURI.data());
-#endif
-}
-
-void WebViewTest::loadBytes(GBytes* bytes, const char* mimeType, const char* encoding, const char* baseURI)
-{
- if (!baseURI)
- m_activeURI = "about:blank";
- else
- m_activeURI = baseURI;
- webkit_web_view_load_bytes(m_webView, bytes, mimeType, encoding, baseURI);
-#if 0
- // FIXME: Pending API request URL no set when loading data.
- // See https://bugs.webkit.org/show_bug.cgi?id=136916.
- g_assert(webkit_web_view_is_loading(m_webView));
- g_assert_cmpstr(webkit_web_view_get_uri(m_webView), ==, m_activeURI.data());
-#endif
}
void WebViewTest::loadRequest(WebKitURIRequest* request)
{
m_activeURI = webkit_uri_request_get_uri(request);
webkit_web_view_load_request(m_webView, request);
- g_assert(webkit_web_view_is_loading(m_webView));
- g_assert_cmpstr(webkit_web_view_get_uri(m_webView), ==, m_activeURI.data());
}
void WebViewTest::loadAlternateHTML(const char* html, const char* contentURI, const char* baseURI)
{
m_activeURI = contentURI;
webkit_web_view_load_alternate_html(m_webView, html, contentURI, baseURI);
-#if 0
- // FIXME: Pending API request URL no set when loading Alternate HTML.
- // See https://bugs.webkit.org/show_bug.cgi?id=136916.
- g_assert(webkit_web_view_is_loading(m_webView));
-#endif
- g_assert_cmpstr(webkit_web_view_get_uri(m_webView), ==, m_activeURI.data());
}
void WebViewTest::goBack()
{
- bool canGoBack = webkit_web_view_can_go_back(m_webView);
- if (canGoBack) {
+ if (webkit_web_view_can_go_back(m_webView)) {
WebKitBackForwardList* list = webkit_web_view_get_back_forward_list(m_webView);
WebKitBackForwardListItem* item = webkit_back_forward_list_get_nth_item(list, -1);
m_activeURI = webkit_back_forward_list_item_get_original_uri(item);
@@ -137,16 +90,11 @@ void WebViewTest::goBack()
// Call go_back even when can_go_back returns FALSE to check nothing happens.
webkit_web_view_go_back(m_webView);
- if (canGoBack) {
- g_assert(webkit_web_view_is_loading(m_webView));
- g_assert_cmpstr(webkit_web_view_get_uri(m_webView), ==, m_activeURI.data());
- }
}
void WebViewTest::goForward()
{
- bool canGoForward = webkit_web_view_can_go_forward(m_webView);
- if (canGoForward) {
+ if (webkit_web_view_can_go_forward(m_webView)) {
WebKitBackForwardList* list = webkit_web_view_get_back_forward_list(m_webView);
WebKitBackForwardListItem* item = webkit_back_forward_list_get_nth_item(list, 1);
m_activeURI = webkit_back_forward_list_item_get_original_uri(item);
@@ -154,18 +102,12 @@ void WebViewTest::goForward()
// Call go_forward even when can_go_forward returns FALSE to check nothing happens.
webkit_web_view_go_forward(m_webView);
- if (canGoForward) {
- g_assert(webkit_web_view_is_loading(m_webView));
- g_assert_cmpstr(webkit_web_view_get_uri(m_webView), ==, m_activeURI.data());
- }
}
void WebViewTest::goToBackForwardListItem(WebKitBackForwardListItem* item)
{
m_activeURI = webkit_back_forward_list_item_get_original_uri(item);
webkit_web_view_go_to_back_forward_list_item(m_webView, item);
- g_assert(webkit_web_view_is_loading(m_webView));
- g_assert_cmpstr(webkit_web_view_get_uri(m_webView), ==, m_activeURI.data());
}
void WebViewTest::quitMainLoop()
@@ -180,10 +122,15 @@ void WebViewTest::quitMainLoopAfterProcessingPendingEvents()
quitMainLoop();
}
+static gboolean quitMainLoopIdleCallback(WebViewTest* test)
+{
+ test->quitMainLoop();
+ return FALSE;
+}
+
void WebViewTest::wait(double seconds)
{
- GMainLoopSource::scheduleAfterDelayAndDeleteOnDestroy("WebViewTest wait", [this] { quitMainLoop(); },
- std::chrono::duration_cast<std::chrono::milliseconds>(std::chrono::duration<double>(seconds)));
+ g_timeout_add_seconds(seconds, reinterpret_cast<GSourceFunc>(quitMainLoopIdleCallback), this);
g_main_loop_run(m_mainLoop);
}
@@ -270,16 +217,6 @@ void WebViewTest::selectAll()
webkit_web_view_execute_editing_command(m_webView, "SelectAll");
}
-bool WebViewTest::isEditable()
-{
- return webkit_web_view_is_editable(m_webView);
-}
-
-void WebViewTest::setEditable(bool editable)
-{
- webkit_web_view_set_editable(m_webView, editable);
-}
-
static void resourceGetDataCallback(GObject* object, GAsyncResult* result, gpointer userData)
{
size_t dataSize;