… e o Firefox não!
Hoje conversando com Rafael Ponte sobre um problema que ele estava enfrentando (em um sistema legado que ele dá manutenção) descobrimos que o IE esvazia todas as referências de um frame quando uma janela popup é fechada. Que é o correto, e o firefox não esvazia.
Isso para mim se caracteriza como um Memory Leak.
A situação era o seguinte:
- Existe uma tela “A” que contém uma table onde são adicionadas os itens;
- Existe um Popup que funciona como um filtro dos itens e devolve o item selecionado para a tela A anterior;
O problema específico era que a chamada window.opener.addMedico(json) no popup acrescentava um objeto (que chamo de json aqui) a uma variável global (um array) que funciona como cache na tela “A”. No IE quando o popup era fechado a referência desaparecia do array, no Firefox não.
Esse deveria ser o comportamento correto, imagina que eu fecho uma janela e as referências não são esvaziadas? Memory Leak quer queira ou não. Ter que esvaziar todas as referências manualmente se caracteriza sim como Memory Leak.
Desconsideram o uso de Popups em pleno ano da graça do nosso senhor de 2008, não comentem nada para não entristecer ainda mais nosso amigo Rafael. Agora que o pessoal vai começar a sofrer com legado WEB com tantos “escondidos.jsp“.
Categories: JavaScript ~ ~ Trackback


January 7th, 2008 at 8:09 am
Ando num estresse emocional muito forte por causa desse sistema que estou dando manutenção, ninguém merece este castigo!
O pior é que são tantas coisas deprimentes nesse sistema que tem outros desenvolvedores que enchem a boca para dizer “Nós usamos Spring no projeto! O projeto é porreta de danado!”, como se Spring implicasse em um sistema decente, putz.
Melhora-lo? Bem, do que adianta banhar-se com água limpa, potável e cristalina quando se está dentro de uma fossa de merda?
É mais complicado tentar seguir um caminho melhor à juntar-se ao legado maldito!
February 4th, 2008 at 3:46 am
[...] http://www.milfont.org/tech/2008/01/07/quando-o-ie-trabalha-corretamente/ [...]