diff options
author | Steve Block <steveblock@google.com> | 2009-11-05 09:23:40 +0000 |
---|---|---|
committer | Steve Block <steveblock@google.com> | 2009-11-10 22:41:12 +0000 |
commit | cac0f67c402d107cdb10971b95719e2ff9c7c76b (patch) | |
tree | d182c7f87211c6f201a5f038e332336493ebdbe7 /WebKit/gtk/webkit/webkitwebsettings.cpp | |
parent | 4b2ef0f288e7c6c4602f621b7a0e9feed304b70e (diff) | |
download | external_webkit-cac0f67c402d107cdb10971b95719e2ff9c7c76b.zip external_webkit-cac0f67c402d107cdb10971b95719e2ff9c7c76b.tar.gz external_webkit-cac0f67c402d107cdb10971b95719e2ff9c7c76b.tar.bz2 |
Merge webkit.org at r50258 : Initial merge by git.
Change-Id: I1a9e1dc4ed654b69174ad52a4f031a07240f37b0
Diffstat (limited to 'WebKit/gtk/webkit/webkitwebsettings.cpp')
-rw-r--r-- | WebKit/gtk/webkit/webkitwebsettings.cpp | 77 |
1 files changed, 68 insertions, 9 deletions
diff --git a/WebKit/gtk/webkit/webkitwebsettings.cpp b/WebKit/gtk/webkit/webkitwebsettings.cpp index 588d5bd..89c5233 100644 --- a/WebKit/gtk/webkit/webkitwebsettings.cpp +++ b/WebKit/gtk/webkit/webkitwebsettings.cpp @@ -96,6 +96,8 @@ struct _WebKitWebSettingsPrivate { gboolean enable_offline_web_application_cache; WebKitEditingBehavior editing_behavior; gboolean enable_universal_access_from_file_uris; + gboolean enable_web_sockets; + gboolean enable_dom_paste; }; #define WEBKIT_WEB_SETTINGS_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE((obj), WEBKIT_TYPE_WEB_SETTINGS, WebKitWebSettingsPrivate)) @@ -135,7 +137,9 @@ enum { PROP_JAVASCRIPT_CAN_OPEN_WINDOWS_AUTOMATICALLY, PROP_ENABLE_OFFLINE_WEB_APPLICATION_CACHE, PROP_EDITING_BEHAVIOR, - PROP_ENABLE_UNIVERSAL_ACCESS_FROM_FILE_URIS + PROP_ENABLE_UNIVERSAL_ACCESS_FROM_FILE_URIS, + PROP_ENABLE_WEB_SOCKETS, + PROP_ENABLE_DOM_PASTE }; // Create a default user agent string @@ -647,6 +651,40 @@ static void webkit_web_settings_class_init(WebKitWebSettingsClass* klass) FALSE, flags)); + /** + * WebKitWebSettings:enable-web-sockets + * + * Whether to enable support for Web Sockets. + * + * Implementation of Web Sockets is currently considered experimental. + * Name of this property and the behavior could change in the future. + * + * Since: 1.1.16 + */ + g_object_class_install_property(gobject_class, + PROP_ENABLE_WEB_SOCKETS, + g_param_spec_boolean("enable-web-sockets", + _("Enable Web Sockets"), + _("Whether to enable Web Sockets"), + FALSE, + flags)); + + /** + * WebKitWebSettings:enable-dom-paste + * + * Whether to enable DOM paste. If set to %TRUE, document.execCommand("Paste") + * will correctly execute and paste content of the clipboard. + * + * Since: 1.1.16 + */ + g_object_class_install_property(gobject_class, + PROP_ENABLE_DOM_PASTE, + g_param_spec_boolean("enable-dom-paste", + _("Enable DOM paste"), + _("Whether to enable DOM paste"), + FALSE, + flags)); + g_type_class_add_private(klass, sizeof(WebKitWebSettingsPrivate)); } @@ -694,6 +732,7 @@ static void webkit_web_settings_set_property(GObject* object, guint prop_id, con { WebKitWebSettings* web_settings = WEBKIT_WEB_SETTINGS(object); WebKitWebSettingsPrivate* priv = web_settings->priv; + EnchantBroker* broker; SpellLanguage* lang; GSList* spellLanguages = NULL; @@ -787,26 +826,32 @@ static void webkit_web_settings_set_property(GObject* object, guint prop_id, con case PROP_SPELL_CHECKING_LANGUAGES: priv->spell_checking_languages = g_strdup(g_value_get_string(value)); + broker = enchant_broker_init(); if (priv->spell_checking_languages) { char** langs = g_strsplit(priv->spell_checking_languages, ",", -1); for (int i = 0; langs[i]; i++) { - lang = g_slice_new0(SpellLanguage); - lang->config = enchant_broker_init(); - lang->speller = enchant_broker_request_dict(lang->config, langs[i]); + if (enchant_broker_dict_exists(broker, langs[i])) { + lang = g_slice_new0(SpellLanguage); + lang->config = enchant_broker_init(); + lang->speller = enchant_broker_request_dict(lang->config, langs[i]); - spellLanguages = g_slist_append(spellLanguages, lang); + spellLanguages = g_slist_append(spellLanguages, lang); + } } g_strfreev(langs); } else { const char* language = pango_language_to_string(gtk_get_default_language()); - lang = g_slice_new0(SpellLanguage); - lang->config = enchant_broker_init(); - lang->speller = enchant_broker_request_dict(lang->config, language); + if (enchant_broker_dict_exists(broker, language)) { + lang = g_slice_new0(SpellLanguage); + lang->config = enchant_broker_init(); + lang->speller = enchant_broker_request_dict(lang->config, language); - spellLanguages = g_slist_append(spellLanguages, lang); + spellLanguages = g_slist_append(spellLanguages, lang); + } } + enchant_broker_free(broker); g_slist_foreach(priv->spell_checking_languages_list, free_spell_checking_language, NULL); g_slist_free(priv->spell_checking_languages_list); priv->spell_checking_languages_list = spellLanguages; @@ -833,6 +878,12 @@ static void webkit_web_settings_set_property(GObject* object, guint prop_id, con case PROP_ENABLE_UNIVERSAL_ACCESS_FROM_FILE_URIS: priv->enable_universal_access_from_file_uris = g_value_get_boolean(value); break; + case PROP_ENABLE_WEB_SOCKETS: + priv->enable_web_sockets = g_value_get_boolean(value); + break; + case PROP_ENABLE_DOM_PASTE: + priv->enable_dom_paste = g_value_get_boolean(value); + break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); break; @@ -944,6 +995,12 @@ static void webkit_web_settings_get_property(GObject* object, guint prop_id, GVa case PROP_ENABLE_UNIVERSAL_ACCESS_FROM_FILE_URIS: g_value_set_boolean(value, priv->enable_universal_access_from_file_uris); break; + case PROP_ENABLE_WEB_SOCKETS: + g_value_set_boolean(value, priv->enable_web_sockets); + break; + case PROP_ENABLE_DOM_PASTE: + g_value_set_boolean(value, priv->enable_dom_paste); + break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); break; @@ -1008,6 +1065,8 @@ WebKitWebSettings* webkit_web_settings_copy(WebKitWebSettings* web_settings) "enable-offline-web-application-cache", priv->enable_offline_web_application_cache, "editing-behavior", priv->editing_behavior, "enable-universal-access-from-file-uris", priv->enable_universal_access_from_file_uris, + "enable-web-sockets", priv->enable_web_sockets, + "enable-dom-paste", priv->enable_dom_paste, NULL)); return copy; |