void OuterDocAccessible::Shutdown() { // XXX: sometimes outerdoc accessible is shutdown because of layout style // change however the presshell of underlying document isn't destroyed and // the document doesn't get pagehide events. Shutdown underlying document if // any to avoid hanging document accessible. #ifdef A11Y_LOG if (logging::IsEnabled(logging::eDocDestroy)) logging::OuterDocDestroy(this); #endif Accessible* childAcc = mChildren.SafeElementAt(0, nullptr); if (childAcc) { #ifdef A11Y_LOG if (logging::IsEnabled(logging::eDocDestroy)) { logging::DocDestroy("outerdoc's child document shutdown", childAcc->AsDoc()->DocumentNode()); } #endif childAcc->Shutdown(); } AccessibleWrap::Shutdown(); }