void PageClientImpl::processDidCrash() { // Check if loading was ongoing, when web process crashed. double loadProgress = ewk_view_load_progress_get(m_viewWidget); if (loadProgress >= 0 && loadProgress < 1) ewk_view_load_progress_changed(m_viewWidget, 1); ewk_view_webprocess_crashed(m_viewWidget); }
void PageClientBase::processDidCrash() { // Check if loading was ongoing, when web process crashed. double loadProgress = ewk_view_load_progress_get(m_viewImpl->view()); if (loadProgress >= 0 && loadProgress < 1) { loadProgress = 1; m_viewImpl->smartCallback<LoadProgress>().call(&loadProgress); } bool handled = false; m_viewImpl->smartCallback<WebProcessCrashed>().call(&handled); if (!handled) { CString url = m_viewImpl->page()->urlAtProcessExit().utf8(); WARN("WARNING: The web process experienced a crash on '%s'.\n", url.data()); // Display an error page ewk_view_html_string_load(m_viewImpl->view(), "The web process has crashed.", 0, url.data()); } }