Esempio n. 1
0
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();
}
Esempio n. 2
0
void ChildProcess::terminate()
{
    m_connection->invalidate();

    stopRunLoop();
}
Esempio n. 3
0
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();
}