[driver.js] premature close of mediator bridge window
Closed this issue · 0 comments
t2ym commented
[driver.js] premature close of mediator bridge window
Root Cause
After driver.js receives mediatorPort
from the mediator bridge window, the mediator bridge window is unexpectedly closed when the timeout period has passed
Fix
The timeout handler must skip closing the mediator bridge window if a valid mediatorPort
has already been received from the window
diff --git a/driver.js b/driver.js
index 7893e70..8c56f42 100644
--- a/driver.js
+++ b/driver.js
@@ -306,6 +306,10 @@ try {
}),
new Promise((resolve, reject) => {
setTimeout(() => {
+ if (this.mediatorPort) {
+ resolve(this.mediatorPort); // the resolved value is not used
+ return;
+ }
//window.removeEventListener('message', this._onTransferPortMessage);
if (this.mediatorWindow) {
this.mediatorWindow.close();