Title: [100248] trunk/Source/WebKit2
Revision
100248
Author
ma...@webkit.org
Date
2011-11-15 01:05:33 -0800 (Tue, 15 Nov 2011)

Log Message

[GTK][WEBKIT2] Add enable-caret-browsing property to WebKitSettings
https://bugs.webkit.org/show_bug.cgi?id=72267

Reviewed by Martin Robinson.

Allow getting and setting the 'enable-caret-browsing' property
through WebKitSettings.

* UIProcess/API/gtk/WebKitSettings.cpp:
(webKitSettingsSetProperty): Added property setter.
(webKitSettingsGetProperty): Added propery getter.
(webkit_settings_class_init): Install property.
(webkit_settings_get_enable_caret_browsing): Added.
(webkit_settings_set_enable_caret_browsing): Added.
* UIProcess/API/gtk/WebKitSettings.h: Expose new public APIs.
* UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new sections for gtk-doc generation.
* UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
(testWebKitSettings): Added new API test.

Modified Paths

Diff

Modified: trunk/Source/WebKit2/ChangeLog (100247 => 100248)


--- trunk/Source/WebKit2/ChangeLog	2011-11-15 08:36:56 UTC (rev 100247)
+++ trunk/Source/WebKit2/ChangeLog	2011-11-15 09:05:33 UTC (rev 100248)
@@ -1,3 +1,24 @@
+2011-11-15  Mario Sanchez Prada  <msanc...@igalia.com>
+
+        [GTK][WEBKIT2] Add enable-caret-browsing property to WebKitSettings
+        https://bugs.webkit.org/show_bug.cgi?id=72267
+
+        Reviewed by Martin Robinson.
+
+        Allow getting and setting the 'enable-caret-browsing' property
+        through WebKitSettings.
+
+        * UIProcess/API/gtk/WebKitSettings.cpp:
+        (webKitSettingsSetProperty): Added property setter.
+        (webKitSettingsGetProperty): Added propery getter.
+        (webkit_settings_class_init): Install property.
+        (webkit_settings_get_enable_caret_browsing): Added.
+        (webkit_settings_set_enable_caret_browsing): Added.
+        * UIProcess/API/gtk/WebKitSettings.h: Expose new public APIs.
+        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new sections for gtk-doc generation.
+        * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
+        (testWebKitSettings): Added new API test.
+
 2011-11-14  Julien Chaffraix  <jchaffr...@webkit.org>
 
         Add --css-grid-layout to build-webkit and the build systems

Modified: trunk/Source/WebKit2/UIProcess/API/gtk/WebKitSettings.cpp (100247 => 100248)


--- trunk/Source/WebKit2/UIProcess/API/gtk/WebKitSettings.cpp	2011-11-15 08:36:56 UTC (rev 100247)
+++ trunk/Source/WebKit2/UIProcess/API/gtk/WebKitSettings.cpp	2011-11-15 09:05:33 UTC (rev 100248)
@@ -97,6 +97,7 @@
     PROP_DEFAULT_MONOSPACE_FONT_SIZE,
     PROP_MINIMUM_FONT_SIZE,
     PROP_DEFAULT_CHARSET,
+    PROP_ENABLE_CARET_BROWSING,
 };
 
 static void webKitSettingsSetProperty(GObject* object, guint propId, const GValue* value, GParamSpec* paramSpec)
@@ -173,6 +174,9 @@
     case PROP_DEFAULT_CHARSET:
         webkit_settings_set_default_charset(settings, g_value_get_string(value));
         break;
+    case PROP_ENABLE_CARET_BROWSING:
+        webkit_settings_set_enable_caret_browsing(settings, g_value_get_boolean(value));
+        break;
     default:
         G_OBJECT_WARN_INVALID_PROPERTY_ID(object, propId, paramSpec);
         break;
@@ -253,6 +257,9 @@
     case PROP_DEFAULT_CHARSET:
         g_value_set_string(value, webkit_settings_get_default_charset(settings));
         break;
+    case PROP_ENABLE_CARET_BROWSING:
+        g_value_set_boolean(value, webkit_settings_get_enable_caret_browsing(settings));
+        break;
     default:
         G_OBJECT_WARN_INVALID_PROPERTY_ID(object, propId, paramSpec);
         break;
@@ -603,6 +610,18 @@
                                                         "iso-8859-1",
                                                         readWriteConstructParamFlags));
 
