WebKit Bugzilla
Attachment 359781 Details for
Bug 193688
: IndexedDB: leak WebIDBConnectionToServer in layout tests
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
bug-193688-20190122145947.patch (text/plain), 5.48 KB, created by
Sihui Liu
on 2019-01-22 14:59:48 PST
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Sihui Liu
Created:
2019-01-22 14:59:48 PST
Size:
5.48 KB
patch
obsolete
>Subversion Revision: 240190 >diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog >index c041dc2d1645f44974f0bd49b44573c0b63763d6..c25a87e8aeb4f11dc30c12a44869f41e4370d284 100644 >--- a/Source/WebCore/ChangeLog >+++ b/Source/WebCore/ChangeLog >@@ -1,3 +1,17 @@ >+2019-01-22 Sihui Liu <sihui_liu@apple.com> >+ >+ IndexedDB: leak WebIDBConnectionToServer in layout tests >+ https://bugs.webkit.org/show_bug.cgi?id=193688 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ Let IDBConnectionToServer keep a WeakPtr of IDBConnectionToServerDelegate. >+ >+ * Modules/indexeddb/client/IDBConnectionToServer.cpp: >+ (WebCore::IDBClient::IDBConnectionToServer::IDBConnectionToServer): >+ * Modules/indexeddb/client/IDBConnectionToServer.h: >+ * Modules/indexeddb/client/IDBConnectionToServerDelegate.h: >+ > 2019-01-18 Eric Carlson <eric.carlson@apple.com> > > Revert r238815, it broke WK1 video fullscreen on Mac >diff --git a/Source/WebKit/ChangeLog b/Source/WebKit/ChangeLog >index d771bef9cf6895523ecfdb0a2f9fb75cf7ea80e0..9667bb617c05474285dc21f9fc8d86a0c2739887 100644 >--- a/Source/WebKit/ChangeLog >+++ b/Source/WebKit/ChangeLog >@@ -1,3 +1,15 @@ >+2019-01-22 Sihui Liu <sihui_liu@apple.com> >+ >+ IndexedDB: leak WebIDBConnectionToServer in layout tests >+ https://bugs.webkit.org/show_bug.cgi?id=193688 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ * NetworkProcess/NetworkConnectionToWebProcess.cpp: >+ (WebKit::NetworkConnectionToWebProcess::didClose): >+ * WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.cpp: >+ (WebKit::WebIDBConnectionToServer::~WebIDBConnectionToServer): >+ > 2019-01-18 Daniel Bates <dabates@apple.com> > > Fix some build issues. >diff --git a/Source/WebCore/Modules/indexeddb/client/IDBConnectionToServer.cpp b/Source/WebCore/Modules/indexeddb/client/IDBConnectionToServer.cpp >index fb50f6944ceaf07bac105054a925e1b3a939a25d..271a6534aef5e47736d6ae12ee728a204c2227da 100644 >--- a/Source/WebCore/Modules/indexeddb/client/IDBConnectionToServer.cpp >+++ b/Source/WebCore/Modules/indexeddb/client/IDBConnectionToServer.cpp >@@ -48,7 +48,7 @@ Ref<IDBConnectionToServer> IDBConnectionToServer::create(IDBConnectionToServerDe > } > > IDBConnectionToServer::IDBConnectionToServer(IDBConnectionToServerDelegate& delegate) >- : m_delegate(delegate) >+ : m_delegate(makeWeakPtr(delegate)) > , m_proxy(std::make_unique<IDBConnectionProxy>(*this)) > { > } >diff --git a/Source/WebCore/Modules/indexeddb/client/IDBConnectionToServer.h b/Source/WebCore/Modules/indexeddb/client/IDBConnectionToServer.h >index 851c342c4053c2f12daba2dc1341a7eef051707b..9cb140d78b253aef3f11041d48f0aacb57e72907 100644 >--- a/Source/WebCore/Modules/indexeddb/client/IDBConnectionToServer.h >+++ b/Source/WebCore/Modules/indexeddb/client/IDBConnectionToServer.h >@@ -146,7 +146,7 @@ private: > typedef void (IDBConnectionToServer::*ResultFunction)(const IDBResultData&); > void callResultFunctionWithErrorLater(ResultFunction, const IDBResourceIdentifier& requestIdentifier); > >- Ref<IDBConnectionToServerDelegate> m_delegate; >+ WeakPtr<IDBConnectionToServerDelegate> m_delegate; > bool m_serverConnectionIsValid { true }; > > HashMap<uint64_t, WTF::Function<void (const Vector<String>&)>> m_getAllDatabaseNamesCallbacks; >diff --git a/Source/WebCore/Modules/indexeddb/client/IDBConnectionToServerDelegate.h b/Source/WebCore/Modules/indexeddb/client/IDBConnectionToServerDelegate.h >index f217926ae06913ada8c3083e61fb2acefd8341e1..2862cbd1dd087086cca2424c6b7846fa4fc3ca79 100644 >--- a/Source/WebCore/Modules/indexeddb/client/IDBConnectionToServerDelegate.h >+++ b/Source/WebCore/Modules/indexeddb/client/IDBConnectionToServerDelegate.h >@@ -27,6 +27,7 @@ > > #if ENABLE(INDEXED_DATABASE) > >+#include <wtf/WeakPtr.h> > #include <wtf/text/WTFString.h> > > namespace WebCore { >@@ -53,7 +54,7 @@ struct IDBKeyRangeData; > > namespace IDBClient { > >-class IDBConnectionToServerDelegate { >+class IDBConnectionToServerDelegate : public CanMakeWeakPtr<IDBConnectionToServerDelegate> { > public: > virtual ~IDBConnectionToServerDelegate() = default; > >diff --git a/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp b/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp >index 6413203565bf414307bbb83d54795249e32ec9b8..0dfa3a6c2c74d4fd7a86f7d177fe275b2dcc7566 100644 >--- a/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp >+++ b/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp >@@ -261,7 +261,7 @@ void NetworkConnectionToWebProcess::didClose(IPC::Connection& connection) > auto idbConnections = m_webIDBConnections; > for (auto& connection : idbConnections.values()) > connection->disconnectedFromWebProcess(); >- >+ > m_webIDBConnections.clear(); > #endif > >diff --git a/Source/WebKit/WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.cpp b/Source/WebKit/WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.cpp >index 42e73c8225da91f00b8f1f4e6bf93de074658d1f..362b819fd3a956dd236c00bb3ecba704456ba056 100644 >--- a/Source/WebKit/WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.cpp >+++ b/Source/WebKit/WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.cpp >@@ -70,7 +70,7 @@ WebIDBConnectionToServer::WebIDBConnectionToServer(PAL::SessionID sessionID) > > WebIDBConnectionToServer::~WebIDBConnectionToServer() > { >- if (m_isOpenInServer) >+ if (m_isOpenInServer && WebProcess::singleton().existingNetworkProcessConnection()) > send(Messages::NetworkConnectionToWebProcess::RemoveIDBConnectionToServer(m_identifier)); > } >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 193688
:
359781
|
359796
|
359814
|
359936
|
360872