aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Dold <florian@dold.me>2021-02-16 15:07:23 +0100
committerFlorian Dold <florian@dold.me>2021-02-16 15:07:23 +0100
commit579c9da58b4bc0cacf713bb64c92d13045adb29b (patch)
treef015d774ed0a168d07273f7001dd2fe52ec4ceef
parentef579c91a96b1c84cee65dc43e0420b25575c0e4 (diff)
fix event ordering
-rw-r--r--packages/idb-bridge/src/bridge-idb.ts14
1 files changed, 6 insertions, 8 deletions
diff --git a/packages/idb-bridge/src/bridge-idb.ts b/packages/idb-bridge/src/bridge-idb.ts
index 21c335b36..2bfb01793 100644
--- a/packages/idb-bridge/src/bridge-idb.ts
+++ b/packages/idb-bridge/src/bridge-idb.ts
@@ -801,7 +801,7 @@ export class BridgeIDBFactory {
bubbles: false,
cancelable: false,
});
- event2.eventPath = [request];
+ event2.eventPath = [];
request.dispatchEvent(event2);
} else if (existingVersion < requestedVersion) {
// http://www.w3.org/TR/2015/REC-IndexedDB-20150108/#dfn-steps-for-running-a-versionchange-transaction
@@ -867,14 +867,14 @@ export class BridgeIDBFactory {
bubbles: false,
cancelable: false,
});
- event2.eventPath = [request];
+ event2.eventPath = [];
request.dispatchEvent(event2);
} else {
const event2 = new FakeEvent("success", {
bubbles: false,
cancelable: false,
});
- event2.eventPath = [request];
+ event2.eventPath = [];
request.dispatchEvent(event2);
}
@@ -1988,7 +1988,6 @@ export class BridgeIDBTransaction
// Should this directly remove from _requests?
for (const { request } of this._requests) {
- console.log("ready state:", request.readyState);
if (request.readyState !== "done") {
// This will cancel execution of this request's operation
request.readyState = "done";
@@ -2002,8 +2001,7 @@ export class BridgeIDBTransaction
bubbles: true,
cancelable: true,
});
- event.eventPath = [request, this, this._db];
- console.log("dispatching error event for request after abort");
+ event.eventPath = [this._db, this];
request.dispatchEvent(event);
}
}
@@ -2149,7 +2147,7 @@ export class BridgeIDBTransaction
});
try {
- event.eventPath = [request, this, this._db];
+ event.eventPath = [this._db, this];
request.dispatchEvent(event);
} catch (err) {
if (BridgeIDBFactory.enableTracing) {
@@ -2211,7 +2209,7 @@ export class BridgeIDBTransaction
console.log("dispatching 'complete' event on transaction");
}
const event = new FakeEvent("complete");
- event.eventPath = [this, this._db];
+ event.eventPath = [this._db, this];
this.dispatchEvent(event);
}