[WPE][GTK] Deprecate WebSQL APIs
https://bugs.webkit.org/show_bug.cgi?id=195011
Reviewed by Carlos Garcia Campos.
Source/WebKit:
* UIProcess/API/glib/WebKitSettings.cpp:
(webkit_settings_class_init):
* UIProcess/API/glib/WebKitWebContext.cpp:
(webkitWebContextConstructed):
* UIProcess/API/glib/WebKitWebsiteDataManager.cpp:
(webkitWebsiteDataManagerGetProperty):
(webkit_website_data_manager_class_init):
* UIProcess/API/gtk/WebKitWebsiteData.h:
* UIProcess/API/gtk/WebKitWebsiteDataManager.h:
* UIProcess/API/wpe/WebKitWebsiteData.h:
* UIProcess/API/wpe/WebKitWebsiteDataManager.h:
Tools:
* MiniBrowser/gtk/main.c:
(gotWebsiteDataCallback):
* TestWebKitAPI/Tests/WebKitGLib/TestWebsiteData.cpp:
(testWebsiteDataConfiguration):
(testWebsiteDataEphemeral):
(testWebsiteDataDatabases):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@246353 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/Source/WebKit/ChangeLog b/Source/WebKit/ChangeLog
index f1c581c..aad734f 100644
--- a/Source/WebKit/ChangeLog
+++ b/Source/WebKit/ChangeLog
@@ -1,5 +1,24 @@
2019-06-12 Michael Catanzaro <mcatanzaro@igalia.com>
+ [WPE][GTK] Deprecate WebSQL APIs
+ https://bugs.webkit.org/show_bug.cgi?id=195011
+
+ Reviewed by Carlos Garcia Campos.
+
+ * UIProcess/API/glib/WebKitSettings.cpp:
+ (webkit_settings_class_init):
+ * UIProcess/API/glib/WebKitWebContext.cpp:
+ (webkitWebContextConstructed):
+ * UIProcess/API/glib/WebKitWebsiteDataManager.cpp:
+ (webkitWebsiteDataManagerGetProperty):
+ (webkit_website_data_manager_class_init):
+ * UIProcess/API/gtk/WebKitWebsiteData.h:
+ * UIProcess/API/gtk/WebKitWebsiteDataManager.h:
+ * UIProcess/API/wpe/WebKitWebsiteData.h:
+ * UIProcess/API/wpe/WebKitWebsiteDataManager.h:
+
+2019-06-12 Michael Catanzaro <mcatanzaro@igalia.com>
+
[WPE][GTK] Enable hyperlink auditing
https://bugs.webkit.org/show_bug.cgi?id=197845
diff --git a/Source/WebKit/UIProcess/API/glib/WebKitSettings.cpp b/Source/WebKit/UIProcess/API/glib/WebKitSettings.cpp
index c2ed6831..c3b65c4 100644
--- a/Source/WebKit/UIProcess/API/glib/WebKitSettings.cpp
+++ b/Source/WebKit/UIProcess/API/glib/WebKitSettings.cpp
@@ -681,12 +681,7 @@
/**
* WebKitSettings:enable-html5-database:
*
- * Whether to enable HTML5 client-side SQL database support. Client-side
- * SQL database allows web pages to store structured data and be able to
- * use SQL to manipulate that data asynchronously.
- *
- * HTML5 database specification is available at
- * http://www.w3.org/TR/webdatabase/.
+ * Whether to enable HTML5 client-side SQL database support (IndexedDB).
*/
g_object_class_install_property(gObjectClass,
PROP_ENABLE_HTML5_DATABASE,
@@ -1740,7 +1735,7 @@
*
* Get the #WebKitSettings:enable-html5-database property.
*
- * Returns: %TRUE If HTML5 database support is enabled or %FALSE otherwise.
+ * Returns: %TRUE if IndexedDB support is enabled or %FALSE otherwise.
*/
gboolean webkit_settings_get_enable_html5_database(WebKitSettings* settings)
{
diff --git a/Source/WebKit/UIProcess/API/glib/WebKitWebContext.cpp b/Source/WebKit/UIProcess/API/glib/WebKitWebContext.cpp
index abd7e8f..a4a0fef 100644
--- a/Source/WebKit/UIProcess/API/glib/WebKitWebContext.cpp
+++ b/Source/WebKit/UIProcess/API/glib/WebKitWebContext.cpp
@@ -340,7 +340,9 @@
configuration.setDiskCacheDirectory(FileSystem::pathByAppendingComponent(FileSystem::stringFromFileSystemRepresentation(webkit_website_data_manager_get_disk_cache_directory(priv->websiteDataManager.get())), networkCacheSubdirectory));
configuration.setApplicationCacheDirectory(FileSystem::stringFromFileSystemRepresentation(webkit_website_data_manager_get_offline_application_cache_directory(priv->websiteDataManager.get())));
configuration.setIndexedDBDatabaseDirectory(FileSystem::stringFromFileSystemRepresentation(webkit_website_data_manager_get_indexeddb_directory(priv->websiteDataManager.get())));
+ALLOW_DEPRECATED_DECLARATIONS_BEGIN
configuration.setWebSQLDatabaseDirectory(FileSystem::stringFromFileSystemRepresentation(webkit_website_data_manager_get_websql_directory(priv->websiteDataManager.get())));
+ALLOW_DEPRECATED_DECLARATIONS_END
} else if (!priv->localStorageDirectory.isNull())
configuration.setLocalStorageDirectory(FileSystem::stringFromFileSystemRepresentation(priv->localStorageDirectory.data()));
diff --git a/Source/WebKit/UIProcess/API/glib/WebKitWebsiteDataManager.cpp b/Source/WebKit/UIProcess/API/glib/WebKitWebsiteDataManager.cpp
index 1cc0654..c0f91cc 100644
--- a/Source/WebKit/UIProcess/API/glib/WebKitWebsiteDataManager.cpp
+++ b/Source/WebKit/UIProcess/API/glib/WebKitWebsiteDataManager.cpp
@@ -132,7 +132,9 @@
g_value_set_string(value, webkit_website_data_manager_get_indexeddb_directory(manager));
break;
case PROP_WEBSQL_DIRECTORY:
+ ALLOW_DEPRECATED_DECLARATIONS_BEGIN
g_value_set_string(value, webkit_website_data_manager_get_websql_directory(manager));
+ ALLOW_DEPRECATED_DECLARATIONS_END
break;
case PROP_IS_EPHEMERAL:
g_value_set_boolean(value, webkit_website_data_manager_is_ephemeral(manager));
@@ -317,6 +319,8 @@
* The directory where WebSQL databases will be stored.
*
* Since: 2.10
+ *
+ * Deprecated: 2.24. WebSQL is no longer supported. Use IndexedDB instead.
*/
g_object_class_install_property(
gObjectClass,
@@ -326,7 +330,7 @@
_("WebSQL Directory"),
_("The directory where WebSQL databases will be stored"),
nullptr,
- static_cast<GParamFlags>(WEBKIT_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)));
+ static_cast<GParamFlags>(WEBKIT_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_DEPRECATED)));
/**
* WebKitWebsiteDataManager:is-ephemeral:
@@ -592,6 +596,8 @@
* Returns: (allow-none): the directory where WebSQL databases are stored or %NULL if @manager is ephemeral.
*
* Since: 2.10
+ *
+ * Deprecated: 2.24. WebSQL is no longer supported. Use IndexedDB instead.
*/
const gchar* webkit_website_data_manager_get_websql_directory(WebKitWebsiteDataManager* manager)
{
diff --git a/Source/WebKit/UIProcess/API/gtk/WebKitWebsiteData.h b/Source/WebKit/UIProcess/API/gtk/WebKitWebsiteData.h
index 208c65b..0188e77 100644
--- a/Source/WebKit/UIProcess/API/gtk/WebKitWebsiteData.h
+++ b/Source/WebKit/UIProcess/API/gtk/WebKitWebsiteData.h
@@ -40,7 +40,7 @@
* @WEBKIT_WEBSITE_DATA_OFFLINE_APPLICATION_CACHE: Offline web application cache.
* @WEBKIT_WEBSITE_DATA_SESSION_STORAGE: Session storage data.
* @WEBKIT_WEBSITE_DATA_LOCAL_STORAGE: Local storage data.
- * @WEBKIT_WEBSITE_DATA_WEBSQL_DATABASES: WebSQL databases.
+ * @WEBKIT_WEBSITE_DATA_WEBSQL_DATABASES: WebSQL databases. Deprecated 2.24
* @WEBKIT_WEBSITE_DATA_INDEXEDDB_DATABASES: IndexedDB databases.
* @WEBKIT_WEBSITE_DATA_PLUGIN_DATA: Plugins data.
* @WEBKIT_WEBSITE_DATA_COOKIES: Cookies.
diff --git a/Source/WebKit/UIProcess/API/gtk/WebKitWebsiteDataManager.h b/Source/WebKit/UIProcess/API/gtk/WebKitWebsiteDataManager.h
index cc62ad3..8de7c4b 100644
--- a/Source/WebKit/UIProcess/API/gtk/WebKitWebsiteDataManager.h
+++ b/Source/WebKit/UIProcess/API/gtk/WebKitWebsiteDataManager.h
@@ -87,7 +87,7 @@
WEBKIT_API const gchar *
webkit_website_data_manager_get_indexeddb_directory (WebKitWebsiteDataManager *manager);
-WEBKIT_API const gchar *
+WEBKIT_DEPRECATED const gchar *
webkit_website_data_manager_get_websql_directory (WebKitWebsiteDataManager *manager);
WEBKIT_API WebKitCookieManager *
diff --git a/Source/WebKit/UIProcess/API/wpe/WebKitWebsiteData.h b/Source/WebKit/UIProcess/API/wpe/WebKitWebsiteData.h
index 4952c8a..778ff50 100644
--- a/Source/WebKit/UIProcess/API/wpe/WebKitWebsiteData.h
+++ b/Source/WebKit/UIProcess/API/wpe/WebKitWebsiteData.h
@@ -40,7 +40,7 @@
* @WEBKIT_WEBSITE_DATA_OFFLINE_APPLICATION_CACHE: Offline web application cache.
* @WEBKIT_WEBSITE_DATA_SESSION_STORAGE: Session storage data.
* @WEBKIT_WEBSITE_DATA_LOCAL_STORAGE: Local storage data.
- * @WEBKIT_WEBSITE_DATA_WEBSQL_DATABASES: WebSQL databases.
+ * @WEBKIT_WEBSITE_DATA_WEBSQL_DATABASES: WebSQL databases. Deprecated 2.24
* @WEBKIT_WEBSITE_DATA_INDEXEDDB_DATABASES: IndexedDB databases.
* @WEBKIT_WEBSITE_DATA_PLUGIN_DATA: Plugins data.
* @WEBKIT_WEBSITE_DATA_COOKIES: Cookies.
diff --git a/Source/WebKit/UIProcess/API/wpe/WebKitWebsiteDataManager.h b/Source/WebKit/UIProcess/API/wpe/WebKitWebsiteDataManager.h
index 1655d53..1e6cc56 100644
--- a/Source/WebKit/UIProcess/API/wpe/WebKitWebsiteDataManager.h
+++ b/Source/WebKit/UIProcess/API/wpe/WebKitWebsiteDataManager.h
@@ -87,7 +87,7 @@
WEBKIT_API const gchar *
webkit_website_data_manager_get_indexeddb_directory (WebKitWebsiteDataManager *manager);
-WEBKIT_API const gchar *
+WEBKIT_DEPRECATED const gchar *
webkit_website_data_manager_get_websql_directory (WebKitWebsiteDataManager *manager);
WEBKIT_API WebKitCookieManager *
diff --git a/Tools/ChangeLog b/Tools/ChangeLog
index 6616961..e6a71546 100644
--- a/Tools/ChangeLog
+++ b/Tools/ChangeLog
@@ -1,5 +1,19 @@
2019-06-12 Michael Catanzaro <mcatanzaro@igalia.com>
+ [WPE][GTK] Deprecate WebSQL APIs
+ https://bugs.webkit.org/show_bug.cgi?id=195011
+
+ Reviewed by Carlos Garcia Campos.
+
+ * MiniBrowser/gtk/main.c:
+ (gotWebsiteDataCallback):
+ * TestWebKitAPI/Tests/WebKitGLib/TestWebsiteData.cpp:
+ (testWebsiteDataConfiguration):
+ (testWebsiteDataEphemeral):
+ (testWebsiteDataDatabases):
+
+2019-06-12 Michael Catanzaro <mcatanzaro@igalia.com>
+
[WPE][GTK] Enable hyperlink auditing
https://bugs.webkit.org/show_bug.cgi?id=197845
diff --git a/Tools/MiniBrowser/gtk/main.c b/Tools/MiniBrowser/gtk/main.c
index e39aac3..9bb44bd 100644
--- a/Tools/MiniBrowser/gtk/main.c
+++ b/Tools/MiniBrowser/gtk/main.c
@@ -413,7 +413,6 @@
aboutDataFillTable(result, dataRequest, dataList, "Disk Cache", WEBKIT_WEBSITE_DATA_DISK_CACHE, webkit_website_data_manager_get_disk_cache_directory(manager), pageID);
aboutDataFillTable(result, dataRequest, dataList, "Session Storage", WEBKIT_WEBSITE_DATA_SESSION_STORAGE, NULL, pageID);
aboutDataFillTable(result, dataRequest, dataList, "Local Storage", WEBKIT_WEBSITE_DATA_LOCAL_STORAGE, webkit_website_data_manager_get_local_storage_directory(manager), pageID);
- aboutDataFillTable(result, dataRequest, dataList, "WebSQL Databases", WEBKIT_WEBSITE_DATA_WEBSQL_DATABASES, webkit_website_data_manager_get_websql_directory(manager), pageID);
aboutDataFillTable(result, dataRequest, dataList, "IndexedDB Databases", WEBKIT_WEBSITE_DATA_INDEXEDDB_DATABASES, webkit_website_data_manager_get_indexeddb_directory(manager), pageID);
aboutDataFillTable(result, dataRequest, dataList, "Plugins Data", WEBKIT_WEBSITE_DATA_PLUGIN_DATA, NULL, pageID);
aboutDataFillTable(result, dataRequest, dataList, "Offline Web Applications Cache", WEBKIT_WEBSITE_DATA_OFFLINE_APPLICATION_CACHE, webkit_website_data_manager_get_offline_application_cache_directory(manager), pageID);
diff --git a/Tools/TestWebKitAPI/Tests/WebKitGLib/TestWebsiteData.cpp b/Tools/TestWebKitAPI/Tests/WebKitGLib/TestWebsiteData.cpp
index 63878f1..2f7c81f 100644
--- a/Tools/TestWebKitAPI/Tests/WebKitGLib/TestWebsiteData.cpp
+++ b/Tools/TestWebKitAPI/Tests/WebKitGLib/TestWebsiteData.cpp
@@ -148,11 +148,6 @@
g_assert_cmpstr(indexedDBDirectory.get(), ==, webkit_website_data_manager_get_indexeddb_directory(test->m_manager));
g_assert_true(g_file_test(indexedDBDirectory.get(), G_FILE_TEST_IS_DIR));
- GUniquePtr<char> webSQLDirectory(g_build_filename(Test::dataDirectory(), "websql", nullptr));
- g_assert_cmpstr(webSQLDirectory.get(), ==, webkit_website_data_manager_get_websql_directory(test->m_manager));
- test->runJavaScriptAndWaitUntilFinished("db = openDatabase(\"TestDatabase\", \"1.0\", \"TestDatabase\", 1);", nullptr);
- g_assert_true(g_file_test(webSQLDirectory.get(), G_FILE_TEST_IS_DIR));
-
test->loadURI(kServer->getURIForPath("/appcache").data());
test->waitUntilLoadFinished();
GUniquePtr<char> applicationCacheDirectory(g_build_filename(Test::dataDirectory(), "appcache", nullptr));
@@ -169,7 +164,7 @@
// Clear all persistent caches, since the data dir is common to all test cases.
static const WebKitWebsiteDataTypes persistentCaches = static_cast<WebKitWebsiteDataTypes>(WEBKIT_WEBSITE_DATA_DISK_CACHE | WEBKIT_WEBSITE_DATA_LOCAL_STORAGE
- | WEBKIT_WEBSITE_DATA_WEBSQL_DATABASES | WEBKIT_WEBSITE_DATA_INDEXEDDB_DATABASES | WEBKIT_WEBSITE_DATA_OFFLINE_APPLICATION_CACHE | WEBKIT_WEBSITE_DATA_DEVICE_ID_HASH_SALT);
+ | WEBKIT_WEBSITE_DATA_INDEXEDDB_DATABASES | WEBKIT_WEBSITE_DATA_OFFLINE_APPLICATION_CACHE | WEBKIT_WEBSITE_DATA_DEVICE_ID_HASH_SALT);
test->clear(persistentCaches, 0);
g_assert_null(test->fetch(persistentCaches));
@@ -181,7 +176,6 @@
g_assert_cmpstr(webkit_website_data_manager_get_indexeddb_directory(test->m_manager), !=, webkit_website_data_manager_get_indexeddb_directory(defaultManager));
g_assert_cmpstr(webkit_website_data_manager_get_disk_cache_directory(test->m_manager), !=, webkit_website_data_manager_get_disk_cache_directory(defaultManager));
g_assert_cmpstr(webkit_website_data_manager_get_offline_application_cache_directory(test->m_manager), !=, webkit_website_data_manager_get_offline_application_cache_directory(defaultManager));
- g_assert_cmpstr(webkit_website_data_manager_get_websql_directory(test->m_manager), !=, webkit_website_data_manager_get_websql_directory(defaultManager));
// Using Test::dataDirectory() we get the default configuration but for a differrent prefix.
GRefPtr<WebKitWebsiteDataManager> baseDataManager = adoptGRef(webkit_website_data_manager_new("base-data-directory", Test::dataDirectory(), "base-cache-directory", Test::dataDirectory(), nullptr));
@@ -196,9 +190,6 @@
applicationCacheDirectory.reset(g_build_filename(Test::dataDirectory(), "applications", nullptr));
g_assert_cmpstr(webkit_website_data_manager_get_offline_application_cache_directory(baseDataManager.get()), ==, applicationCacheDirectory.get());
- webSQLDirectory.reset(g_build_filename(Test::dataDirectory(), "databases", nullptr));
- g_assert_cmpstr(webkit_website_data_manager_get_websql_directory(baseDataManager.get()), ==, webSQLDirectory.get());
-
g_assert_cmpstr(webkit_website_data_manager_get_disk_cache_directory(baseDataManager.get()), ==, Test::dataDirectory());
// Any specific configuration provided takes precedence over base dirs.
@@ -210,7 +201,6 @@
g_assert_cmpstr(webkit_website_data_manager_get_offline_application_cache_directory(baseDataManager.get()), ==, applicationCacheDirectory.get());
// The result should be the same as previous manager.
g_assert_cmpstr(webkit_website_data_manager_get_local_storage_directory(baseDataManager.get()), ==, localStorageDirectory.get());
- g_assert_cmpstr(webkit_website_data_manager_get_websql_directory(baseDataManager.get()), ==, webSQLDirectory.get());
g_assert_cmpstr(webkit_website_data_manager_get_disk_cache_directory(baseDataManager.get()), ==, Test::dataDirectory());
}
@@ -232,7 +222,6 @@
g_assert_null(webkit_website_data_manager_get_disk_cache_directory(manager.get()));
g_assert_null(webkit_website_data_manager_get_offline_application_cache_directory(manager.get()));
g_assert_null(webkit_website_data_manager_get_indexeddb_directory(manager.get()));
- g_assert_null(webkit_website_data_manager_get_websql_directory(manager.get()));
// Configuration is ignored when is-ephemeral is used.
manager = adoptGRef(WEBKIT_WEBSITE_DATA_MANAGER(g_object_new(WEBKIT_TYPE_WEBSITE_DATA_MANAGER, "base-data-directory", Test::dataDirectory(), "is-ephemeral", TRUE, nullptr)));
@@ -416,7 +405,7 @@
static void testWebsiteDataDatabases(WebsiteDataTest* test, gconstpointer)
{
- static const WebKitWebsiteDataTypes databaseTypes = static_cast<WebKitWebsiteDataTypes>(WEBKIT_WEBSITE_DATA_WEBSQL_DATABASES | WEBKIT_WEBSITE_DATA_INDEXEDDB_DATABASES);
+ static const WebKitWebsiteDataTypes databaseTypes = static_cast<WebKitWebsiteDataTypes>(WEBKIT_WEBSITE_DATA_INDEXEDDB_DATABASES);
GList* dataList = test->fetch(databaseTypes);
g_assert_null(dataList);
@@ -445,7 +434,6 @@
g_assert_cmpuint(webkit_website_data_get_types(data), ==, databaseTypes);
// Database sizes are unknown.
g_assert_cmpuint(webkit_website_data_get_size(data, WEBKIT_WEBSITE_DATA_INDEXEDDB_DATABASES), ==, 0);
- g_assert_cmpuint(webkit_website_data_get_size(data, WEBKIT_WEBSITE_DATA_WEBSQL_DATABASES), ==, 0);
// Remove all databases at once.
GList removeList = { data, nullptr, nullptr };