Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(435)

Unified Diff: third_party/WebKit/Source/modules/indexeddb/IDBRequest.h

Issue 2370643004: Port messages sent by WebIDBFactoryImpl to Mojo. (Closed)
Patch Set: Address last nits and fix leaks in unit tests. Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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 cb2f41461b5532767e0e04b586dcd2e2b0aaf42f..93d2e287c354a7c5a4f9e305a636dd6b84fd708c 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 contextDestroyed() final;
+ void contextDestroyed() override;
// EventTarget
const AtomicString& interfaceName() const override;
@@ -185,6 +189,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

Powered by Google App Engine
This is Rietveld 408576698