Title: [241013] trunk
Revision
241013
Author
[email protected]
Date
2019-02-06 00:05:57 -0800 (Wed, 06 Feb 2019)

Log Message

REGRESSION(r240785): [SOUP] Broke cookie persistent storage
https://bugs.webkit.org/show_bug.cgi?id=194209

Reviewed by Carlos Garcia Campos.

Source/WebKit:

I missed a spot when moving the persistent storage parameters from NetworkProcess to
NetworkSession. They have to be initialized separately for the default session.

* UIProcess/soup/WebProcessPoolSoup.cpp:
(WebKit::WebProcessPool::platformInitializeNetworkProcess):

Tools:

Enhance TestCookieManager to ensure this doesn't happen again.

* TestWebKitAPI/Tests/WebKitGLib/TestCookieManager.cpp:
(testCookieManagerPersistentStorage):
(beforeAll):

Modified Paths

Diff

Modified: trunk/Source/WebKit/ChangeLog (241012 => 241013)


--- trunk/Source/WebKit/ChangeLog	2019-02-06 07:54:43 UTC (rev 241012)
+++ trunk/Source/WebKit/ChangeLog	2019-02-06 08:05:57 UTC (rev 241013)
@@ -1,3 +1,16 @@
+2019-02-06  Michael Catanzaro  <[email protected]>
+
+        REGRESSION(r240785): [SOUP] Broke cookie persistent storage
+        https://bugs.webkit.org/show_bug.cgi?id=194209
+
+        Reviewed by Carlos Garcia Campos.
+
+        I missed a spot when moving the persistent storage parameters from NetworkProcess to
+        NetworkSession. They have to be initialized separately for the default session.
+
+        * UIProcess/soup/WebProcessPoolSoup.cpp:
+        (WebKit::WebProcessPool::platformInitializeNetworkProcess):
+
 2019-02-05  Alex Christensen  <[email protected]>
 
         Stop using blobRegistry in NetworkProcess

Modified: trunk/Source/WebKit/UIProcess/soup/WebProcessPoolSoup.cpp (241012 => 241013)


--- trunk/Source/WebKit/UIProcess/soup/WebProcessPoolSoup.cpp	2019-02-06 07:54:43 UTC (rev 241012)
+++ trunk/Source/WebKit/UIProcess/soup/WebProcessPoolSoup.cpp	2019-02-06 08:05:57 UTC (rev 241013)
@@ -38,6 +38,9 @@
 
 void WebProcessPool::platformInitializeNetworkProcess(NetworkProcessCreationParameters& parameters)
 {
+    NetworkSessionCreationParameters& defaultSessionParameters = parameters.defaultDataStoreParameters.networkSessionParameters;
+    supplement<WebCookieManagerProxy>()->getCookiePersistentStorage(defaultSessionParameters.sessionID, defaultSessionParameters.cookiePersistentStoragePath, defaultSessionParameters.cookiePersistentStorageType);
+
     parameters.cookieAcceptPolicy = m_initialHTTPCookieAcceptPolicy;
     parameters.ignoreTLSErrors = m_ignoreTLSErrors;
     parameters.languages = userPreferredLanguages();

Modified: trunk/Tools/ChangeLog (241012 => 241013)


--- trunk/Tools/ChangeLog	2019-02-06 07:54:43 UTC (rev 241012)
+++ trunk/Tools/ChangeLog	2019-02-06 08:05:57 UTC (rev 241013)
@@ -1,3 +1,16 @@
+2019-02-06  Michael Catanzaro  <[email protected]>
+
+        REGRESSION(r240785): [SOUP] Broke cookie persistent storage
+        https://bugs.webkit.org/show_bug.cgi?id=194209
+
+        Reviewed by Carlos Garcia Campos.
+
+        Enhance TestCookieManager to ensure this doesn't happen again.
+
+        * TestWebKitAPI/Tests/WebKitGLib/TestCookieManager.cpp:
+        (testCookieManagerPersistentStorage):
+        (beforeAll):
+
 2019-02-05  Wenson Hsieh  <[email protected]>
 
         Rename TestOptions.ignoreSynchronousMessagingTimeoutsForTesting

Modified: trunk/Tools/TestWebKitAPI/Tests/WebKitGLib/TestCookieManager.cpp (241012 => 241013)


--- trunk/Tools/TestWebKitAPI/Tests/WebKitGLib/TestCookieManager.cpp	2019-02-06 07:54:43 UTC (rev 241012)
+++ trunk/Tools/TestWebKitAPI/Tests/WebKitGLib/TestCookieManager.cpp	2019-02-06 08:05:57 UTC (rev 241013)
@@ -56,9 +56,9 @@
 
     CookieManagerTest()
         : WebViewTest()
-        , m_cookieManager(webkit_web_context_get_cookie_manager(webkit_web_view_get_context(m_webView)))
+        , m_cookieManager(webkit_web_context_get_cookie_manager(m_webContext.get()))
     {
-        g_assert_true(webkit_website_data_manager_get_cookie_manager(webkit_web_context_get_website_data_manager(webkit_web_view_get_context(m_webView))) == m_cookieManager);
+        g_assert_true(webkit_website_data_manager_get_cookie_manager(webkit_web_context_get_website_data_manager(m_webContext.get())) == m_cookieManager);
         g_signal_connect(m_cookieManager, "changed", G_CALLBACK(cookiesChangedCallback), this);
     }
 
@@ -535,10 +535,28 @@
     g_assert_true(test->m_cookiesChanged);
 }
 
