Title: [265727] trunk/Source/WebKit
Revision
265727
Author
[email protected]
Date
2020-08-14 20:58:34 -0700 (Fri, 14 Aug 2020)

Log Message

Revert r263551
https://bugs.webkit.org/show_bug.cgi?id=215530
<rdar://problem/66961066>

Patch by Alex Christensen <[email protected]> on 2020-08-14
Reviewed by Geoffrey Garen.

I was hoping to fix many developers' bugs, but it caused hangs and more hangs, so back to the status quo.
https://bugs.webkit.org/show_bug.cgi?id=203547 will fix this the right way in the hopefully-not-too-distant future.

* UIProcess/API/APIHTTPCookieStore.cpp:
(API::HTTPCookieStore::setCookies):
(API::HTTPCookieStore::registerForNewProcessPoolNotifications):
(API::HTTPCookieStore::flushDefaultUIProcessCookieStore):
* UIProcess/API/APIHTTPCookieStore.h:
* UIProcess/API/Cocoa/APIHTTPCookieStoreCocoa.mm:
(API::HTTPCookieStore::flushDefaultUIProcessCookieStore):

Modified Paths

Diff

Modified: trunk/Source/WebKit/ChangeLog (265726 => 265727)


--- trunk/Source/WebKit/ChangeLog	2020-08-15 03:15:01 UTC (rev 265726)
+++ trunk/Source/WebKit/ChangeLog	2020-08-15 03:58:34 UTC (rev 265727)
@@ -1,3 +1,22 @@
+2020-08-14  Alex Christensen  <[email protected]>
+
+        Revert r263551
+        https://bugs.webkit.org/show_bug.cgi?id=215530
+        <rdar://problem/66961066>
+
+        Reviewed by Geoffrey Garen.
+
+        I was hoping to fix many developers' bugs, but it caused hangs and more hangs, so back to the status quo.
+        https://bugs.webkit.org/show_bug.cgi?id=203547 will fix this the right way in the hopefully-not-too-distant future.
+
+        * UIProcess/API/APIHTTPCookieStore.cpp:
+        (API::HTTPCookieStore::setCookies):
+        (API::HTTPCookieStore::registerForNewProcessPoolNotifications):
+        (API::HTTPCookieStore::flushDefaultUIProcessCookieStore):
+        * UIProcess/API/APIHTTPCookieStore.h:
+        * UIProcess/API/Cocoa/APIHTTPCookieStoreCocoa.mm:
+        (API::HTTPCookieStore::flushDefaultUIProcessCookieStore):
+
 2020-08-14  Kate Cheney  <[email protected]>
 
         Convert remaining SharedMemory::Handle to SharedMemory::IPCHandle

Modified: trunk/Source/WebKit/UIProcess/API/APIHTTPCookieStore.cpp (265726 => 265727)


