diff options
Diffstat (limited to 'dom/indexedDB')
-rw-r--r-- | dom/indexedDB/IDBFactory.cpp | 8 | ||||
-rw-r--r-- | dom/indexedDB/IDBFactory.h | 2 |
2 files changed, 8 insertions, 2 deletions
diff --git a/dom/indexedDB/IDBFactory.cpp b/dom/indexedDB/IDBFactory.cpp index 51d4c4df23..c0dc5aeab2 100644 --- a/dom/indexedDB/IDBFactory.cpp +++ b/dom/indexedDB/IDBFactory.cpp @@ -470,7 +470,13 @@ RefPtr<IDBOpenDBRequest> IDBFactory::DeleteDatabase( /* aDeleting */ true, aCallerType, aRv); } -already_AddRefed<Promise> IDBFactory::Databases(JSContext* const aCx) { +already_AddRefed<Promise> IDBFactory::Databases(JSContext* const aCx, + ErrorResult& aRv) { + if (NS_WARN_IF(!GetOwnerGlobal())) { + aRv.Throw(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR); + return nullptr; + } + RefPtr<Promise> promise = Promise::CreateInfallible(GetOwnerGlobal()); // Nothing can be done here if we have previously failed to create a diff --git a/dom/indexedDB/IDBFactory.h b/dom/indexedDB/IDBFactory.h index 7139b26f9c..d64d571a05 100644 --- a/dom/indexedDB/IDBFactory.h +++ b/dom/indexedDB/IDBFactory.h @@ -162,7 +162,7 @@ class IDBFactory final : public GlobalTeardownObserver, public nsWrapperCache { JSContext* aCx, const nsAString& aName, const IDBOpenDBOptions& aOptions, CallerType aCallerType, ErrorResult& aRv); - already_AddRefed<Promise> Databases(JSContext* aCx); + already_AddRefed<Promise> Databases(JSContext* aCx, ErrorResult& aRv); int16_t Cmp(JSContext* aCx, JS::Handle<JS::Value> aFirst, JS::Handle<JS::Value> aSecond, ErrorResult& aRv); |