Title: [267524] trunk
Revision
267524
Author
[email protected]
Date
2020-09-24 02:17:14 -0700 (Thu, 24 Sep 2020)

Log Message

REGRESSION(r267502): [GTK][WPE] ephemeral WebKitWebsiteDataManager ignores TLS errors by default
https://bugs.webkit.org/show_bug.cgi?id=216919

Reviewed by Adrian Perez de Castro.

Source/WebKit:

Initialize ignoreTLSErrors on website data store for ephemeral sessions.

* UIProcess/API/glib/WebKitWebsiteDataManager.cpp:
(webkitWebsiteDataManagerConstructed):

Tools:

Add a test case to check we propagate the setting to the network process for ephemeral sessions too.

* TestWebKitAPI/Tests/WebKitGLib/TestSSL.cpp:
(EphemeralSSLTest::setup):
(EphemeralSSLTest::teardown):
(testTLSErrorsEphemeral):
(beforeAll):

Modified Paths

Diff

Modified: trunk/Source/WebKit/ChangeLog (267523 => 267524)


--- trunk/Source/WebKit/ChangeLog	2020-09-24 09:16:25 UTC (rev 267523)
+++ trunk/Source/WebKit/ChangeLog	2020-09-24 09:17:14 UTC (rev 267524)
@@ -1,5 +1,17 @@
 2020-09-24  Carlos Garcia Campos  <[email protected]>
 
+        REGRESSION(r267502): [GTK][WPE] ephemeral WebKitWebsiteDataManager ignores TLS errors by default
+        https://bugs.webkit.org/show_bug.cgi?id=216919
+
+        Reviewed by Adrian Perez de Castro.
+
+        Initialize ignoreTLSErrors on website data store for ephemeral sessions.
+
+        * UIProcess/API/glib/WebKitWebsiteDataManager.cpp:
+        (webkitWebsiteDataManagerConstructed):
+
+2020-09-24  Carlos Garcia Campos  <[email protected]>
+
         REGRESSION(r267502) [GLIB] Make WTR ignoreTLSErrors
         https://bugs.webkit.org/show_bug.cgi?id=216911
 

Modified: trunk/Source/WebKit/UIProcess/API/glib/WebKitWebsiteDataManager.cpp (267523 => 267524)


--- trunk/Source/WebKit/UIProcess/API/glib/WebKitWebsiteDataManager.cpp	2020-09-24 09:16:25 UTC (rev 267523)
+++ trunk/Source/WebKit/UIProcess/API/glib/WebKitWebsiteDataManager.cpp	2020-09-24 09:17:14 UTC (rev 267524)
@@ -244,6 +244,8 @@
     }
 
     priv->tlsErrorsPolicy = WEBKIT_TLS_ERRORS_POLICY_FAIL;
+    if (priv->websiteDataStore)
+        priv->websiteDataStore->setIgnoreTLSErrors(false);
 }
 
 static void webkit_website_data_manager_class_init(WebKitWebsiteDataManagerClass* findClass)

Modified: trunk/Tools/ChangeLog (267523 => 267524)


--- trunk/Tools/ChangeLog	2020-09-24 09:16:25 UTC (rev 267523)
+++ trunk/Tools/ChangeLog	2020-09-24 09:17:14 UTC (rev 267524)
@@ -1,3 +1,18 @@
+2020-09-24  Carlos Garcia Campos  <[email protected]>
+
+        REGRESSION(r267502): [GTK][WPE] ephemeral WebKitWebsiteDataManager ignores TLS errors by default
+        https://bugs.webkit.org/show_bug.cgi?id=216919
+
+        Reviewed by Adrian Perez de Castro.
+
+        Add a test case to check we propagate the setting to the network process for ephemeral sessions too.
+
+        * TestWebKitAPI/Tests/WebKitGLib/TestSSL.cpp:
+        (EphemeralSSLTest::setup):
+        (EphemeralSSLTest::teardown):
+        (testTLSErrorsEphemeral):
+        (beforeAll):
+
 2020-09-23  Antti Koivisto  <[email protected]>
 
         [Windows] Ignore render tree dump based results on Windows

Modified: trunk/Tools/TestWebKitAPI/Tests/WebKitGLib/TestSSL.cpp (267523 => 267524)


--- trunk/Tools/TestWebKitAPI/Tests/WebKitGLib/TestSSL.cpp	2020-09-24 09:16:25 UTC (rev 267523)
+++ trunk/Tools/TestWebKitAPI/Tests/WebKitGLib/TestSSL.cpp	2020-09-24 09:17:14 UTC (rev 267524)
@@ -453,6 +453,34 @@
     webkit_website_data_manager_set_tls_errors_policy(websiteDataManager, originalPolicy);
 }
 
+class EphemeralSSLTest : public SSLTest {
+public:
+    MAKE_GLIB_TEST_FIXTURE_WITH_SETUP_TEARDOWN(EphemeralSSLTest, setup, teardown);
+
+    static void setup()
+    {
+        WebViewTest::shouldCreateEphemeralWebView = true;
+    }
+
+    static void teardown()
+    {
+        WebViewTest::shouldCreateEphemeralWebView = false;
+    }
+};
+
+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();
+    g_assert_true(test->m_loadFailed);
+    g_assert_true(test->m_loadEvents.contains(LoadTrackingTest::ProvisionalLoadFailed));
+    g_assert_false(test->m_loadEvents.contains(LoadTrackingTest::LoadCommitted));
+}
+
 static void httpsServerCallback(SoupServer* server, SoupMessage* message, const char* path, GHashTable*, SoupClientContext*, gpointer)
 {
     if (message->method != SOUP_METHOD_GET) {
@@ -540,6 +568,7 @@
     TLSSubresourceTest::add("WebKitWebView", "tls-subresource", testSubresourceLoadFailedWithTLSErrors);
     TLSErrorsTest::add("WebKitWebView", "load-failed-with-tls-errors", testLoadFailedWithTLSErrors);
     WebSocketTest::add("WebKitWebView", "web-socket-tls-errors", testWebSocketTLSErrors);
+    EphemeralSSLTest::add("WebKitWebView", "ephemeral-tls-errors", testTLSErrorsEphemeral);
 }
 
 void afterAll()
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to