-static void testCookieManagerPersistentStorage(CookieManagerTest* test, gconstpointer)
+class CookiePersistentStorageTest: public CookieManagerTest {
+public:
+    MAKE_GLIB_TEST_FIXTURE_WITH_SETUP_TEARDOWN(CookiePersistentStorageTest, setup, teardown);
+
+    static void setup()
+    {
+        WebViewTest::shouldInitializeWebViewInConstructor = false;
+    }
+
+    static void teardown()
+    {
+        WebViewTest::shouldInitializeWebViewInConstructor = true;
+    }
+};
+
+static void testCookieManagerPersistentStorage(CookiePersistentStorageTest* test, gconstpointer)
 {
     test->setAcceptPolicy(WEBKIT_COOKIE_POLICY_ACCEPT_ALWAYS);
 
+    g_unlink(test->m_cookiesTextFile.get());
+    g_unlink(test->m_cookiesSQLiteFile.get());
+
     // Text storage using a new file.
     test->setPersistentStorage(WEBKIT_COOKIE_PERSISTENT_STORAGE_TEXT);
     char** domains = test->getDomains();
@@ -545,6 +563,9 @@
     g_assert_nonnull(domains);
     g_assert_cmpint(g_strv_length(domains), ==, 0);
 
+    // Initialization of web view is deferred to ensure it's not required for
+    // setting persistent storage to work.
+    test->initializeWebView();
     test->loadURI(kServer->getURIForPath("/index.html").data());
     test->waitUntilLoadFinished();
     g_assert_true(test->m_cookiesChanged);
@@ -551,8 +572,8 @@
     domains = test->getDomains();
     g_assert_nonnull(domains);
     g_assert_cmpint(g_strv_length(domains), ==, 2);
+    g_assert_true(g_file_test(test->m_cookiesTextFile.get(), G_FILE_TEST_EXISTS));
 
-
     // SQLite storage using a new file.
     test->setPersistentStorage(WEBKIT_COOKIE_PERSISTENT_STORAGE_SQLITE);
     domains = test->getDomains();
@@ -565,6 +586,7 @@
     domains = test->getDomains();
     g_assert_nonnull(domains);
     g_assert_cmpint(g_strv_length(domains), ==, 2);
+    g_assert_true(g_file_test(test->m_cookiesSQLiteFile.get(), G_FILE_TEST_EXISTS));
 
     // Text storage using an existing file.
     test->setPersistentStorage(WEBKIT_COOKIE_PERSISTENT_STORAGE_TEXT);
@@ -698,7 +720,7 @@
     CookieManagerTest::add("WebKitCookieManager", "delete-cookie", testCookieManagerDeleteCookie);
     CookieManagerTest::add("WebKitCookieManager", "delete-cookies", testCookieManagerDeleteCookies);
     CookieManagerTest::add("WebKitCookieManager", "cookies-changed", testCookieManagerCookiesChanged);
-    CookieManagerTest::add("WebKitCookieManager", "persistent-storage", testCookieManagerPersistentStorage);
+    CookiePersistentStorageTest::add("WebKitCookieManager", "persistent-storage", testCookieManagerPersistentStorage);
     CookieManagerTest::add("WebKitCookieManager", "persistent-storage-delete-all", testCookieManagerPersistentStorageDeleteAll);
     CookieManagerTest::add("WebKitCookieManager", "ephemeral", testCookieManagerEphemeral);
 }
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to