int main(int argc, char** argv) { g_unsetenv("DBUS_SESSION_BUS_ADDRESS"); gtk_test_init(&argc, &argv, 0); g_setenv("WEBKIT_EXEC_PATH", WEBKIT_EXEC_PATH, FALSE); g_setenv("WEBKIT_INJECTED_BUNDLE_PATH", WEBKIT_INJECTED_BUNDLE_PATH, FALSE); g_setenv("LC_ALL", "C", TRUE); g_setenv("GIO_USE_VFS", "local", TRUE); g_setenv("GSETTINGS_BACKEND", "memory", TRUE); g_test_bug_base("https://bugs.webkit.org/"); registerGResource(); GOwnPtr<char> diskCacheTempDirectory(g_dir_make_tmp("WebKit2TestsDiskCache-XXXXXX", 0)); g_assert(diskCacheTempDirectory.get()); webkit_web_context_set_disk_cache_directory(webkit_web_context_get_default(), diskCacheTempDirectory.get()); beforeAll(); int returnValue = g_test_run(); afterAll(); removeNonEmptyDirectory(diskCacheTempDirectory.get()); return returnValue; }
int main(int argn, char **argv) { config = config_init(argn, argv); gtk_init(0, NULL); //GtkWidget * window = gtk_offscreen_window_new(); GtkWidget * window = gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_window_set_default_size(GTK_WINDOW(window), 900, 600); GdkScreen* screen = gtk_window_get_screen(GTK_WINDOW(window)); GdkVisual* rgba_visual = gdk_screen_get_rgba_visual(screen); WebKitSettings * setting; WebKitWebView *webView; if (rgba_visual) { gtk_widget_set_visual(window, rgba_visual); } gtk_widget_set_app_paintable(window, TRUE); WebKitWebContext* context = webkit_web_context_get_default(); //webkit_web_context_set_process_model(context, WEBKIT_PROCESS_MODEL_MULTIPLE_SECONDARY_PROCESSES); //webkit_web_context_set_process_model(context, WEBKIT_PROCESS_MODEL_SHARED_SECONDARY_PROCESS); //webkit_web_context_set_cache_model(context, WEBKIT_CACHE_MODEL_WEB_BROWSER); webkit_web_context_set_disk_cache_directory(context, "/tmp/cache"); webkit_web_context_set_process_model(context, WEBKIT_PROCESS_MODEL_MULTIPLE_SECONDARY_PROCESSES); webkit_web_context_set_cache_model(context, WEBKIT_CACHE_MODEL_DOCUMENT_VIEWER); webkit_web_context_set_tls_errors_policy(context, WEBKIT_TLS_ERRORS_POLICY_IGNORE); webkit_web_context_clear_cache(context); webView = WEBKIT_WEB_VIEW( webkit_web_view_new_with_user_content_manager(webkit_user_content_manager_new())); //webView =WEBKIT_WEB_VIEW(webkit_web_view_new_with_context(context)); setting = webkit_web_view_get_settings(webView); webkit_settings_set_enable_page_cache(setting, false); webkit_settings_set_enable_javascript(setting, true); webkit_settings_set_enable_offline_web_application_cache(setting, false); //webView = WEBKIT_WEB_VIEW(webkit_web_view_new_with_settings(setting)); g_object_set(setting, // "enable-private-browsing", NanBooleanOptionValue(opts, H("private"), false), "enable-plugins", FALSE, "print-backgrounds", TRUE, "enable-javascript", TRUE, "enable-html5-database", FALSE, "enable-html5-local-storage", FALSE, "enable-java", FALSE, "enable-page-cache", FALSE, "enable-write-console-messages-to-stdout", TRUE, "enable-offline-web-application-cache", FALSE, // "auto-load-images", NanBooleanOptionValue(opts, H("images"), true), "zoom-text-only", FALSE, "media-playback-requires-user-gesture", FALSE, // effectively disables media playback ? // "user-agent", ua, NULL ); gtk_container_add(GTK_CONTAINER(window), GTK_WIDGET(webView)); g_signal_connect(webView, "ready-to-show", G_CALLBACK(ready_to_show), NULL); g_signal_connect(webView, "load-changed", G_CALLBACK(web_view_load_changed), NULL); g_signal_connect(webView, "web-view-ready", G_CALLBACK(ready_to_show), NULL); g_signal_connect(webView, "resource-load-started", G_CALLBACK(resource_started), window); g_signal_connect(window, "destroy", G_CALLBACK(destroyWindowCb), NULL); g_signal_connect(webView, "close-web-view", G_CALLBACK(closeWebViewCb), window); webkit_web_view_load_uri(webView, config->url); //gtk_widget_show_all(window); gtk_main(); return 0; }