Index: third_party/WebKit/Source/modules/indexeddb/IDBRequest.h |
diff --git a/third_party/WebKit/Source/modules/indexeddb/IDBRequest.h b/third_party/WebKit/Source/modules/indexeddb/IDBRequest.h |
index be4d83a82208654cafbcf0689355861bb53be7b3..67c1e0d14e0b5d3af5df5e4dc3c8cdfd5ecc641f 100644 |
--- a/third_party/WebKit/Source/modules/indexeddb/IDBRequest.h |
+++ b/third_party/WebKit/Source/modules/indexeddb/IDBRequest.h |
@@ -85,6 +85,10 @@ class MODULES_EXPORT IDBRequest : public EventTargetWithInlineData, |
const String& readyState() const; |
+ // Returns a new WebIDBCallbacks for this request. Must only be called once. |
+ std::unique_ptr<WebIDBCallbacks> createWebCallbacks(); |
+ void webCallbacksDestroyed(); |
+ |
DEFINE_ATTRIBUTE_EVENT_LISTENER(success); |
DEFINE_ATTRIBUTE_EVENT_LISTENER(error); |
@@ -123,7 +127,7 @@ class MODULES_EXPORT IDBRequest : public EventTargetWithInlineData, |
bool hasPendingActivity() const final; |
// ActiveDOMObject |
- void stop() final; |
+ void stop() override; |
// EventTarget |
const AtomicString& interfaceName() const override; |
@@ -183,6 +187,10 @@ class MODULES_EXPORT IDBRequest : public EventTargetWithInlineData, |
bool m_didFireUpgradeNeededEvent = false; |
bool m_preventPropagation = false; |
bool m_resultDirty = true; |
+ |
+ // Pointer back to the WebIDBCallbacks that holds a persistent reference to |
+ // this object. |
+ WebIDBCallbacks* m_webCallbacks = nullptr; |
}; |
} // namespace blink |