bbanelli wrote:Your code didn't seem to do the trick (since it claims scripts are enabled however it still didn't work),...
Thank you for your testing. You are right. My fault was in obtaining the default setting of WebKitGTK with webkit_web_settings_new() instead of getting the settings of PB's WebGadget. It seems that no WebKitGTK function exists to query the current settings of PB's WebGadget...
Because of scripting languages are enabled by default in WebKitGTK's settings, we may shorten our code even more:
Code: Select all
EnableExplicit
ImportC "-lwebkitgtk-1.0"
webkit_web_settings_new()
webkit_web_view_set_settings(*WebkitWebView, *WebkitSettings)
EndImport
Define WebkitSettings.I
OpenWindow(0, 100, 100, 1024, 800, "WebGadget", #PB_Window_ScreenCentered | #PB_Window_SystemMenu)
WebGadget(0, 10, 10, 1004, 780, "https://www.whatismybrowser.com/")
; ----- Get Webkit's default setting (with scripting languages enabled)
WebkitSettings = webkit_web_settings_new()
; ----- Store Webkit's default settings in WebGadget
webkit_web_view_set_settings(GadgetID(0), WebkitSettings)
Repeat
Until WaitWindowEvent() = #PB_Event_CloseWindow
The following code is an example on how to obtain a selection of important settings from WebKitGTK's default settings:
Code: Select all
EnableExplicit
#G_TYPE_INT = 6 << 2
ImportC ""
g_object_get_property(*Object.GObject, PropertyName.P-UTF8, *PropertyValue)
EndImport
ImportC "-lwebkitgtk-1.0"
webkit_web_settings_new()
EndImport
Define Info.S
Define WebkitSettings.I
Procedure.S GetWebkitSetting(PropertyName.S)
Shared WebkitSettings.I
Protected PropertyValue.GValue
PropertyValue\g_type = #G_TYPE_INT
g_object_get_property(WebkitSettings, PropertyName, @PropertyValue)
If g_value_get_int_(@PropertyValue)
ProcedureReturn "Yes"
Else
ProcedureReturn "No"
EndIf
EndProcedure
WebkitSettings = webkit_web_settings_new()
If WebkitSettings
Info + "Embedded scripting languages:" + #TAB$ + GetWebkitSetting("enable-scripts") + #CR$
Info + "Support for java applets: " + #TAB$ + #TAB$ + #TAB$ + GetWebkitSetting("enable-java-applet") + #CR$
Info + "Web audio: " + #TAB$ + #TAB$ + #TAB$ + #TAB$ + #TAB$ + #TAB$ + GetWebkitSetting("enable-webaudio") + #CR$
Info + "WebGL: " + #TAB$ + #TAB$ + #TAB$ + #TAB$ + #TAB$ + #TAB$ + #TAB$ + GetWebkitSetting("enable-webgl") + #CR$
Info + "Plugins: " + #TAB$ + #TAB$ + #TAB$ + #TAB$ + #TAB$ + #TAB$ + GetWebkitSetting("enable-plugins") + #CR$
Info + "Javascript can access clipboard:" + #TAB$ + GetWebkitSetting("javascript-can-access-clipboard") + #CR$
Info + "Javascript can open windows:" + #TAB$ + #TAB$ + GetWebkitSetting("javascript-can-open-windows-automatically") + #CR$
EndIf
MessageRequester("WebKit default settings", Info)