Fix custom scheme handling in wxWebView WebKit2 implementation

The custom scheme handling implementation had been inherited from the
original WebKit1 implementation.  It attempted to intercept navigation
and resource load requests and then inject the resources.  It seems that
this method doesn't work in WebKit2, but fortunately, there is native
support in WebKit2 for custom URI schemes through the
webkit_web_context_register_uri_scheme() API.

Also extend wxGtkError to allow creating it from an existing GError
object as a side-effect of these changes.

See https://github.com/wxWidgets/wxWidgets/pull/716
This commit is contained in:
Scott Talbert
2018-02-04 16:32:03 -05:00
committed by Vadim Zeitlin
parent aaf58e2b49
commit 1f2173b9be
3 changed files with 60 additions and 84 deletions

View File

@@ -21,6 +21,7 @@ class wxGtkError
{
public:
wxGtkError() { m_error = NULL; }
explicit wxGtkError(GError* error) { m_error = error; }
~wxGtkError() { if ( m_error ) g_error_free(m_error); }
GError** Out()
@@ -37,6 +38,11 @@ public:
return m_error != NULL;
}
operator GError*() const
{
return m_error;
}
wxString GetMessage() const
{
return wxString::FromUTF8(m_error->message);