es simple
1 - se define una variable con ámbito (scope) global
my_window
2 - al llamar al popup se le asigna dicha instancia a
my_window
3 - se crea un timer, es decir un
setTimeout hacia la función
check_func()
si te fijas en la función check_func() se evalúa si la variable global
my_window es
false, de éste modo sabes si fue cerrada, porque fue destruida y la variable devuelve false