Root components register a listener on env.qweb's "update" event (component.ts:constructor).
This means that every legacy ComponentWrapper does this and it proved to cause memory leaks.
This fix is two fold:
- the owlCompatibility code unregisters the handler on destroy, so that the production run is not impacted by the leak.
- the legacy test infrastructure also forces the unregistration. This is necessary because even though components are destroyed, the qweb singleton in legacy tests holds on to destroyed components' reference.
closesodoo/odoo#77285
X-original-commit: 89034cf597a418bfd35fdd71324415cdbf046a16
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>