WebKit Bugzilla
Attachment 361424 Details for
Bug 194402
: REGRESSION(r239887): Crash under IDBConnectionToClient::didDeleteDatabase(WebCore::IDBResultData const&)
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
bug-194402-20190207113704.patch (text/plain), 3.17 KB, created by
Sihui Liu
on 2019-02-07 11:37:05 PST
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Sihui Liu
Created:
2019-02-07 11:37:05 PST
Size:
3.17 KB
patch
obsolete
>Subversion Revision: 241049 >diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog >index 20840c60dafa706d51455081fc61894f90fcfc79..c391bfb71c56377fd871bc9fc3b892745f1a6186 100644 >--- a/Source/WebCore/ChangeLog >+++ b/Source/WebCore/ChangeLog >@@ -1,3 +1,20 @@ >+2019-02-07 Sihui Liu <sihui_liu@apple.com> >+ >+ REGRESSION(r239887): Crash under IDBConnectionToClient::didDeleteDatabase(WebCore::IDBResultData const&) >+ https://bugs.webkit.org/show_bug.cgi?id=194402 >+ <rdar://problem/47858241> >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ r239887 removed a reference cycle of IDBConnectionToClient so that IDBConnectionToClient would no longer be >+ around forever. Therefore, ServerOpenRequest should keep a reference to IDBConnectionToClient to make sure it >+ is valid during access. >+ >+ * Modules/indexeddb/server/ServerOpenDBRequest.cpp: >+ (WebCore::IDBServer::ServerOpenDBRequest::maybeNotifyRequestBlocked): >+ (WebCore::IDBServer::ServerOpenDBRequest::notifyDidDeleteDatabase): >+ * Modules/indexeddb/server/ServerOpenDBRequest.h: >+ > 2019-02-06 John Wilander <wilander@apple.com> > > Forward Ad Click Attribution data from HTMLAnchorElement::handleClick() to WebKit::NavigationActionData >diff --git a/Source/WebCore/Modules/indexeddb/server/ServerOpenDBRequest.cpp b/Source/WebCore/Modules/indexeddb/server/ServerOpenDBRequest.cpp >index 403b4d4a05a17b82ac137d25b4b2fa2be0c0ec6c..f183c3147a7757c7f8ce5f1792fd55201f7bf3d6 100644 >--- a/Source/WebCore/Modules/indexeddb/server/ServerOpenDBRequest.cpp >+++ b/Source/WebCore/Modules/indexeddb/server/ServerOpenDBRequest.cpp >@@ -60,7 +60,7 @@ void ServerOpenDBRequest::maybeNotifyRequestBlocked(uint64_t currentVersion) > return; > > uint64_t requestedVersion = isOpenRequest() ? m_requestData.requestedVersion() : 0; >- m_connection.notifyOpenDBRequestBlocked(m_requestData.requestIdentifier(), currentVersion, requestedVersion); >+ m_connection->notifyOpenDBRequestBlocked(m_requestData.requestIdentifier(), currentVersion, requestedVersion); > > m_notifiedBlocked = true; > } >@@ -69,7 +69,7 @@ void ServerOpenDBRequest::notifyDidDeleteDatabase(const IDBDatabaseInfo& info) > { > ASSERT(isDeleteRequest()); > >- m_connection.didDeleteDatabase(IDBResultData::deleteDatabaseSuccess(m_requestData.requestIdentifier(), info)); >+ m_connection->didDeleteDatabase(IDBResultData::deleteDatabaseSuccess(m_requestData.requestIdentifier(), info)); > } > > void ServerOpenDBRequest::notifiedConnectionsOfVersionChange(HashSet<uint64_t>&& connectionIdentifiers) >diff --git a/Source/WebCore/Modules/indexeddb/server/ServerOpenDBRequest.h b/Source/WebCore/Modules/indexeddb/server/ServerOpenDBRequest.h >index 349c8f43b6a261a6666d570526c72f13bdb03038..ee66678b4fced3b582e31ae8b70281162d1d6650 100644 >--- a/Source/WebCore/Modules/indexeddb/server/ServerOpenDBRequest.h >+++ b/Source/WebCore/Modules/indexeddb/server/ServerOpenDBRequest.h >@@ -63,7 +63,7 @@ public: > private: > ServerOpenDBRequest(IDBConnectionToClient&, const IDBRequestData&); > >- IDBConnectionToClient& m_connection; >+ Ref<IDBConnectionToClient> m_connection; > IDBRequestData m_requestData; > > bool m_notifiedBlocked { false };
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 194402
: 361424