Index: third_party/WebKit/Source/modules/indexeddb/IDBDatabase.cpp |
diff --git a/third_party/WebKit/Source/modules/indexeddb/IDBDatabase.cpp b/third_party/WebKit/Source/modules/indexeddb/IDBDatabase.cpp |
index 18316041be5357b4606c7b1ebe7561ea10ca7364..34e8e745423429aa4d27e37dc43786a5bf10b100 100644 |
--- a/third_party/WebKit/Source/modules/indexeddb/IDBDatabase.cpp |
+++ b/third_party/WebKit/Source/modules/indexeddb/IDBDatabase.cpp |
@@ -413,6 +413,9 @@ void IDBDatabase::closeConnection() { |
m_backend.reset(); |
} |
+ if (m_databaseCallbacks) |
+ m_databaseCallbacks->detachWebCallbacks(); |
+ |
if (m_contextStopped || !getExecutionContext()) |
return; |
@@ -515,6 +518,9 @@ void IDBDatabase::contextDestroyed() { |
m_backend->close(); |
m_backend.reset(); |
} |
+ |
+ if (m_databaseCallbacks) |
+ m_databaseCallbacks->detachWebCallbacks(); |
} |
const AtomicString& IDBDatabase::interfaceName() const { |