From 26aa9c492e9268d32fb7cfcaee109f099bdd7819 Mon Sep 17 00:00:00 2001 From: Tobias Taschner Date: Mon, 20 Apr 2020 23:20:23 +0200 Subject: [PATCH] Implement wxWebViewEvent::GetNavigationAction() for Edge Set the user initiated flag from the SDK --- src/msw/webview_edge.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/msw/webview_edge.cpp b/src/msw/webview_edge.cpp index 416b3627a9..4d93570dc6 100644 --- a/src/msw/webview_edge.cpp +++ b/src/msw/webview_edge.cpp @@ -252,7 +252,13 @@ HRESULT wxWebViewEdgeImpl::OnNewWindowRequested(ICoreWebView2* WXUNUSED(sender), evtURL = wxString(uri); CoTaskMemFree(uri); } - wxWebViewEvent evt(wxEVT_WEBVIEW_NEWWINDOW, m_ctrl->GetId(), evtURL, wxString()); + wxWebViewNavigationActionFlags navFlags = wxWEBVIEW_NAV_ACTION_OTHER; + + BOOL isUserInitiated; + if (SUCCEEDED(args->get_IsUserInitiated(&isUserInitiated)) && isUserInitiated) + navFlags = wxWEBVIEW_NAV_ACTION_USER; + + wxWebViewEvent evt(wxEVT_WEBVIEW_NEWWINDOW, m_ctrl->GetId(), evtURL, wxString(), navFlags); m_ctrl->HandleWindowEvent(evt); args->put_Handled(true); return S_OK;