Modified: trunk/Source/WebKit2/ChangeLog (101814 => 101815)
--- trunk/Source/WebKit2/ChangeLog 2011-12-02 17:44:05 UTC (rev 101814)
+++ trunk/Source/WebKit2/ChangeLog 2011-12-02 17:44:27 UTC (rev 101815)
@@ -1,3 +1,21 @@
+2011-12-02 Nayan Kumar K <[email protected]>
+
+ [WebKit2][gtk] Add 'enable-dns-prefetching' property to WebKitSettings
+ https://bugs.webkit.org/show_bug.cgi?id=73414
+
+ Reviewed by Martin Robinson.
+
+ * UIProcess/API/gtk/WebKitSettings.cpp:
+ (webKitSettingsSetProperty): Add new set function.
+ (webKitSettingsGetProperty): Add new get function.
+ (webkit_settings_class_init): Register new property.
+ (webkit_settings_get_enable_dns_prefetching): API to get 'enable-dns-prefetching' property.
+ (webkit_settings_set_enable_dns_prefetching): API to set 'enable-dns-prefetching' property.
+ * UIProcess/API/gtk/WebKitSettings.h: Expose new public API's.
+ * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new APIs to gtk-doc sections file.
+ * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
+ (testWebKitSettings): Add new tests.
+
2011-12-02 Andras Becsi <[email protected]>
[Qt][WK2] Set event timestamps on custom input events
Modified: trunk/Source/WebKit2/UIProcess/API/gtk/WebKitSettings.cpp (101814 => 101815)
--- trunk/Source/WebKit2/UIProcess/API/gtk/WebKitSettings.cpp 2011-12-02 17:44:05 UTC (rev 101814)
+++ trunk/Source/WebKit2/UIProcess/API/gtk/WebKitSettings.cpp 2011-12-02 17:44:27 UTC (rev 101815)
@@ -101,6 +101,7 @@
PROP_ENABLE_DEVELOPER_EXTRAS,
PROP_ENABLE_RESIZABLE_TEXT_AREAS,
PROP_ENABLE_TABS_TO_LINKS,
+ PROP_ENABLE_DNS_PREFETCHING,
PROP_ENABLE_CARET_BROWSING,
};
@@ -190,6 +191,9 @@
case PROP_ENABLE_TABS_TO_LINKS:
webkit_settings_set_enable_tabs_to_links(settings, g_value_get_boolean(value));
break;
+ case PROP_ENABLE_DNS_PREFETCHING:
+ webkit_settings_set_enable_dns_prefetching(settings, g_value_get_boolean(value));
+ break;
case PROP_ENABLE_CARET_BROWSING:
webkit_settings_set_enable_caret_browsing(settings, g_value_get_boolean(value));
break;
@@ -285,6 +289,9 @@
case PROP_ENABLE_TABS_TO_LINKS:
g_value_set_boolean(value, webkit_settings_get_enable_tabs_to_links(settings));
break;
+ case PROP_ENABLE_DNS_PREFETCHING:
+ g_value_set_boolean(value, webkit_settings_get_enable_dns_prefetching(settings));
+ break;
case PROP_ENABLE_CARET_BROWSING:
g_value_set_boolean(value, webkit_settings_get_enable_caret_browsing(settings));
break;
@@ -695,6 +702,20 @@
readWriteConstructParamFlags));
/**
+ * WebKitSettings:enable-dns-prefetching:
+ *
+ * Determines whether or not to prefetch domain names. DNS prefetching attempts
+ * to resolve domain names before a user tries to follow a link.
+ */
+ g_object_class_install_property(gObjectClass,
+ PROP_ENABLE_DNS_PREFETCHING,
+ g_param_spec_boolean("enable-dns-prefetching",
+ _("Enable DNS prefetching"),
+ _("Whether to enable DNS prefetching"),
+ FALSE,
+ readWriteConstructParamFlags));
+
+ /**
* WebKitSettings:enable-caret-browsing:
*
* Whether to enable accessibility enhanced keyboard navigation.
@@ -1756,6 +1777,41 @@
}
/**
+ * webkit_settings_get_enable_dns_prefetching:
+ * @settings: a #WebKitSettings
+ *
+ * Get the #WebKitSettings:enable-dns-prefetching property.
+ *
+ * Returns: %TRUE If DNS prefetching is enabled or %FALSE otherwise.
+ */
+gboolean webkit_settings_get_enable_dns_prefetching(WebKitSettings* settings)
+{
+ g_return_val_if_fail(WEBKIT_IS_SETTINGS(settings), FALSE);
+
+ return WKPreferencesGetDNSPrefetchingEnabled(settings->priv->preferences.get());
+}
+
+/**
+ * webkit_settings_set_enable_dns_prefetching:
+ * @settings: a #WebKitSettings
+ * @enabled: Value to be set
+ *
+ * Set the #WebKitSettings:enable-dns-prefetching property.
+ */
+void webkit_settings_set_enable_dns_prefetching(WebKitSettings* settings, gboolean enabled)
+{
+ g_return_if_fail(WEBKIT_IS_SETTINGS(settings));
+
+ WebKitSettingsPrivate* priv = settings->priv;
+ bool currentValue = WKPreferencesGetDNSPrefetchingEnabled(priv->preferences.get());
+ if (currentValue == enabled)
+ return;
+
+ WKPreferencesSetDNSPrefetchingEnabled(priv->preferences.get(), enabled);
+ g_object_notify(G_OBJECT(settings), "enable-dns-prefetching");
+}
+
+/**
* webkit_settings_get_enable_caret_browsing:
* @settings: a #WebKitSettings
*
Modified: trunk/Source/WebKit2/UIProcess/API/gtk/WebKitSettings.h (101814 => 101815)
--- trunk/Source/WebKit2/UIProcess/API/gtk/WebKitSettings.h 2011-12-02 17:44:05 UTC (rev 101814)
+++ trunk/Source/WebKit2/UIProcess/API/gtk/WebKitSettings.h 2011-12-02 17:44:27 UTC (rev 101815)
@@ -266,6 +266,13 @@
gboolean enabled);
WEBKIT_API gboolean
+webkit_settings_get_enable_dns_prefetching (WebKitSettings *settings);
+
+WEBKIT_API void
+webkit_settings_set_enable_dns_prefetching (WebKitSettings *settings,
+ gboolean enabled);
+
+WEBKIT_API gboolean
webkit_settings_get_enable_caret_browsing (WebKitSettings* settings);
WEBKIT_API void
Modified: trunk/Source/WebKit2/UIProcess/API/gtk/docs/webkit2gtk-sections.txt (101814 => 101815)
--- trunk/Source/WebKit2/UIProcess/API/gtk/docs/webkit2gtk-sections.txt 2011-12-02 17:44:05 UTC (rev 101814)
+++ trunk/Source/WebKit2/UIProcess/API/gtk/docs/webkit2gtk-sections.txt 2011-12-02 17:44:27 UTC (rev 101815)
@@ -212,6 +212,8 @@
webkit_settings_set_enable_resizable_text_areas
webkit_settings_get_enable_tabs_to_links
webkit_settings_set_enable_tabs_to_links
+webkit_settings_get_enable_dns_prefetching
+webkit_settings_set_enable_dns_prefetching
webkit_settings_get_enable_caret_browsing
webkit_settings_set_enable_caret_browsing
Modified: trunk/Source/WebKit2/UIProcess/API/gtk/tests/TestWebKitSettings.cpp (101814 => 101815)
--- trunk/Source/WebKit2/UIProcess/API/gtk/tests/TestWebKitSettings.cpp 2011-12-02 17:44:05 UTC (rev 101814)
+++ trunk/Source/WebKit2/UIProcess/API/gtk/tests/TestWebKitSettings.cpp 2011-12-02 17:44:27 UTC (rev 101815)
@@ -173,6 +173,10 @@
webkit_settings_set_enable_tabs_to_links(settings, FALSE);
g_assert(!webkit_settings_get_enable_tabs_to_links(settings));
+ g_assert(!webkit_settings_get_enable_dns_prefetching(settings));
+ webkit_settings_set_enable_dns_prefetching(settings, TRUE);
+ g_assert(webkit_settings_get_enable_dns_prefetching(settings));
+
// Caret browsing is disabled by default.
g_assert(!webkit_settings_get_enable_caret_browsing(settings));
webkit_settings_set_enable_caret_browsing(settings, TRUE);