Title: [241826] trunk/Source/WebKit
Revision
241826
Author
achristen...@apple.com
Date
2019-02-20 11:43:44 -0800 (Wed, 20 Feb 2019)

Log Message

Move API::HTTPCookieStore ownership from API::WebsiteDataStore to WebKit::WebsiteDataStore
https://bugs.webkit.org/show_bug.cgi?id=194842

Reviewed by Geoff Garen.

We need a way to get from WebKit::WebsiteDataStore to API::HTTPCookieStore.  It can't be done before this.
This made an existing reference cycle easier to see, and we should fix it in a followup patch.

* UIProcess/API/APIWebsiteDataStore.cpp:
(API::WebsiteDataStore::httpCookieStore):
* UIProcess/API/APIWebsiteDataStore.h:
* UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::cookieStore):
* UIProcess/WebsiteData/WebsiteDataStore.h:

Modified Paths

Diff

Modified: trunk/Source/WebKit/ChangeLog (241825 => 241826)


--- trunk/Source/WebKit/ChangeLog	2019-02-20 19:28:28 UTC (rev 241825)
+++ trunk/Source/WebKit/ChangeLog	2019-02-20 19:43:44 UTC (rev 241826)
@@ -1,3 +1,20 @@
+2019-02-20  Alex Christensen  <achristen...@webkit.org>
+
+        Move API::HTTPCookieStore ownership from API::WebsiteDataStore to WebKit::WebsiteDataStore
+        https://bugs.webkit.org/show_bug.cgi?id=194842
+
+        Reviewed by Geoff Garen.
+
+        We need a way to get from WebKit::WebsiteDataStore to API::HTTPCookieStore.  It can't be done before this.
+        This made an existing reference cycle easier to see, and we should fix it in a followup patch.
+
+        * UIProcess/API/APIWebsiteDataStore.cpp:
+        (API::WebsiteDataStore::httpCookieStore):
+        * UIProcess/API/APIWebsiteDataStore.h:
+        * UIProcess/WebsiteData/WebsiteDataStore.cpp:
+        (WebKit::WebsiteDataStore::cookieStore):
+        * UIProcess/WebsiteData/WebsiteDataStore.h:
+
 2019-02-20  Chris Dumez  <cdu...@apple.com>
 
         Regression(PSON) Crash under WebKit::WebPageProxy::decidePolicyForNavigationActionSync

Modified: trunk/Source/WebKit/UIProcess/API/APIHTTPCookieStore.cpp (241825 => 241826)


