browser-base icon indicating copy to clipboard operation
browser-base copied to clipboard

The `BrowserView`s are not getting destroyed after closing the `BrowserWindow`

Open msynk opened this issue 3 years ago • 2 comments

Currently, the clear method of the ViewManager class is using the Object.values method on the views list which is a Map as follows:

image

since the Object.values does not work on a Map and returns an empty array, the views are not getting destroyed. (just try Object.values(new Map([['a', {a:1}], ['b', {b:2}]])) in the console)

for example, if you have multiple windows open and in one of them a video is playing, after closing that window the video keeps playing until the app is closed.

msynk avatar May 19 '22 10:05 msynk

I'm not sure why the Object.values method is used in this line, but the fix is simply to remove it and use the forEach method on the this.views itself, something like this:

this.views.forEach((x: View) => x.destroy())

if it's ok I can create a new PR for this change 😊

msynk avatar May 19 '22 10:05 msynk

there are some other usages of the Object.values the same way, that I think have the same problem.

msynk avatar May 19 '22 10:05 msynk