// Disables majority of toggleable settings. func (s *Settings) DisableToggleableSettings() { C.webkit_settings_set_auto_load_images(s.settings, gboolean(false)) C.webkit_settings_set_enable_frame_flattening(s.settings, gboolean(false)) C.webkit_settings_set_enable_html5_database(s.settings, gboolean(false)) C.webkit_settings_set_enable_html5_local_storage(s.settings, gboolean(false)) C.webkit_settings_set_enable_hyperlink_auditing(s.settings, gboolean(false)) C.webkit_settings_set_enable_java(s.settings, gboolean(false)) C.webkit_settings_set_enable_javascript(s.settings, gboolean(false)) C.webkit_settings_set_enable_offline_web_application_cache(s.settings, gboolean(false)) C.webkit_settings_set_enable_plugins(s.settings, gboolean(false)) C.webkit_settings_set_enable_xss_auditor(s.settings, gboolean(false)) C.webkit_settings_set_javascript_can_open_windows_automatically(s.settings, gboolean(false)) C.webkit_settings_set_enable_private_browsing(s.settings, gboolean(false)) C.webkit_settings_set_enable_developer_extras(s.settings, gboolean(false)) C.webkit_settings_set_enable_resizable_text_areas(s.settings, gboolean(false)) C.webkit_settings_set_enable_tabs_to_links(s.settings, gboolean(false)) C.webkit_settings_set_enable_dns_prefetching(s.settings, gboolean(false)) C.webkit_settings_set_enable_caret_browsing(s.settings, gboolean(false)) C.webkit_settings_set_enable_fullscreen(s.settings, gboolean(false)) C.webkit_settings_set_print_backgrounds(s.settings, gboolean(false)) C.webkit_settings_set_enable_webaudio(s.settings, gboolean(false)) C.webkit_settings_set_enable_webgl(s.settings, gboolean(false)) C.webkit_settings_set_allow_modal_dialogs(s.settings, gboolean(false)) C.webkit_settings_set_javascript_can_access_clipboard(s.settings, gboolean(false)) C.webkit_settings_set_enable_page_cache(s.settings, gboolean(false)) C.webkit_settings_set_enable_smooth_scrolling(s.settings, gboolean(false)) C.webkit_settings_set_enable_accelerated_2d_canvas(s.settings, gboolean(false)) C.webkit_settings_set_enable_media_stream(s.settings, gboolean(false)) C.webkit_settings_set_enable_spatial_navigation(s.settings, gboolean(false)) C.webkit_settings_set_enable_mediasource(s.settings, gboolean(false)) }
func NewView() *View { widget := C.webkit_web_view_new() view := &View{ Widget: widget, View: (*C.WebKitWebView)(unsafe.Pointer(widget)), } // ready to show connect(view.View, "ready-to-show", func() { C.gtk_widget_show_all(view.Widget) }) // page load state changed connect(view.View, "load-changed", func(_, ev interface{}) { p("load changed %d\n", ev.(int)) }) // context context := C.webkit_web_view_get_context(view.View) C.webkit_web_context_set_spell_checking_enabled(context, C.gtk_false()) C.webkit_web_context_set_tls_errors_policy(context, C.WEBKIT_TLS_ERRORS_POLICY_IGNORE) C.webkit_web_context_set_disk_cache_directory(context, toGStr(os.TempDir())) // settings settings := C.webkit_web_view_get_settings(view.View) C.webkit_settings_set_enable_java(settings, C.gtk_false()) C.webkit_settings_set_enable_tabs_to_links(settings, C.gtk_false()) C.webkit_settings_set_enable_dns_prefetching(settings, C.gtk_true()) C.webkit_settings_set_javascript_can_access_clipboard(settings, C.gtk_true()) C.webkit_settings_set_enable_site_specific_quirks(settings, C.gtk_true()) C.webkit_settings_set_enable_smooth_scrolling(settings, C.gtk_true()) // handle cookie cookieManager := C.webkit_web_context_get_cookie_manager(context) C.webkit_cookie_manager_set_persistent_storage(cookieManager, toGStr(cookieFilePath), C.WEBKIT_COOKIE_PERSISTENT_STORAGE_TEXT) return view }