Add RemoveScriptMessage handler and return bool

This commit is contained in:
Tobias Taschner
2021-02-26 16:50:48 +01:00
parent c3d0d7d000
commit 04d22cc9f6
3 changed files with 12 additions and 3 deletions

View File

@@ -89,7 +89,8 @@ public:
virtual bool IsEditable() const wxOVERRIDE; virtual bool IsEditable() const wxOVERRIDE;
bool RunScript(const wxString& javascript, wxString* output = NULL) const wxOVERRIDE; bool RunScript(const wxString& javascript, wxString* output = NULL) const wxOVERRIDE;
virtual void AddScriptMessageHandler(const wxString& name) wxOVERRIDE; virtual bool AddScriptMessageHandler(const wxString& name) wxOVERRIDE;
virtual bool RemoveScriptMessageHandler(const wxString& name) wxOVERRIDE;
//Virtual Filesystem Support //Virtual Filesystem Support
virtual void RegisterHandler(wxSharedPtr<wxWebViewHandler> handler) wxOVERRIDE; virtual void RegisterHandler(wxSharedPtr<wxWebViewHandler> handler) wxOVERRIDE;

View File

@@ -182,7 +182,8 @@ public:
virtual void RegisterHandler(wxSharedPtr<wxWebViewHandler> handler) = 0; virtual void RegisterHandler(wxSharedPtr<wxWebViewHandler> handler) = 0;
virtual void Reload(wxWebViewReloadFlags flags = wxWEBVIEW_RELOAD_DEFAULT) = 0; virtual void Reload(wxWebViewReloadFlags flags = wxWEBVIEW_RELOAD_DEFAULT) = 0;
virtual bool RunScript(const wxString& javascript, wxString* output = NULL) const = 0; virtual bool RunScript(const wxString& javascript, wxString* output = NULL) const = 0;
virtual void AddScriptMessageHandler(const wxString& WXUNUSED(name)) { } virtual bool AddScriptMessageHandler(const wxString& WXUNUSED(name)) { return false; }
virtual bool RemoveScriptMessageHandler(const wxString& WXUNUSED(name)) { return false; }
virtual void SetEditable(bool enable = true) = 0; virtual void SetEditable(bool enable = true) = 0;
void SetPage(const wxString& html, const wxString& baseUrl) void SetPage(const wxString& html, const wxString& baseUrl)
{ {

View File

@@ -394,10 +394,17 @@ bool wxWebViewWebKit::RunScript(const wxString& javascript, wxString* output) co
return true; return true;
} }
void wxWebViewWebKit::AddScriptMessageHandler(const wxString& name) bool wxWebViewWebKit::AddScriptMessageHandler(const wxString& name)
{ {
[m_webView.configuration.userContentController addScriptMessageHandler: [m_webView.configuration.userContentController addScriptMessageHandler:
[[WebViewScriptMessageHandler alloc] initWithWxWindow:this] name:wxCFStringRef(name).AsNSString()]; [[WebViewScriptMessageHandler alloc] initWithWxWindow:this] name:wxCFStringRef(name).AsNSString()];
return true;
}
bool wxWebViewWebKit::RemoveScriptMessageHandler(const wxString& name)
{
[m_webView.configuration.userContentController removeScriptMessageHandlerForName:wxCFStringRef(name).AsNSString()];
return true;
} }
void wxWebViewWebKit::LoadURL(const wxString& url) void wxWebViewWebKit::LoadURL(const wxString& url)