void WebProcessProxy::requestTermination() { if (!isValid()) return; ChildProcessProxy::terminate(); if (webConnection()) webConnection()->didClose(); disconnect(); }
void WebProcessProxy::requestTermination() { if (state() != State::Running) return; ChildProcessProxy::terminate(); if (webConnection()) webConnection()->didClose(); disconnect(); }
void WebProcessProxy::didClose(IPC::Connection*) { // Protect ourselves, as the call to disconnect() below may otherwise cause us // to be deleted before we can finish our work. Ref<WebProcessProxy> protect(*this); webConnection()->didClose(); Vector<RefPtr<WebPageProxy>> pages; copyValuesToVector(m_pageMap, pages); disconnect(); for (size_t i = 0, size = pages.size(); i < size; ++i) pages[i]->processDidCrash(); }