+    /**
+     * WebKitSettings:enable-caret-browsing:
+     *
+     * Whether to enable accessibility enhanced keyboard navigation.
+     */
+    g_object_class_install_property(gObjectClass,
+                                    PROP_ENABLE_CARET_BROWSING,
+                                    g_param_spec_boolean("enable-caret-browsing",
+                                                         _("Enable Caret Browsing"),
+                                                         _("Whether to enable accessibility enhanced keyboard navigation"),
+                                                         FALSE,
+                                                         readWriteConstructParamFlags));
 
     g_type_class_add_private(klass, sizeof(WebKitSettingsPrivate));
 }
@@ -1511,3 +1530,38 @@
 
     g_object_notify(G_OBJECT(settings), "default-charset");
 }
+
+/**
+ * webkit_settings_get_enable_caret_browsing:
+ * @settings: a #WebKitSettings
+ *
+ * Get the #WebKitSettings:enable-caret-browsing property.
+ *
+ * Returns: %TRUE If caret browsing is enabled or %FALSE otherwise.
+ */
+gboolean webkit_settings_get_enable_caret_browsing(WebKitSettings* settings)
+{
+    g_return_val_if_fail(WEBKIT_IS_SETTINGS(settings), FALSE);
+
+    return WKPreferencesGetCaretBrowsingEnabled(settings->priv->preferences.get());
+}
+
+/**
+ * webkit_settings_set_enable_caret_browsing:
+ * @settings: a #WebKitSettings
+ * @enabled: Value to be set
+ *
+ * Set the #WebKitSettings:enable-caret-browsing property.
+ */
+void webkit_settings_set_enable_caret_browsing(WebKitSettings* settings, gboolean enabled)
+{
+    g_return_if_fail(WEBKIT_IS_SETTINGS(settings));
+
+    WebKitSettingsPrivate* priv = settings->priv;
+    bool currentValue = WKPreferencesGetCaretBrowsingEnabled(priv->preferences.get());
+    if (currentValue == enabled)
+        return;
+
+    WKPreferencesSetCaretBrowsingEnabled(priv->preferences.get(), enabled);
+    g_object_notify(G_OBJECT(settings), "enable-caret-browsing");
+}

Modified: trunk/Source/WebKit2/UIProcess/API/gtk/WebKitSettings.h (100247 => 100248)


--- trunk/Source/WebKit2/UIProcess/API/gtk/WebKitSettings.h	2011-11-15 08:36:56 UTC (rev 100247)
+++ trunk/Source/WebKit2/UIProcess/API/gtk/WebKitSettings.h	2011-11-15 09:05:33 UTC (rev 100248)
@@ -237,6 +237,13 @@
 webkit_settings_set_default_charset                            (WebKitSettings* settings,
                                                                 const gchar* default_charset);
 
+WEBKIT_API gboolean
+webkit_settings_get_enable_caret_browsing                      (WebKitSettings* settings);
+
+WEBKIT_API void
+webkit_settings_set_enable_caret_browsing                      (WebKitSettings* settings,
+                                                                gboolean enabled);
+
 G_END_DECLS
 
 #endif /* webkitwebsettings_h */

Modified: trunk/Source/WebKit2/UIProcess/API/gtk/docs/webkit2gtk-sections.txt (100247 => 100248)


--- trunk/Source/WebKit2/UIProcess/API/gtk/docs/webkit2gtk-sections.txt	2011-11-15 08:36:56 UTC (rev 100247)
+++ trunk/Source/WebKit2/UIProcess/API/gtk/docs/webkit2gtk-sections.txt	2011-11-15 09:05:33 UTC (rev 100248)
@@ -203,6 +203,8 @@
 webkit_settings_set_minimum_font_size
 webkit_settings_get_default_charset
 webkit_settings_set_default_charset
+webkit_settings_get_enable_caret_browsing
+webkit_settings_set_enable_caret_browsing
 
 <SUBSECTION Standard>
 WebKitSettingsClass

Modified: trunk/Source/WebKit2/UIProcess/API/gtk/tests/TestWebKitSettings.cpp (100247 => 100248)


--- trunk/Source/WebKit2/UIProcess/API/gtk/tests/TestWebKitSettings.cpp	2011-11-15 08:36:56 UTC (rev 100247)
+++ trunk/Source/WebKit2/UIProcess/API/gtk/tests/TestWebKitSettings.cpp	2011-11-15 09:05:33 UTC (rev 100248)
@@ -157,6 +157,11 @@
     webkit_settings_set_default_charset(settings, "utf8");
     g_assert_cmpstr(webkit_settings_get_default_charset(settings), ==, "utf8");
 
+    // Caret browsing is disabled by default.
+    g_assert(!webkit_settings_get_enable_caret_browsing(settings));
+    webkit_settings_set_enable_caret_browsing(settings, TRUE);
+    g_assert(webkit_settings_get_enable_caret_browsing(settings));
+
     g_object_unref(G_OBJECT(settings));
 #endif
 }
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to