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 fb1d7dce00a1117b51e0da271513027838cce203..e1be62e735c649701c472356d6cebedadc2d66f6 100644 |
--- a/third_party/WebKit/Source/modules/indexeddb/IDBDatabase.cpp |
+++ b/third_party/WebKit/Source/modules/indexeddb/IDBDatabase.cpp |
@@ -394,6 +394,9 @@ void IDBDatabase::closeConnection() { |
m_backend.reset(); |
} |
+ if (m_databaseCallbacks) |
+ m_databaseCallbacks->detachWebCallbacks(); |
+ |
if (m_contextStopped || !getExecutionContext()) |
return; |
@@ -526,6 +529,9 @@ void IDBDatabase::contextDestroyed() { |
m_backend->close(); |
m_backend.reset(); |
} |
+ |
+ if (m_databaseCallbacks) |
+ m_databaseCallbacks->detachWebCallbacks(); |
} |
const AtomicString& IDBDatabase::interfaceName() const { |