HomePhabricator

Follow-up 5c38995bd94f: don't destroy toolbar twice

Authored by Catrope.

Description

Follow-up 5c38995bd94f: don't destroy toolbar twice

The toolbar.destroy() call that was added in 5c38995bd94f was
needed to destroy the dummy toolbar when tearing down VE
before a surface had been intialized. But when tearing down
VE after the surface had been initialized (e.g. exiting using
the Read tab), we would do:

  • setTimeout in tearDownToolbar()
    • Set toolbar height to 0 and wait for transitionend
      • toolbar.destroy() once transition complete
  • toolbar.destroy() in cancel()

This meant that we'd listen for a transitionend event
on an unattached element (because once the setTimeout runs,
the toolbar has already been destroyed by the second call),
which of course never fires, so we'd never resolve the
tearDownToolbar deferred and never finish tearing down VE.

Bug: T98388
Change-Id: I504f0cb0bf13643773fc98cb18b7b380cccb2f88