WebKit Bugzilla
New
Browse
Search+
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
[patch]
Patch
bug-222561-20210301161804.patch (text/plain), 31.53 KB, created by
Michael Catanzaro
on 2021-03-01 14:18:04 PST
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Michael Catanzaro
Created:
2021-03-01 14:18:04 PST
Size:
31.53 KB
patch
obsolete
>Subversion Revision: 273672 >diff --git a/Source/WebKit/ChangeLog b/Source/WebKit/ChangeLog >index a3beafd0d01795cb16ef0a51a21d875bcef07177..421f34759266cc4444d933579144ba3abbde5719 100644 >--- a/Source/WebKit/ChangeLog >+++ b/Source/WebKit/ChangeLog >@@ -1,3 +1,41 @@ >+2021-03-01 Michael Catanzaro <mcatanzaro@gnome.org> >+ >+ [WPE][GTK] Remove webkit_website_data_manager_[get,set]_tls_errors_policy >+ https://bugs.webkit.org/show_bug.cgi?id=222561 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ We had to deprecate webkit_web_context_[get,set]_tls_errors_policy and replace them with >+ webkit_website_data_manager_[get,set]_tls_errors_policy. But this is a really weird place to >+ configure TLS errors policy, since it is not related to website data. I realized that there >+ is no good reason for having an API to turn off TLS errors in 2021; no application should >+ ever want to use it, as anything ignoring TLS errors should be using >+ webkit_web_context_allow_tls_certificate_for_host instead. So let's just remove the new >+ versions of the API, and leave the old ones deprecated without replacement. >+ >+ This still leaves webkit_website_data_manager_set_network_proxy_settings, also new in 2.32 >+ and outrageously misplaced. But that is harder to fix in the 2.32 timeframe. I created >+ bug #222366 to track that, and we can try to remove it for the GTK 4 API. >+ >+ * UIProcess/API/glib/WebKitAutomationSession.cpp: >+ (webkitAutomationSessionCreate): >+ * UIProcess/API/glib/WebKitWebContext.cpp: >+ (webkit_web_context_set_tls_errors_policy): >+ (webkit_web_context_get_tls_errors_policy): >+ * UIProcess/API/glib/WebKitWebView.cpp: >+ (webkitWebViewConstructed): >+ (webkitWebViewLoadFailedWithTLSErrors): >+ * UIProcess/API/glib/WebKitWebsiteDataManager.cpp: >+ (webkitWebsiteDataManagerSetTLSErrorsPolicy): >+ (webkitWebsiteDataManagerGetTLSErrorsPolicy): >+ (webkit_website_data_manager_set_tls_errors_policy): Deleted. >+ (webkit_website_data_manager_get_tls_errors_policy): Deleted. >+ * UIProcess/API/glib/WebKitWebsiteDataManagerPrivate.h: >+ * UIProcess/API/gtk/WebKitWebsiteDataManager.h: >+ * UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt: >+ * UIProcess/API/wpe/WebKitWebsiteDataManager.h: >+ * UIProcess/API/wpe/docs/wpe-1.0-sections.txt: >+ > 2021-03-01 Said Abou-Hallawa <said@apple.com> > > [GPU Process] Some DisplayList items may not be replayed back before calling getImageData() >diff --git a/Source/WebKit/UIProcess/API/glib/WebKitAutomationSession.cpp b/Source/WebKit/UIProcess/API/glib/WebKitAutomationSession.cpp >index 43afd3549775d1a3e0a931730b18fea84f9727ff..4f49461644eba64747f58f60635f3e64bbb44c20 100644 >--- a/Source/WebKit/UIProcess/API/glib/WebKitAutomationSession.cpp >+++ b/Source/WebKit/UIProcess/API/glib/WebKitAutomationSession.cpp >@@ -25,6 +25,7 @@ > #include "WebKitAutomationSessionPrivate.h" > #include "WebKitWebContextPrivate.h" > #include "WebKitWebViewPrivate.h" >+#include "WebKitWebsiteDataManagerPrivate.h" > #include <glib/gi18n-lib.h> > #include <wtf/glib/WTFGType.h> > #include <wtf/text/CString.h> >@@ -350,7 +351,7 @@ WebKitAutomationSession* webkitAutomationSessionCreate(WebKitWebContext* webCont > auto* session = WEBKIT_AUTOMATION_SESSION(g_object_new(WEBKIT_TYPE_AUTOMATION_SESSION, "id", sessionID, nullptr)); > session->priv->webContext = webContext; > if (capabilities.acceptInsecureCertificates) >- webkit_website_data_manager_set_tls_errors_policy(webkit_web_context_get_website_data_manager(webContext), WEBKIT_TLS_ERRORS_POLICY_IGNORE); >+ webkitWebsiteDataManagerSetTLSErrorsPolicy(webkit_web_context_get_website_data_manager(webContext), WEBKIT_TLS_ERRORS_POLICY_IGNORE); > > for (auto& certificate : capabilities.certificates) { > GRefPtr<GTlsCertificate> tlsCertificate = adoptGRef(g_tls_certificate_new_from_file(certificate.second.utf8().data(), nullptr)); >diff --git a/Source/WebKit/UIProcess/API/glib/WebKitWebContext.cpp b/Source/WebKit/UIProcess/API/glib/WebKitWebContext.cpp >index 2bbe1a72728ce776f3a140fefdde2a53207eff25..0e6cf13d1771ff426543f345000d5718ee5f3264 100644 >--- a/Source/WebKit/UIProcess/API/glib/WebKitWebContext.cpp >+++ b/Source/WebKit/UIProcess/API/glib/WebKitWebContext.cpp >@@ -929,6 +929,8 @@ void webkit_web_context_clear_cache(WebKitWebContext* context) > * Since: 2.16 > * > * Deprecated: 2.32. Use webkit_website_data_manager_set_network_proxy_settings() instead. >+ * This function will no longer work properly for a #WebKitWebView in @context that uses a >+ * #WebKitWebsiteDataManager that is not @context's #WebKitWebsiteDataManager. > */ > void webkit_web_context_set_network_proxy_settings(WebKitWebContext* context, WebKitNetworkProxyMode proxyMode, WebKitNetworkProxySettings* proxySettings) > { >@@ -1473,13 +1475,15 @@ void webkit_web_context_set_preferred_languages(WebKitWebContext* context, const > * > * Set the TLS errors policy of @context as @policy > * >- * Deprecated: 2.32. Use webkit_website_data_manager_set_tls_errors_policy() instead. >+ * Deprecated: 2.32. Do not ignore TLS errors. This function will no longer work >+ * properly for a #WebKitWebView in @context that uses a #WebKitWebsiteDataManager >+ * that is not @context's #WebKitWebsiteDataManager. > */ > void webkit_web_context_set_tls_errors_policy(WebKitWebContext* context, WebKitTLSErrorsPolicy policy) > { > g_return_if_fail(WEBKIT_IS_WEB_CONTEXT(context)); > >- webkit_website_data_manager_set_tls_errors_policy(context->priv->websiteDataManager.get(), policy); >+ webkitWebsiteDataManagerSetTLSErrorsPolicy(context->priv->websiteDataManager.get(), policy); > } > > /** >@@ -1490,13 +1494,15 @@ void webkit_web_context_set_tls_errors_policy(WebKitWebContext* context, WebKitT > * > * Returns: a #WebKitTLSErrorsPolicy > * >- * Deprecated: 2.32. Use webkit_website_data_manager_get_tls_errors_policy() instead. >+ * Deprecated: 2.32. Do not ignore TLS errors. This function will no longer work >+ * properly for a #WebKitWebView in @context that uses a #WebKitWebsiteDataManager >+ * that is not @context's #WebKitWebsiteDataManager. > */ > WebKitTLSErrorsPolicy webkit_web_context_get_tls_errors_policy(WebKitWebContext* context) > { > g_return_val_if_fail(WEBKIT_IS_WEB_CONTEXT(context), WEBKIT_TLS_ERRORS_POLICY_IGNORE); > >- return webkit_website_data_manager_get_tls_errors_policy(context->priv->websiteDataManager.get()); >+ return webkitWebsiteDataManagerGetTLSErrorsPolicy(context->priv->websiteDataManager.get()); > } > > /** >diff --git a/Source/WebKit/UIProcess/API/glib/WebKitWebView.cpp b/Source/WebKit/UIProcess/API/glib/WebKitWebView.cpp >index d1a9b7bae144f9adcdb093c66f12550e8f490680..632ec4649558f6d63eb2b4324cedd36685b7c1e0 100644 >--- a/Source/WebKit/UIProcess/API/glib/WebKitWebView.cpp >+++ b/Source/WebKit/UIProcess/API/glib/WebKitWebView.cpp >@@ -759,7 +759,7 @@ static void webkitWebViewConstructed(GObject* object) > if (priv->isEphemeral && !webkit_web_context_is_ephemeral(priv->context.get())) { > priv->websiteDataManager = adoptGRef(webkit_website_data_manager_new_ephemeral()); > auto* contextDataManager = webkit_web_context_get_website_data_manager(priv->context.get()); >- webkit_website_data_manager_set_tls_errors_policy(priv->websiteDataManager.get(), webkit_website_data_manager_get_tls_errors_policy(contextDataManager)); >+ webkitWebsiteDataManagerSetTLSErrorsPolicy(priv->websiteDataManager.get(), webkitWebsiteDataManagerGetTLSErrorsPolicy(contextDataManager)); > auto proxySettings = webkitWebsiteDataManagerGetDataStore(contextDataManager).networkProxySettings(); > webkitWebsiteDataManagerGetDataStore(priv->websiteDataManager.get()).setNetworkProxySettings(WTFMove(proxySettings)); > } >@@ -2374,7 +2374,7 @@ void webkitWebViewLoadFailedWithTLSErrors(WebKitWebView* webView, const char* fa > webkitWebViewCompleteAuthenticationRequest(webView); > > auto* websiteDataManager = webkit_web_view_get_website_data_manager(webView); >- WebKitTLSErrorsPolicy tlsErrorsPolicy = webkit_website_data_manager_get_tls_errors_policy(websiteDataManager); >+ WebKitTLSErrorsPolicy tlsErrorsPolicy = webkitWebsiteDataManagerGetTLSErrorsPolicy(websiteDataManager); > if (tlsErrorsPolicy == WEBKIT_TLS_ERRORS_POLICY_FAIL) { > gboolean returnValue; > g_signal_emit(webView, signals[LOAD_FAILED_WITH_TLS_ERRORS], 0, failingURI, certificate, tlsErrors, &returnValue); >diff --git a/Source/WebKit/UIProcess/API/glib/WebKitWebsiteDataManager.cpp b/Source/WebKit/UIProcess/API/glib/WebKitWebsiteDataManager.cpp >index 4c4ef5d68ac3a1b5cb6acb9559a8fd53fabd18e7..1131ca805bb8ee0a22169db9431f1a23a8fe3fbf 100644 >--- a/Source/WebKit/UIProcess/API/glib/WebKitWebsiteDataManager.cpp >+++ b/Source/WebKit/UIProcess/API/glib/WebKitWebsiteDataManager.cpp >@@ -893,16 +893,7 @@ gboolean webkit_website_data_manager_get_persistent_credential_storage_enabled(W > return webkitWebsiteDataManagerGetDataStore(manager).persistentCredentialStorageEnabled(); > } > >-/** >- * webkit_website_data_manager_set_tls_errors_policy: >- * @manager: a #WebKitWebsiteDataManager >- * @policy: a #WebKitTLSErrorsPolicy >- * >- * Set the TLS errors policy of @manager as @policy >- * >- * Since: 2.32 >- */ >-void webkit_website_data_manager_set_tls_errors_policy(WebKitWebsiteDataManager* manager, WebKitTLSErrorsPolicy policy) >+void webkitWebsiteDataManagerSetTLSErrorsPolicy(WebKitWebsiteDataManager* manager, WebKitTLSErrorsPolicy policy) > { > g_return_if_fail(WEBKIT_IS_WEBSITE_DATA_MANAGER(manager)); > >@@ -913,17 +904,7 @@ void webkit_website_data_manager_set_tls_errors_policy(WebKitWebsiteDataManager* > webkitWebsiteDataManagerGetDataStore(manager).setIgnoreTLSErrors(policy == WEBKIT_TLS_ERRORS_POLICY_IGNORE); > } > >-/** >- * webkit_website_data_manager_get_tls_errors_policy: >- * @manager: a #WebKitWebsiteDataManager >- * >- * Get the TLS errors policy of @manager >- * >- * Returns: a #WebKitTLSErrorsPolicy >- * >- * Since: 2.32 >- */ >-WebKitTLSErrorsPolicy webkit_website_data_manager_get_tls_errors_policy(WebKitWebsiteDataManager* manager) >+WebKitTLSErrorsPolicy webkitWebsiteDataManagerGetTLSErrorsPolicy(WebKitWebsiteDataManager* manager) > { > g_return_val_if_fail(WEBKIT_IS_WEBSITE_DATA_MANAGER(manager), WEBKIT_TLS_ERRORS_POLICY_FAIL); > >diff --git a/Source/WebKit/UIProcess/API/glib/WebKitWebsiteDataManagerPrivate.h b/Source/WebKit/UIProcess/API/glib/WebKitWebsiteDataManagerPrivate.h >index fc9e8226fbb8f894a7e1ed7db455542a15887738..cbfa15dc37a3153c76ed24aecffddb90a1bb76a8 100644 >--- a/Source/WebKit/UIProcess/API/glib/WebKitWebsiteDataManagerPrivate.h >+++ b/Source/WebKit/UIProcess/API/glib/WebKitWebsiteDataManagerPrivate.h >@@ -22,3 +22,6 @@ > #include "WebsiteDataStore.h" > > WebKit::WebsiteDataStore& webkitWebsiteDataManagerGetDataStore(WebKitWebsiteDataManager*); >+ >+WebKitTLSErrorsPolicy webkitWebsiteDataManagerGetTLSErrorsPolicy(WebKitWebsiteDataManager*); >+void webkitWebsiteDataManagerSetTLSErrorsPolicy(WebKitWebsiteDataManager*, WebKitTLSErrorsPolicy); >diff --git a/Source/WebKit/UIProcess/API/gtk/WebKitWebsiteDataManager.h b/Source/WebKit/UIProcess/API/gtk/WebKitWebsiteDataManager.h >index 567cd0e98bdb3c5d40dc98ed2cd11bdc67d6566f..b1ec4ac199798db5a68975706fd618c62a7f65a7 100644 >--- a/Source/WebKit/UIProcess/API/gtk/WebKitWebsiteDataManager.h >+++ b/Source/WebKit/UIProcess/API/gtk/WebKitWebsiteDataManager.h >@@ -135,13 +135,6 @@ webkit_website_data_manager_set_persistent_credential_storage_enabled (WebKitWeb > WEBKIT_API gboolean > webkit_website_data_manager_get_persistent_credential_storage_enabled (WebKitWebsiteDataManager *manager); > >-WEBKIT_API void >-webkit_website_data_manager_set_tls_errors_policy (WebKitWebsiteDataManager *manager, >- WebKitTLSErrorsPolicy policy); >- >-WEBKIT_API WebKitTLSErrorsPolicy >-webkit_website_data_manager_get_tls_errors_policy (WebKitWebsiteDataManager *manager); >- > WEBKIT_API void > webkit_website_data_manager_set_network_proxy_settings (WebKitWebsiteDataManager *manager, > WebKitNetworkProxyMode proxy_mode, >diff --git a/Source/WebKit/UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt b/Source/WebKit/UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt >index f1cfa44c727834bd10ba77e7933e90f899f80a7a..21ebc1060ef2aef884d5292ec8876c24ee380f07 100644 >--- a/Source/WebKit/UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt >+++ b/Source/WebKit/UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt >@@ -1492,8 +1492,6 @@ webkit_website_data_manager_set_itp_enabled > webkit_website_data_manager_get_itp_enabled > webkit_website_data_manager_set_persistent_credential_storage_enabled > webkit_website_data_manager_get_persistent_credential_storage_enabled >-webkit_website_data_manager_set_tls_errors_policy >-webkit_website_data_manager_get_tls_errors_policy > webkit_website_data_manager_set_network_proxy_settings > webkit_website_data_manager_fetch > webkit_website_data_manager_fetch_finish >diff --git a/Source/WebKit/UIProcess/API/wpe/WebKitWebsiteDataManager.h b/Source/WebKit/UIProcess/API/wpe/WebKitWebsiteDataManager.h >index 03d318627677a2c40bf4fafc0af9cc5fdbb4b6f4..d50ad5dd7387cebf1deccb7f1aaee0c8051a59f7 100644 >--- a/Source/WebKit/UIProcess/API/wpe/WebKitWebsiteDataManager.h >+++ b/Source/WebKit/UIProcess/API/wpe/WebKitWebsiteDataManager.h >@@ -135,13 +135,6 @@ webkit_website_data_manager_set_persistent_credential_storage_enabled (WebKitWeb > WEBKIT_API gboolean > webkit_website_data_manager_get_persistent_credential_storage_enabled (WebKitWebsiteDataManager *manager); > >-WEBKIT_API void >-webkit_website_data_manager_set_tls_errors_policy (WebKitWebsiteDataManager *manager, >- WebKitTLSErrorsPolicy policy); >- >-WEBKIT_API WebKitTLSErrorsPolicy >-webkit_website_data_manager_get_tls_errors_policy (WebKitWebsiteDataManager *manager); >- > WEBKIT_API void > webkit_website_data_manager_set_network_proxy_settings (WebKitWebsiteDataManager *manager, > WebKitNetworkProxyMode proxy_mode, >diff --git a/Source/WebKit/UIProcess/API/wpe/docs/wpe-1.0-sections.txt b/Source/WebKit/UIProcess/API/wpe/docs/wpe-1.0-sections.txt >index 825d5100b6a69acf5a7a209538376d2c852dbac8..b9829e8d97a71cb51d30c3ffa35d71b8f29ee7a7 100644 >--- a/Source/WebKit/UIProcess/API/wpe/docs/wpe-1.0-sections.txt >+++ b/Source/WebKit/UIProcess/API/wpe/docs/wpe-1.0-sections.txt >@@ -1426,8 +1426,6 @@ webkit_website_data_manager_set_itp_enabled > webkit_website_data_manager_get_itp_enabled > webkit_website_data_manager_set_persistent_credential_storage_enabled > webkit_website_data_manager_get_persistent_credential_storage_enabled >-webkit_website_data_manager_set_tls_errors_policy >-webkit_website_data_manager_get_tls_errors_policy > webkit_website_data_manager_set_network_proxy_settings > webkit_website_data_manager_fetch > webkit_website_data_manager_fetch_finish >diff --git a/Tools/ChangeLog b/Tools/ChangeLog >index 0a7603a04572db159a5c189a71c9755c65339e9e..5aa679ab0ef30ce1785e15f20fa91fa2fbbe8939 100644 >--- a/Tools/ChangeLog >+++ b/Tools/ChangeLog >@@ -1,3 +1,35 @@ >+2021-03-01 Michael Catanzaro <mcatanzaro@gnome.org> >+ >+ [WPE][GTK] Remove webkit_website_data_manager_[get,set]_tls_errors_policy >+ https://bugs.webkit.org/show_bug.cgi?id=222561 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ Adjust MiniBrowser to remove this antifeature. >+ >+ Adjust the tests to no longer change the TLS errors policy. >+ >+ Exception: to avoid deleting the entirety of testInsecureContent, this one can use the >+ deprecated WebKitWebContext API for now. This test can be removed when bug #219396 is >+ fixed. >+ >+ * MiniBrowser/gtk/main.c: >+ (activate): >+ * MiniBrowser/wpe/main.cpp: >+ (main): >+ * TestWebKitAPI/Tests/WebKitGLib/TestSSL.cpp: >+ (testTLSErrors): >+ (testTLSErrorsRedirect): >+ (testTLSErrorsHTTPAuth): >+ (testLoadFailedWithTLSErrors): >+ (testSubresourceLoadFailedWithTLSErrors): >+ (testWebSocketTLSErrors): >+ (testTLSErrorsEphemeral): >+ (beforeAll): >+ (testSSL): Deleted. >+ (testInsecureContent): >+ (testTLSErrorsPolicy): Deleted. >+ > 2021-03-01 Megan Gardner <megan_gardner@apple.com> > > Restoring App Highlight crashes if no range is found. >diff --git a/Tools/MiniBrowser/gtk/main.c b/Tools/MiniBrowser/gtk/main.c >index b4ad6cad7ee375d92cb12a4f168418e67fe1afb6..26eb9a247a08a9ea132f20409b1fe4fc628c03c1 100644 >--- a/Tools/MiniBrowser/gtk/main.c >+++ b/Tools/MiniBrowser/gtk/main.c >@@ -45,7 +45,6 @@ static char *geometry; > static gboolean privateMode; > static gboolean automationMode; > static gboolean fullScreen; >-static gboolean ignoreTLSErrors; > static const char *contentFilter; > static const char *cookiesFile; > static const char *cookiesPolicy; >@@ -142,7 +141,6 @@ static const GOptionEntry commandLineOptions[] = > { "cookies-policy", 0, 0, G_OPTION_ARG_STRING, &cookiesPolicy, "Cookies accept policy (always, never, no-third-party). Default: no-third-party", "POLICY" }, > { "proxy", 0, 0, G_OPTION_ARG_STRING, &proxy, "Set proxy", "PROXY" }, > { "ignore-host", 0, 0, G_OPTION_ARG_STRING_ARRAY, &ignoreHosts, "Set proxy ignore hosts", "HOSTS" }, >- { "ignore-tls-errors", 0, 0, G_OPTION_ARG_NONE, &ignoreTLSErrors, "Ignore TLS errors", NULL }, > { "content-filter", 0, 0, G_OPTION_ARG_FILENAME, &contentFilter, "JSON with content filtering rules", "FILE" }, > { "enable-itp", 0, 0, G_OPTION_ARG_NONE, &enableITP, "Enable Intelligent Tracking Prevention (ITP)", NULL }, > { "exit-after-load", 0, 0, G_OPTION_ARG_NONE, &exitAfterLoad, "Quit the browser after the load finishes", NULL }, >@@ -664,9 +662,6 @@ static void activate(GApplication *application, WebKitSettings *webkitSettings) > webkit_network_proxy_settings_free(webkitProxySettings); > } > >- if (ignoreTLSErrors) >- webkit_website_data_manager_set_tls_errors_policy(manager, WEBKIT_TLS_ERRORS_POLICY_IGNORE); >- > WebKitWebContext *webContext = g_object_new(WEBKIT_TYPE_WEB_CONTEXT, "website-data-manager", manager, "process-swap-on-cross-site-navigation-enabled", TRUE, > #if !GTK_CHECK_VERSION(3, 98, 0) > "use-system-appearance-for-scrollbars", FALSE, >diff --git a/Tools/MiniBrowser/wpe/main.cpp b/Tools/MiniBrowser/wpe/main.cpp >index 2ab04ce061cffbfcbbc4e64c6683996b672abbce..26f0e7f83bbe5fed45cbefb065745b2e21108f71 100644 >--- a/Tools/MiniBrowser/wpe/main.cpp >+++ b/Tools/MiniBrowser/wpe/main.cpp >@@ -39,7 +39,6 @@ static const char** ignoreHosts; > static gboolean headlessMode; > static gboolean privateMode; > static gboolean automationMode; >-static gboolean ignoreTLSErrors; > static const char* contentFilter; > static const char* cookiesFile; > static const char* cookiesPolicy; >@@ -58,7 +57,6 @@ static const GOptionEntry commandLineOptions[] = > { "cookies-policy", 0, 0, G_OPTION_ARG_STRING, &cookiesPolicy, "Cookies accept policy (always, never, no-third-party). Default: no-third-party", "POLICY" }, > { "proxy", 0, 0, G_OPTION_ARG_STRING, &proxy, "Set proxy", "PROXY" }, > { "ignore-host", 0, 0, G_OPTION_ARG_STRING_ARRAY, &ignoreHosts, "Set proxy ignore hosts", "HOSTS" }, >- { "ignore-tls-errors", 0, 0, G_OPTION_ARG_NONE, &ignoreTLSErrors, "Ignore TLS errors", nullptr }, > { "content-filter", 0, 0, G_OPTION_ARG_FILENAME, &contentFilter, "JSON with content filtering rules", "FILE" }, > { "bg-color", 0, 0, G_OPTION_ARG_STRING, &bgColor, "Window background color. Default: white", "COLOR" }, > { "enable-itp", 0, 0, G_OPTION_ARG_NONE, &enableITP, "Enable Intelligent Tracking Prevention (ITP)", nullptr }, >@@ -225,9 +223,6 @@ int main(int argc, char *argv[]) > webkit_network_proxy_settings_free(webkitProxySettings); > } > >- if (ignoreTLSErrors) >- webkit_website_data_manager_set_tls_errors_policy(manager, WEBKIT_TLS_ERRORS_POLICY_IGNORE); >- > auto* webContext = webkit_web_context_new_with_website_data_manager(manager); > g_object_unref(manager); > >diff --git a/Tools/TestWebKitAPI/Tests/WebKitGLib/TestSSL.cpp b/Tools/TestWebKitAPI/Tests/WebKitGLib/TestSSL.cpp >index c5611073c6c1515a7b28485aaf7445b6746c46f4..6fbf1e3e9bef4939f4326713a2e423f4b2c0c798 100644 >--- a/Tools/TestWebKitAPI/Tests/WebKitGLib/TestSSL.cpp >+++ b/Tools/TestWebKitAPI/Tests/WebKitGLib/TestSSL.cpp >@@ -65,30 +65,6 @@ public: > GTlsCertificateFlags m_tlsErrors; > }; > >-static void testSSL(SSLTest* test, gconstpointer) >-{ >- auto* websiteDataManager = webkit_web_context_get_website_data_manager(test->m_webContext.get()); >- WebKitTLSErrorsPolicy originalPolicy = webkit_website_data_manager_get_tls_errors_policy(websiteDataManager); >- webkit_website_data_manager_set_tls_errors_policy(websiteDataManager, WEBKIT_TLS_ERRORS_POLICY_IGNORE); >- >- test->loadURI(kHttpsServer->getURIForPath("/").data()); >- test->waitUntilLoadFinished(); >- g_assert_nonnull(test->m_certificate); >- // Self-signed certificate has a nullptr issuer. >- g_assert_null(g_tls_certificate_get_issuer(test->m_certificate.get())); >- // We always expect errors because we are using a self-signed certificate, >- // but only G_TLS_CERTIFICATE_UNKNOWN_CA flags should be present. >- g_assert_cmpuint(test->m_tlsErrors, ==, G_TLS_CERTIFICATE_UNKNOWN_CA); >- >- // Non HTTPS loads shouldn't have a certificate nor errors. >- test->loadHtml(indexHTML, 0); >- test->waitUntilLoadFinished(); >- g_assert_null(test->m_certificate); >- g_assert_cmpuint(test->m_tlsErrors, ==, 0); >- >- webkit_website_data_manager_set_tls_errors_policy(websiteDataManager, originalPolicy); >-} >- > class InsecureContentTest: public WebViewTest { > public: > MAKE_GLIB_TEST_FIXTURE(InsecureContentTest); >@@ -117,9 +93,10 @@ public: > > static void testInsecureContent(InsecureContentTest* test, gconstpointer) > { >- auto* websiteDataManager = webkit_web_context_get_website_data_manager(test->m_webContext.get()); >- WebKitTLSErrorsPolicy originalPolicy = webkit_website_data_manager_get_tls_errors_policy(websiteDataManager); >- webkit_website_data_manager_set_tls_errors_policy(websiteDataManager, WEBKIT_TLS_ERRORS_POLICY_IGNORE); >+ ALLOW_DEPRECATED_DECLARATIONS_BEGIN >+ WebKitTLSErrorsPolicy originalPolicy = webkit_web_context_get_tls_errors_policy(test->m_webContext.get()); >+ webkit_web_context_set_tls_errors_policy(test->m_webContext.get(), WEBKIT_TLS_ERRORS_POLICY_IGNORE); >+ ALLOW_DEPRECATED_DECLARATIONS_END > > test->loadURI(kHttpsServer->getURIForPath("/insecure-content/").data()); > test->waitUntilLoadFinished(); >@@ -129,17 +106,15 @@ static void testInsecureContent(InsecureContentTest* test, gconstpointer) > // https://bugs.webkit.org/show_bug.cgi?id=142469 > g_assert_true(test->m_insecureContentDisplayed); > >- webkit_website_data_manager_set_tls_errors_policy(websiteDataManager, originalPolicy); >+ ALLOW_DEPRECATED_DECLARATIONS_BEGIN >+ webkit_web_context_set_tls_errors_policy(test->m_webContext.get(), originalPolicy); >+ ALLOW_DEPRECATED_DECLARATIONS_END > } > > static bool assertIfSSLRequestProcessed = false; > >-static void testTLSErrorsPolicy(SSLTest* test, gconstpointer) >+static void testTLSErrors(SSLTest* test, gconstpointer) > { >- auto* websiteDataManager = webkit_web_context_get_website_data_manager(test->m_webContext.get()); >- // TLS errors are treated as transport failures by default. >- g_assert_cmpint(webkit_website_data_manager_get_tls_errors_policy(websiteDataManager), ==, WEBKIT_TLS_ERRORS_POLICY_FAIL); >- > assertIfSSLRequestProcessed = true; > test->loadURI(kHttpsServer->getURIForPath("/").data()); > test->waitUntilLoadFinished(); >@@ -147,39 +122,10 @@ static void testTLSErrorsPolicy(SSLTest* test, gconstpointer) > g_assert_true(test->m_loadEvents.contains(LoadTrackingTest::ProvisionalLoadFailed)); > g_assert_false(test->m_loadEvents.contains(LoadTrackingTest::LoadCommitted)); > assertIfSSLRequestProcessed = false; >- >- webkit_website_data_manager_set_tls_errors_policy(websiteDataManager, WEBKIT_TLS_ERRORS_POLICY_IGNORE); >- g_assert_cmpint(webkit_website_data_manager_get_tls_errors_policy(websiteDataManager), ==, WEBKIT_TLS_ERRORS_POLICY_IGNORE); >- >- test->m_loadFailed = false; >- test->loadURI(kHttpsServer->getURIForPath("/").data()); >- test->waitUntilLoadFinished(); >- g_assert_false(test->m_loadFailed); >- >- // An ephemeral web view should keep the same network settings by default. >- auto webView = Test::adoptView(g_object_new(WEBKIT_TYPE_WEB_VIEW, >-#if PLATFORM(WPE) >- "backend", Test::createWebViewBackend(), >-#endif >- "web-context", test->m_webContext.get(), >- "is-ephemeral", TRUE, >- nullptr)); >- g_assert_true(webkit_web_view_is_ephemeral(webView.get())); >- g_assert_false(webkit_web_context_is_ephemeral(test->m_webContext.get())); >- auto* webViewDataManager = webkit_web_view_get_website_data_manager(webView.get()); >- g_assert_false(websiteDataManager == webViewDataManager); >- g_assert_cmpint(webkit_website_data_manager_get_tls_errors_policy(websiteDataManager), ==, webkit_website_data_manager_get_tls_errors_policy(webViewDataManager)); >- >- webkit_website_data_manager_set_tls_errors_policy(websiteDataManager, WEBKIT_TLS_ERRORS_POLICY_FAIL); >- g_assert_cmpint(webkit_website_data_manager_get_tls_errors_policy(websiteDataManager), ==, WEBKIT_TLS_ERRORS_POLICY_FAIL); > } > > static void testTLSErrorsRedirect(SSLTest* test, gconstpointer) > { >- auto* websiteDataManager = webkit_web_context_get_website_data_manager(test->m_webContext.get()); >- WebKitTLSErrorsPolicy originalPolicy = webkit_website_data_manager_get_tls_errors_policy(websiteDataManager); >- webkit_website_data_manager_set_tls_errors_policy(websiteDataManager, WEBKIT_TLS_ERRORS_POLICY_FAIL); >- > assertIfSSLRequestProcessed = true; > test->loadURI(kHttpsServer->getURIForPath("/redirect").data()); > test->waitUntilLoadFinished(); >@@ -187,8 +133,6 @@ static void testTLSErrorsRedirect(SSLTest* test, gconstpointer) > g_assert_true(test->m_loadEvents.contains(LoadTrackingTest::ProvisionalLoadFailed)); > g_assert_false(test->m_loadEvents.contains(LoadTrackingTest::LoadCommitted)); > assertIfSSLRequestProcessed = false; >- >- webkit_website_data_manager_set_tls_errors_policy(websiteDataManager, originalPolicy); > } > > static gboolean webViewAuthenticationCallback(WebKitWebView*, WebKitAuthenticationRequest* request) >@@ -200,10 +144,6 @@ static gboolean webViewAuthenticationCallback(WebKitWebView*, WebKitAuthenticati > > static void testTLSErrorsHTTPAuth(SSLTest* test, gconstpointer) > { >- auto* websiteDataManager = webkit_web_context_get_website_data_manager(test->m_webContext.get()); >- WebKitTLSErrorsPolicy originalPolicy = webkit_website_data_manager_get_tls_errors_policy(websiteDataManager); >- webkit_website_data_manager_set_tls_errors_policy(websiteDataManager, WEBKIT_TLS_ERRORS_POLICY_FAIL); >- > assertIfSSLRequestProcessed = true; > g_signal_connect(test->m_webView, "authenticate", G_CALLBACK(webViewAuthenticationCallback), NULL); > test->loadURI(kHttpsServer->getURIForPath("/auth").data()); >@@ -212,8 +152,6 @@ static void testTLSErrorsHTTPAuth(SSLTest* test, gconstpointer) > g_assert_true(test->m_loadEvents.contains(LoadTrackingTest::ProvisionalLoadFailed)); > g_assert_false(test->m_loadEvents.contains(LoadTrackingTest::LoadCommitted)); > assertIfSSLRequestProcessed = false; >- >- webkit_website_data_manager_set_tls_errors_policy(websiteDataManager, originalPolicy); > } > > class TLSErrorsTest: public SSLTest { >@@ -248,10 +186,6 @@ private: > > static void testLoadFailedWithTLSErrors(TLSErrorsTest* test, gconstpointer) > { >- auto* websiteDataManager = webkit_web_context_get_website_data_manager(test->m_webContext.get()); >- WebKitTLSErrorsPolicy originalPolicy = webkit_website_data_manager_get_tls_errors_policy(websiteDataManager); >- webkit_website_data_manager_set_tls_errors_policy(websiteDataManager, WEBKIT_TLS_ERRORS_POLICY_FAIL); >- > assertIfSSLRequestProcessed = true; > // The load-failed-with-tls-errors signal should be emitted when there is a TLS failure. > test->loadURI(kHttpsServer->getURIForPath("/test-tls/").data()); >@@ -274,8 +208,6 @@ static void testLoadFailedWithTLSErrors(TLSErrorsTest* test, gconstpointer) > g_assert_cmpint(test->m_loadEvents[1], ==, LoadTrackingTest::LoadCommitted); > g_assert_cmpint(test->m_loadEvents[2], ==, LoadTrackingTest::LoadFinished); > g_assert_cmpstr(webkit_web_view_get_title(test->m_webView), ==, TLSExpectedSuccessTitle); >- >- webkit_website_data_manager_set_tls_errors_policy(websiteDataManager, originalPolicy); > } > > class TLSSubresourceTest : public WebViewTest { >@@ -334,9 +266,6 @@ public: > > static void testSubresourceLoadFailedWithTLSErrors(TLSSubresourceTest* test, gconstpointer) > { >- auto* websiteDataManager = webkit_web_context_get_website_data_manager(test->m_webContext.get()); >- webkit_website_data_manager_set_tls_errors_policy(websiteDataManager, WEBKIT_TLS_ERRORS_POLICY_FAIL); >- > assertIfSSLRequestProcessed = true; > test->loadURI(kHttpServer->getURIForPath("/").data()); > test->waitUntilSubresourceLoadFail(); >@@ -420,10 +349,6 @@ public: > > static void testWebSocketTLSErrors(WebSocketTest* test, gconstpointer) > { >- auto* websiteDataManager = webkit_web_context_get_website_data_manager(test->m_webContext.get()); >- WebKitTLSErrorsPolicy originalPolicy = webkit_website_data_manager_get_tls_errors_policy(websiteDataManager); >- webkit_website_data_manager_set_tls_errors_policy(websiteDataManager, WEBKIT_TLS_ERRORS_POLICY_FAIL); >- > // First, check that insecure ws:// web sockets work fine. > unsigned events = test->connectToServerAndWaitForEvents(kHttpServer); > g_assert_true(events); >@@ -438,15 +363,6 @@ static void testWebSocketTLSErrors(WebSocketTest* test, gconstpointer) > g_assert_false(events & WebSocketTest::EventFlags::DidServerCompleteHandshake); > g_assert_false(events & WebSocketTest::EventFlags::DidOpen); > g_assert_true(events & WebSocketTest::EventFlags::DidClose); >- >- // Now try wss:// again, this time ignoring TLS errors. >- webkit_website_data_manager_set_tls_errors_policy(websiteDataManager, WEBKIT_TLS_ERRORS_POLICY_IGNORE); >- events = test->connectToServerAndWaitForEvents(kHttpsServer); >- g_assert_true(events & WebSocketTest::EventFlags::DidServerCompleteHandshake); >- g_assert_true(events & WebSocketTest::EventFlags::DidOpen); >- g_assert_false(events & WebSocketTest::EventFlags::DidClose); >- >- webkit_website_data_manager_set_tls_errors_policy(websiteDataManager, originalPolicy); > } > > class EphemeralSSLTest : public SSLTest { >@@ -468,7 +384,6 @@ static void testTLSErrorsEphemeral(EphemeralSSLTest* test, gconstpointer) > { > auto* websiteDataManager = webkit_web_view_get_website_data_manager(test->m_webView); > g_assert_true(webkit_website_data_manager_is_ephemeral(websiteDataManager)); >- g_assert_cmpint(webkit_website_data_manager_get_tls_errors_policy(websiteDataManager), ==, WEBKIT_TLS_ERRORS_POLICY_FAIL); > > test->loadURI(kHttpsServer->getURIForPath("/").data()); > test->waitUntilLoadFinished(); >@@ -568,9 +483,8 @@ void beforeAll() > kHttpServer = new WebKitTestServer(); > kHttpServer->run(httpServerCallback); > >- SSLTest::add("WebKitWebView", "ssl", testSSL); > InsecureContentTest::add("WebKitWebView", "insecure-content", testInsecureContent); >- SSLTest::add("WebKitWebView", "tls-errors-policy", testTLSErrorsPolicy); >+ SSLTest::add("WebKitWebView", "tls-errors", testTLSErrors); > SSLTest::add("WebKitWebView", "tls-errors-redirect-to-http", testTLSErrorsRedirect); > SSLTest::add("WebKitWebView", "tls-http-auth", testTLSErrorsHTTPAuth); > TLSSubresourceTest::add("WebKitWebView", "tls-subresource", testSubresourceLoadFailedWithTLSErrors);
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Flags:
ews-feeder
:
commit-queue-
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 222561
: 421866