void WebProcess::didClose(IPC::Connection&) { #ifndef NDEBUG m_inDidClose = true; // Close all the live pages. Vector<RefPtr<WebPage>> pages; copyValuesToVector(m_pageMap, pages); for (auto& page : pages) page->close(); pages.clear(); GCController::singleton().garbageCollectSoon(); FontCache::singleton().invalidate(); MemoryCache::singleton().setDisabled(true); #endif // FIXME(146657): This explicit media stop command should not be necessary PlatformMediaSessionManager::sharedManager().stopAllMediaPlaybackForProcess(); // The UI process closed this connection, shut down. stopRunLoop(); }
void ChildProcess::terminate() { m_connection->invalidate(); stopRunLoop(); }
void PluginProcess::didClose(IPC::Connection&) { // The UI process has crashed, just quit. // FIXME: If the plug-in is spinning in the main loop, we'll never get this message. stopRunLoop(); }