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