// Free all xpcom related resources before calling the xre shutdown call. // Must be called on the metro main thread. Currently called from appshell. void MetroApp::ShutdownXPCOM() { LogThread(); mozilla::widget::StopAudioSession(); sCoreApp->remove_Suspending(mSuspendEvent); sCoreApp->remove_Resuming(mResumeEvent); MetroApp::GetView()->ShutdownXPCOM(); // Shut down xpcom XRE_metroShutdown(); }
// Free all xpcom related resources before calling the xre shutdown call. // Must be called on the metro main thread. Currently called from appshell. void MetroApp::ShutdownXPCOM() { LogThread(); if (sCoreApp) { sCoreApp->remove_Suspending(mSuspendEvent); sCoreApp->remove_Resuming(mResumeEvent); } if (sFrameworkView) { sFrameworkView->ShutdownXPCOM(); } // Shut down xpcom XRE_metroShutdown(); // Unhook this thread from the profiler profiler_unregister_thread(); }