diff options
author | Simon Hausmann <simon.hausmann@nokia.com> | 2012-02-24 16:36:50 +0100 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@nokia.com> | 2012-02-24 16:36:50 +0100 |
commit | ad0d549d4cc13433f77c1ac8f0ab379c83d93f28 (patch) | |
tree | b34b0daceb7c8e7fdde4b4ec43650ab7caadb0a9 /Source/WebKit2/UIProcess/API/gtk/WebKitSettings.cpp | |
parent | 03e12282df9aa1e1fb05a8b90f1cfc2e08764cec (diff) | |
download | qtwebkit-ad0d549d4cc13433f77c1ac8f0ab379c83d93f28.tar.gz |
Imported WebKit commit bb52bf3c0119e8a128cd93afe5572413a8617de9 (http://svn.webkit.org/repository/webkit/trunk@108790)
Diffstat (limited to 'Source/WebKit2/UIProcess/API/gtk/WebKitSettings.cpp')
-rw-r--r-- | Source/WebKit2/UIProcess/API/gtk/WebKitSettings.cpp | 59 |
1 files changed, 58 insertions, 1 deletions
diff --git a/Source/WebKit2/UIProcess/API/gtk/WebKitSettings.cpp b/Source/WebKit2/UIProcess/API/gtk/WebKitSettings.cpp index 774f17190..c1c4a970b 100644 --- a/Source/WebKit2/UIProcess/API/gtk/WebKitSettings.cpp +++ b/Source/WebKit2/UIProcess/API/gtk/WebKitSettings.cpp @@ -102,7 +102,8 @@ enum { PROP_ENABLE_CARET_BROWSING, PROP_ENABLE_FULLSCREEN, PROP_PRINT_BACKGROUNDS, - PROP_ENABLE_WEBAUDIO + PROP_ENABLE_WEBAUDIO, + PROP_ENABLE_WEBGL }; static void webKitSettingsSetProperty(GObject* object, guint propId, const GValue* value, GParamSpec* paramSpec) @@ -206,6 +207,9 @@ static void webKitSettingsSetProperty(GObject* object, guint propId, const GValu case PROP_ENABLE_WEBAUDIO: webkit_settings_set_enable_webaudio(settings, g_value_get_boolean(value)); break; + case PROP_ENABLE_WEBGL: + webkit_settings_set_enable_webgl(settings, g_value_get_boolean(value)); + break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID(object, propId, paramSpec); break; @@ -313,6 +317,9 @@ static void webKitSettingsGetProperty(GObject* object, guint propId, GValue* val case PROP_ENABLE_WEBAUDIO: g_value_set_boolean(value, webkit_settings_get_enable_webaudio(settings)); break; + case PROP_ENABLE_WEBGL: + g_value_set_boolean(value, webkit_settings_get_enable_webgl(settings)); + break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID(object, propId, paramSpec); break; @@ -794,6 +801,21 @@ static void webkit_settings_class_init(WebKitSettingsClass* klass) FALSE, readWriteConstructParamFlags)); + /** + * WebKitSettings:enable-webgl: + * + * Enable or disable support for WebGL on pages. WebGL is an experimental + * proposal for allowing web pages to use OpenGL ES-like calls directly. The + * standard is currently a work-in-progress by the Khronos Group. + */ + g_object_class_install_property(gObjectClass, + PROP_ENABLE_WEBGL, + g_param_spec_boolean("enable-webgl", + _("Enable WebGL"), + _("Whether WebGL content should be rendered"), + FALSE, + readWriteConstructParamFlags)); + g_type_class_add_private(klass, sizeof(WebKitSettingsPrivate)); } @@ -2016,3 +2038,38 @@ void webkit_settings_set_enable_webaudio(WebKitSettings* settings, gboolean enab WKPreferencesSetWebAudioEnabled(priv->preferences.get(), enabled); g_object_notify(G_OBJECT(settings), "enable-webaudio"); } + +/** + * webkit_settings_get_enable_webgl: + * @settings: a #WebKitSettings + * + * Get the #WebKitSettings:enable-webgl property. + * + * Returns: %TRUE If webgl support is enabled or %FALSE otherwise. + */ +gboolean webkit_settings_get_enable_webgl(WebKitSettings* settings) +{ + g_return_val_if_fail(WEBKIT_IS_SETTINGS(settings), FALSE); + + return WKPreferencesGetWebGLEnabled(settings->priv->preferences.get()); +} + +/** + * webkit_settings_set_enable_webgl: + * @settings: a #WebKitSettings + * @enabled: Value to be set + * + * Set the #WebKitSettings:enable-webgl property. + */ +void webkit_settings_set_enable_webgl(WebKitSettings* settings, gboolean enabled) +{ + g_return_if_fail(WEBKIT_IS_SETTINGS(settings)); + + WebKitSettingsPrivate* priv = settings->priv; + bool currentValue = WKPreferencesGetWebGLEnabled(priv->preferences.get()); + if (currentValue == enabled) + return; + + WKPreferencesSetWebGLEnabled(priv->preferences.get(), enabled); + g_object_notify(G_OBJECT(settings), "enable-webgl"); +} |