static GtkWidget *webViewCreate(WebKitWebView *webView, WebKitNavigationAction *navigation, BrowserWindow *window) { WebKitWebView *newWebView = WEBKIT_WEB_VIEW(webkit_web_view_new_with_related_view(webView)); webkit_web_view_set_settings(newWebView, webkit_web_view_get_settings(webView)); GtkWidget *newWindow = browser_window_new(newWebView, GTK_WINDOW(window)); g_signal_connect(newWebView, "ready-to-show", G_CALLBACK(webViewReadyToShow), newWindow); g_signal_connect(newWebView, "run-as-modal", G_CALLBACK(webViewRunAsModal), newWindow); g_signal_connect(newWebView, "close", G_CALLBACK(webViewClose), newWindow); return GTK_WIDGET(newWebView); }
static void testWebViewWebContext(WebViewTest* test, gconstpointer) { g_assert(webkit_web_view_get_context(test->m_webView) == test->m_webContext.get()); g_assert(webkit_web_context_get_default() != test->m_webContext.get()); // Check that a web view created with g_object_new has the default context. GRefPtr<WebKitWebView> webView = WEBKIT_WEB_VIEW(g_object_new(WEBKIT_TYPE_WEB_VIEW, nullptr)); g_assert(webkit_web_view_get_context(webView.get()) == webkit_web_context_get_default()); // Check that a web view created with a related view has the related view context. webView = WEBKIT_WEB_VIEW(webkit_web_view_new_with_related_view(test->m_webView)); g_assert(webkit_web_view_get_context(webView.get()) == test->m_webContext.get()); // Check that a web context given as construct parameter is ignored if a related view is also provided. webView = WEBKIT_WEB_VIEW(g_object_new(WEBKIT_TYPE_WEB_VIEW, "web-context", webkit_web_context_get_default(), "related-view", test->m_webView, nullptr)); g_assert(webkit_web_view_get_context(webView.get()) == test->m_webContext.get()); }