--- trunk/Source/WebKit/UIProcess/API/APIHTTPCookieStore.cpp	2020-08-15 03:15:01 UTC (rev 265726)
+++ trunk/Source/WebKit/UIProcess/API/APIHTTPCookieStore.cpp	2020-08-15 03:58:34 UTC (rev 265727)
@@ -115,22 +115,17 @@
 void HTTPCookieStore::setCookies(const Vector<WebCore::Cookie>& cookies, CompletionHandler<void()>&& completionHandler)
 {
     filterAppBoundCookies(cookies, [this, protectedThis = makeRef(*this), completionHandler = WTFMove(completionHandler)] (auto&& appBoundCookies) mutable {
-        bool needsFlush = false;
         auto* pool = m_owningDataStore->processPoolForCookieStorageOperations();
         if (!pool) {
             for (auto& cookie : appBoundCookies) {
                 // FIXME: pendingCookies used for defaultSession because session cookies cannot be propagated to Network Process with uiProcessCookieStorageIdentifier.
-                if (m_owningDataStore->sessionID() == PAL::SessionID::defaultSessionID() && !cookie.session) {
-                    needsFlush = true;
+                if (m_owningDataStore->sessionID() == PAL::SessionID::defaultSessionID() && !cookie.session)
                     setCookieInDefaultUIProcessCookieStore(cookie);
-                } else
+                else
                     m_owningDataStore->addPendingCookie(cookie);
             }
 
-            if (needsFlush)
-                flushDefaultUIProcessCookieStore(WTFMove(completionHandler));
-            else
-                RunLoop::main().dispatch(WTFMove(completionHandler));
+            RunLoop::main().dispatch(WTFMove(completionHandler));
             return;
         }
 
@@ -297,7 +292,7 @@
 
         // Now that an associated process pool exists, we need to flush the UI process cookie store
         // to make sure any changes are reflected within the new process pool.
-        flushDefaultUIProcessCookieStore([] { });
+        flushDefaultUIProcessCookieStore();
         newProcessPool.ensureNetworkProcess();
 
         if (m_cookieManagerProxyObserver) {
@@ -317,7 +312,7 @@
 }
 
 #if !PLATFORM(COCOA)
-void HTTPCookieStore::flushDefaultUIProcessCookieStore(CompletionHandler<void()>&& completionHandler) { completionHandler(); }
+void HTTPCookieStore::flushDefaultUIProcessCookieStore() { }
 Vector<WebCore::Cookie> HTTPCookieStore::getAllDefaultUIProcessCookieStoreCookies() { return { }; }
 void HTTPCookieStore::setCookieInDefaultUIProcessCookieStore(const WebCore::Cookie&) { }
 void HTTPCookieStore::deleteCookieFromDefaultUIProcessCookieStore(const WebCore::Cookie&) { }

Modified: trunk/Source/WebKit/UIProcess/API/APIHTTPCookieStore.h (265726 => 265727)


--- trunk/Source/WebKit/UIProcess/API/APIHTTPCookieStore.h	2020-08-15 03:15:01 UTC (rev 265726)
+++ trunk/Source/WebKit/UIProcess/API/APIHTTPCookieStore.h	2020-08-15 03:58:34 UTC (rev 265727)
@@ -85,7 +85,7 @@
     void registerForNewProcessPoolNotifications();
     void unregisterForNewProcessPoolNotifications();
 
-    void flushDefaultUIProcessCookieStore(CompletionHandler<void()>&&);
+    void flushDefaultUIProcessCookieStore();
     static Vector<WebCore::Cookie> getAllDefaultUIProcessCookieStoreCookies();
     static void setCookieInDefaultUIProcessCookieStore(const WebCore::Cookie&);
     static void deleteCookieFromDefaultUIProcessCookieStore(const WebCore::Cookie&);

Modified: trunk/Source/WebKit/UIProcess/API/Cocoa/APIHTTPCookieStoreCocoa.mm (265726 => 265727)


--- trunk/Source/WebKit/UIProcess/API/Cocoa/APIHTTPCookieStoreCocoa.mm	2020-08-15 03:15:01 UTC (rev 265726)
+++ trunk/Source/WebKit/UIProcess/API/Cocoa/APIHTTPCookieStoreCocoa.mm	2020-08-15 03:58:34 UTC (rev 265727)
@@ -36,19 +36,9 @@
 
 namespace API {
 
-void HTTPCookieStore::flushDefaultUIProcessCookieStore(CompletionHandler<void()>&& completionHandler)
+void HTTPCookieStore::flushDefaultUIProcessCookieStore()
 {
-#if HAVE(FOUNDATION_WITH_SAVE_COOKIES_WITH_COMPLETION_HANDLER)
-    ASSERT(RunLoop::isMain());
-    m_owningDataStore->dispatchOnQueue([completionHandler = WTFMove(completionHandler)] () mutable {
-        [[NSHTTPCookieStorage sharedHTTPCookieStorage] _saveCookies:makeBlockPtr([completionHandler = WTFMove(completionHandler)]() mutable {
-            RunLoop::main().dispatch(WTFMove(completionHandler));
-        }).get()];
-    });
-#else
     [[NSHTTPCookieStorage sharedHTTPCookieStorage] _saveCookies];
-    RunLoop::main().dispatch(WTFMove(completionHandler));
-#endif
 }
 
 Vector<WebCore::Cookie> HTTPCookieStore::getAllDefaultUIProcessCookieStoreCookies()
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to