Diff
Modified: trunk/Source/WebKit/gtk/ChangeLog (90775 => 90776)
--- trunk/Source/WebKit/gtk/ChangeLog 2011-07-11 19:06:34 UTC (rev 90775)
+++ trunk/Source/WebKit/gtk/ChangeLog 2011-07-11 19:10:40 UTC (rev 90776)
@@ -1,3 +1,23 @@
+2011-06-14 Mike Stegeman <[email protected]>
+
+ Add API to WebKit-GTK to allow setting localStorage database path
+ https://bugs.webkit.org/show_bug.cgi?id=62091
+
+ Reviewed by Martin Robinson and Gustavo Noronha.
+
+ Expose the path of the localStorage databases through a setting
+ to allow HTML5 localStorage to be persistent. New setting is:
+ html5-local-storage-database-path
+
+ * webkit/webkitwebsettings.cpp:
+ (webkit_web_settings_class_init):
+ (webkit_web_settings_set_property):
+ (webkit_web_settings_get_property):
+ * webkit/webkitwebsettingsprivate.h:
+ * webkit/webkitwebview.cpp:
+ (webkit_web_view_update_settings):
+ (webkit_web_view_settings_notify):
+
2011-07-08 Gustavo Noronha Silva <[email protected]>
[GTK] testwebview API test fails after http://trac.webkit.org/changeset/90471
Modified: trunk/Source/WebKit/gtk/webkit/webkitwebsettings.cpp (90775 => 90776)
--- trunk/Source/WebKit/gtk/webkit/webkitwebsettings.cpp 2011-07-11 19:06:34 UTC (rev 90775)
+++ trunk/Source/WebKit/gtk/webkit/webkitwebsettings.cpp 2011-07-11 19:10:40 UTC (rev 90776)
@@ -96,6 +96,7 @@
PROP_ENABLE_CARET_BROWSING,
PROP_ENABLE_HTML5_DATABASE,
PROP_ENABLE_HTML5_LOCAL_STORAGE,
+ PROP_HTML5_LOCAL_STORAGE_DATABASE_PATH,
PROP_ENABLE_XSS_AUDITOR,
PROP_ENABLE_SPATIAL_NAVIGATION,
PROP_ENABLE_FRAME_FLATTENING,
@@ -523,6 +524,22 @@
TRUE,
flags));
/**
+ * WebKitWebSettings:html5-local-storage-database-path:
+ *
+ * Path to store persistent HTML5 localStorage databases, which are enabled by
+ * "enable-html5-local-storage". The default path is $XDG_DATA_HOME/webkit/databases/.
+ *
+ * Since: 1.5.2
+ */
+ GOwnPtr<gchar> localStoragePath(g_build_filename(g_get_user_data_dir(), "webkit", "databases", NULL));
+ g_object_class_install_property(gobject_class,
+ PROP_HTML5_LOCAL_STORAGE_DATABASE_PATH,
+ g_param_spec_string("html5-local-storage-database-path",
+ _("Local Storage Database Path"),
+ _("The path to where HTML5 Local Storage databases are stored."),
+ localStoragePath.get(),
+ flags));
+ /**
* WebKitWebSettings:enable-xss-auditor
*
* Whether to enable the XSS Auditor. This feature filters some kinds of
@@ -988,6 +1005,9 @@
case PROP_ENABLE_HTML5_LOCAL_STORAGE:
priv->enableHTML5LocalStorage = g_value_get_boolean(value);
break;
+ case PROP_HTML5_LOCAL_STORAGE_DATABASE_PATH:
+ priv->html5LocalStorageDatabasePath = g_value_get_string(value);
+ break;
case PROP_ENABLE_SPELL_CHECKING:
priv->enableSpellChecking = g_value_get_boolean(value);
break;
@@ -1147,6 +1167,9 @@
case PROP_ENABLE_HTML5_LOCAL_STORAGE:
g_value_set_boolean(value, priv->enableHTML5LocalStorage);
break;
+ case PROP_HTML5_LOCAL_STORAGE_DATABASE_PATH:
+ g_value_set_string(value, priv->html5LocalStorageDatabasePath.data());
+ break;
case PROP_ENABLE_SPELL_CHECKING:
g_value_set_boolean(value, priv->enableSpellChecking);
break;
Modified: trunk/Source/WebKit/gtk/webkit/webkitwebsettingsprivate.h (90775 => 90776)
--- trunk/Source/WebKit/gtk/webkit/webkitwebsettingsprivate.h 2011-07-11 19:06:34 UTC (rev 90775)
+++ trunk/Source/WebKit/gtk/webkit/webkitwebsettingsprivate.h 2011-07-11 19:10:40 UTC (rev 90776)
@@ -56,6 +56,7 @@
gboolean enableCaretBrowsing;
gboolean enableHTML5Database;
gboolean enableHTML5LocalStorage;
+ CString html5LocalStorageDatabasePath;
gboolean enableXSSAuditor;
gboolean enableSpatialNavigation;
gboolean enableFrameFlattening;
Modified: trunk/Source/WebKit/gtk/webkit/webkitwebview.cpp (90775 => 90776)
--- trunk/Source/WebKit/gtk/webkit/webkitwebview.cpp 2011-07-11 19:06:34 UTC (rev 90775)
+++ trunk/Source/WebKit/gtk/webkit/webkitwebview.cpp 2011-07-11 19:10:40 UTC (rev 90776)
@@ -3199,6 +3199,7 @@
coreSettings->setPrivateBrowsingEnabled(settingsPrivate->enablePrivateBrowsing);
coreSettings->setCaretBrowsingEnabled(settingsPrivate->enableCaretBrowsing);
coreSettings->setLocalStorageEnabled(settingsPrivate->enableHTML5LocalStorage);
+ coreSettings->setLocalStorageDatabasePath(settingsPrivate->html5LocalStorageDatabasePath.data());
coreSettings->setXSSAuditorEnabled(settingsPrivate->enableXSSAuditor);
coreSettings->setSpatialNavigationEnabled(settingsPrivate->enableSpatialNavigation);
coreSettings->setFrameFlatteningEnabled(settingsPrivate->enableFrameFlattening);
@@ -3307,6 +3308,8 @@
#endif
else if (name == g_intern_string("enable-html5-local-storage"))
settings->setLocalStorageEnabled(g_value_get_boolean(&value));
+ else if (name == g_intern_string("html5-local-storage-database-path"))
+ settings->setLocalStorageDatabasePath(g_value_get_string(&value));
else if (name == g_intern_string("enable-xss-auditor"))
settings->setXSSAuditorEnabled(g_value_get_boolean(&value));
else if (name == g_intern_string("enable-spatial-navigation"))
Modified: trunk/Tools/ChangeLog (90775 => 90776)
--- trunk/Tools/ChangeLog 2011-07-11 19:06:34 UTC (rev 90775)
+++ trunk/Tools/ChangeLog 2011-07-11 19:10:40 UTC (rev 90776)
@@ -1,3 +1,17 @@
+2011-06-14 Mike Stegeman <[email protected]>
+
+ [GTK] Add API to allow setting local storage database path
+ https://bugs.webkit.org/show_bug.cgi?id=62091
+
+ Reviewed by Martin Robinson and Gustavo Noronha.
+
+ Expose the path of the localStorage databases through a setting
+ to allow HTML5 localStorage to be persistent. New setting is:
+ html5-local-storage-database-path
+
+ * DumpRenderTree/gtk/DumpRenderTree.cpp:
+ (resetDefaultsToConsistentValues):
+
2011-07-11 Adam Barth <[email protected]>
garden-o-matic should be able to rebaseline tests
Modified: trunk/Tools/DumpRenderTree/gtk/DumpRenderTree.cpp (90775 => 90776)
--- trunk/Tools/DumpRenderTree/gtk/DumpRenderTree.cpp 2011-07-11 19:06:34 UTC (rev 90775)
+++ trunk/Tools/DumpRenderTree/gtk/DumpRenderTree.cpp 2011-07-11 19:10:40 UTC (rev 90776)
@@ -404,12 +404,14 @@
static void resetDefaultsToConsistentValues()
{
WebKitWebSettings* settings = webkit_web_view_get_settings(webView);
+ GOwnPtr<gchar> localStoragePath(g_build_filename(g_get_user_data_dir(), "DumpRenderTreeGtk", "databases", NULL));
g_object_set(G_OBJECT(settings),
"enable-private-browsing", FALSE,
"enable-developer-extras", FALSE,
"enable-spell-checking", TRUE,
"enable-html5-database", TRUE,
"enable-html5-local-storage", TRUE,
+ "html5-local-storage-database-path", localStoragePath.get(),
"enable-xss-auditor", FALSE,
"enable-spatial-navigation", FALSE,
"enable-frame-flattening", FALSE,