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 27ac511383a68a6b98a538db508c9a15e929c52a..c9dab967b630c120f540dc963b386f845fbad671 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::stop() { |
m_backend->close(); |
m_backend.reset(); |
} |
+ |
+ if (m_databaseCallbacks) |
+ m_databaseCallbacks->detachWebCallbacks(); |
} |
const AtomicString& IDBDatabase::interfaceName() const { |