mirror of
https://github.com/microsoft/playwright.git
synced 2025-06-26 21:40:17 +00:00
browser(firefox): ensure detachedFromTarget is always sent (#4505)
browser(firefox): ensure detachedFromTarget is always sent LinkedBrowser can throw when removing listeners in PageTarget.dispose, and that prevents BrowserHandler from sending Browser.detachedFromTarget. Using a try-catch seems good enough.
This commit is contained in:
parent
a0587949a5
commit
14a96ca21f
@ -1,2 +1,2 @@
|
||||
1212
|
||||
Changed: lushnikov@chromium.org Thu 19 Nov 2020 08:08:27 AM PST
|
||||
1213
|
||||
Changed: dgozman@gmail.com Fri Nov 20 07:01:37 PST 2020
|
||||
|
||||
@ -521,7 +521,14 @@ class PageTarget {
|
||||
this._browserContext.pages.delete(this);
|
||||
this._registry._browserToTarget.delete(this._linkedBrowser);
|
||||
this._registry._browserBrowsingContextToTarget.delete(this._linkedBrowser.browsingContext);
|
||||
helper.removeListeners(this._eventListeners);
|
||||
try {
|
||||
helper.removeListeners(this._eventListeners);
|
||||
} catch (e) {
|
||||
// In some cases, removing listeners from this._linkedBrowser fails
|
||||
// because it is already half-destroyed.
|
||||
if (e)
|
||||
dump(e.message + '\n' + e.stack + '\n');
|
||||
}
|
||||
this._registry.emit(TargetRegistry.Events.TargetDestroyed, this);
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user