--- trunk/Source/WebKit/UIProcess/API/APIHTTPCookieStore.cpp	2019-02-20 19:28:28 UTC (rev 241825)
+++ trunk/Source/WebKit/UIProcess/API/APIHTTPCookieStore.cpp	2019-02-20 19:43:44 UTC (rev 241826)
@@ -37,8 +37,8 @@
 
 namespace API {
 
-HTTPCookieStore::HTTPCookieStore(WebsiteDataStore& websiteDataStore)
-    : m_owningDataStore(websiteDataStore.websiteDataStore())
+HTTPCookieStore::HTTPCookieStore(WebKit::WebsiteDataStore& websiteDataStore)
+    : m_owningDataStore(websiteDataStore)
 {
     if (!m_owningDataStore->processPoolForCookieStorageOperations())
         registerForNewProcessPoolNotifications();

Modified: trunk/Source/WebKit/UIProcess/API/APIHTTPCookieStore.h (241825 => 241826)


--- trunk/Source/WebKit/UIProcess/API/APIHTTPCookieStore.h	2019-02-20 19:28:28 UTC (rev 241825)
+++ trunk/Source/WebKit/UIProcess/API/APIHTTPCookieStore.h	2019-02-20 19:43:44 UTC (rev 241826)
@@ -51,7 +51,7 @@
 
 class HTTPCookieStore final : public ObjectImpl<Object::Type::HTTPCookieStore> {
 public:
-    static Ref<HTTPCookieStore> create(WebsiteDataStore& websiteDataStore)
+    static Ref<HTTPCookieStore> create(WebKit::WebsiteDataStore& websiteDataStore)
     {
         return adoptRef(*new HTTPCookieStore(websiteDataStore));
     }
@@ -75,7 +75,7 @@
     void cookieManagerDestroyed();
 
 private:
-    HTTPCookieStore(WebsiteDataStore&);
+    HTTPCookieStore(WebKit::WebsiteDataStore&);
 
     void registerForNewProcessPoolNotifications();
     void unregisterForNewProcessPoolNotifications();
@@ -87,6 +87,7 @@
     void startObservingChangesToDefaultUIProcessCookieStore(Function<void()>&&);
     void stopObservingChangesToDefaultUIProcessCookieStore();
     
+    // FIXME: This is a reference cycle.
     Ref<WebKit::WebsiteDataStore> m_owningDataStore;
     HashSet<Observer*> m_observers;
 

Modified: trunk/Source/WebKit/UIProcess/API/APIWebsiteDataStore.cpp (241825 => 241826)


--- trunk/Source/WebKit/UIProcess/API/APIWebsiteDataStore.cpp	2019-02-20 19:28:28 UTC (rev 241825)
+++ trunk/Source/WebKit/UIProcess/API/APIWebsiteDataStore.cpp	2019-02-20 19:43:44 UTC (rev 241826)
@@ -85,10 +85,7 @@
 
 HTTPCookieStore& WebsiteDataStore::httpCookieStore()
 {
-    if (!m_apiHTTPCookieStore)
-        m_apiHTTPCookieStore = HTTPCookieStore::create(*this);
-
-    return *m_apiHTTPCookieStore;
+    return m_websiteDataStore->cookieStore();
 }
 
 bool WebsiteDataStore::isPersistent()

Modified: trunk/Source/WebKit/UIProcess/API/APIWebsiteDataStore.h (241825 => 241826)


--- trunk/Source/WebKit/UIProcess/API/APIWebsiteDataStore.h	2019-02-20 19:28:28 UTC (rev 241825)
+++ trunk/Source/WebKit/UIProcess/API/APIWebsiteDataStore.h	2019-02-20 19:43:44 UTC (rev 241826)
@@ -91,7 +91,6 @@
     static WTF::String websiteDataDirectoryFileSystemRepresentation(const WTF::String& directoryName);
 
     Ref<WebKit::WebsiteDataStore> m_websiteDataStore;
-    RefPtr<HTTPCookieStore> m_apiHTTPCookieStore;
 };
 
 }

Modified: trunk/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp (241825 => 241826)


--- trunk/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp	2019-02-20 19:28:28 UTC (rev 241825)
+++ trunk/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp	2019-02-20 19:43:44 UTC (rev 241826)
@@ -2097,6 +2097,14 @@
 }
 #endif
 
+API::HTTPCookieStore& WebsiteDataStore::cookieStore()
+{
+    if (!m_cookieStore)
+        m_cookieStore = API::HTTPCookieStore::create(*this);
+
+    return *m_cookieStore;
+}
+
 void WebsiteDataStore::didCreateNetworkProcess()
 {
 }

Modified: trunk/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.h (241825 => 241826)


--- trunk/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.h	2019-02-20 19:28:28 UTC (rev 241825)
+++ trunk/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.h	2019-02-20 19:43:44 UTC (rev 241826)
@@ -56,6 +56,10 @@
 #include <WebKitAdditions/WebsiteDataStoreAdditions.h>
 #endif
 
+namespace API {
+class HTTPCookieStore;
+}
+
 namespace WebCore {
 class SecurityOrigin;
 }
@@ -229,6 +233,8 @@
     WebsiteDataStoreClient& client() { return m_client.get(); }
     void setClient(UniqueRef<WebsiteDataStoreClient>&& client) { m_client = WTFMove(client); }
 
+    API::HTTPCookieStore& cookieStore();
+
 #if HAVE(LOAD_OPTIMIZER)
 WEBSITEDATASTORE_LOADOPTIMIZER_ADDITIONS_1
 #endif
@@ -309,6 +315,8 @@
 #endif
 
     UniqueRef<WebsiteDataStoreClient> m_client;
+
+    RefPtr<API::HTTPCookieStore> m_cookieStore;
 };
 
 }
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to