Add wxEVT_WEBVIEW_WINDOW_CLOSE_REQUESTED

This event is usually triggered by javascript calling window.close()
This commit is contained in:
Tobias Taschner 2023-03-07 20:10:59 +01:00 committed by Tobias Taschner
parent 623591823d
commit 45d5de6a26
No known key found for this signature in database
GPG key ID: AE6ECD71294F87FD
7 changed files with 40 additions and 0 deletions

View file

@ -118,6 +118,7 @@ public:
void OnFullScreenChanged(wxWebViewEvent& evt);
void OnScriptMessage(wxWebViewEvent& evt);
void OnScriptResult(wxWebViewEvent& evt);
void OnWindowCloseRequested(wxWebViewEvent& evt);
void OnSetPage(wxCommandEvent& evt);
void OnViewSourceRequest(wxCommandEvent& evt);
void OnViewTextRequest(wxCommandEvent& evt);
@ -581,6 +582,7 @@ WebFrame::WebFrame(const wxString& url) :
Bind(wxEVT_WEBVIEW_FULLSCREEN_CHANGED, &WebFrame::OnFullScreenChanged, this, m_browser->GetId());
Bind(wxEVT_WEBVIEW_SCRIPT_MESSAGE_RECEIVED, &WebFrame::OnScriptMessage, this, m_browser->GetId());
Bind(wxEVT_WEBVIEW_SCRIPT_RESULT, &WebFrame::OnScriptResult, this, m_browser->GetId());
Bind(wxEVT_WEBVIEW_WINDOW_CLOSE_REQUESTED, &WebFrame::OnWindowCloseRequested, this, m_browser->GetId());
// Connect the menu events
Bind(wxEVT_MENU, &WebFrame::OnSetPage, this, setPage->GetId());
@ -981,6 +983,11 @@ void WebFrame::OnScriptResult(wxWebViewEvent& evt)
wxLogMessage("Async script result received; value = %s", evt.GetString());
}
void WebFrame::OnWindowCloseRequested(wxWebViewEvent& evt)
{
wxLogMessage("Window close requested");
}
void WebFrame::OnSetPage(wxCommandEvent& WXUNUSED(evt))
{
m_browser->SetPage